历史上的今天
返回首页

历史上的今天

今天是:2024年12月22日(星期日)

2020年12月22日 | s5pv210-SD卡启动详解

2020-12-22 来源:eefocus

SD卡启动详解:
Makefile为总纲;
start.s为主线;

在start.s
第一步:关看门狗;
第二步:设置SVC栈;
第三步:开icache;
第四步:初始化DDR(外部执行程序);
第五步:重定位,从SD卡第45扇区内容到DDR的0x23e00000(外部执行程序);
第六步: 死循环(不能丢);


SD卡启动流程(bin文件小于16KB时和大于16KB时)
(1)启动的第一种情况是整个镜像大小小于16KB。这时候相当于我的整个镜像作为BL1被steppingstone直接硬件加载执行了而已。


(2)启动的第二种情况就是整个镜像大小大于16KB。(只要大于16KB,哪怕是17KB,或者是700MB都是一样的)这时候就要把整个镜像分为2部分:第一部分16KB大小,第二部分是剩下的大小。然后第一部分作为BL1启动,负责去初始化DRAM并且将第二部分加载到DRAM中去执行(uboot就是这样做的)


为什么是第45扇区?
BL1在SD卡中必须从Block1开始(Block0不能用,这个是三星官方规定的),长度为16KB内,我们就定为16KB(也就是32个block);BL1理论上可以从33扇区开始,但是实际上为了安全都会留一些空扇区作为隔离,譬如可以从45扇区开始,长度由自己定


为什么是0x23E00000?
因为在uboot中经常使用0x23E00000,所以为了方便,参考uboot

BL1:
因为重点在第五步中,所以要写一个c程序(命名自定义-sd_relocate.c)
1.start.s
2.makefile
3.link.lds
4.sdram_init.s(.s是汇编,初始化DDR)
5.write2sd(在BL1和BL2文件夹同目录,linux下烧录)
6.mkv210_image.c (主要作用就是由usb启动时使用的led.bin制作得到由sd卡启动的镜像210.bin)
7.sd_relocate.c
因为执行BL2需要跳转到0x23E00000


BL2:
start.s 为主线
makefile为总纲
任务为:LED闪烁(已写好相关程序)
1.led.c
2.link.lds
3.makefile
4.start.s


总结:
1.Makefile是编译
2.link.lds链接
3.start.s是具体执行的程序、
sdram_init.s
led.c
mkv210_image.c
5.write2sd是linux下烧录的需求


推荐阅读

史海拾趣

DDK公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。DDK公司深知这一点,因此始终将产品质量放在首位。公司建立了严格的质量管理体系,从原材料采购到产品生产、检测的每一个环节都严格把控,确保每一件产品都符合高标准、严要求。这种对品质的执着追求,让DDK公司的产品在市场上赢得了良好的声誉,赢得了消费者的信任和忠诚。

Allied Electronic & Semiconductor Technology Inc公司的发展小趣事

随着国内市场的饱和,AE&ST公司开始将目光投向全球。公司积极寻找国际合作伙伴,拓展海外市场。在一次国际电子展上,AE&ST与一家欧洲知名电子公司达成了战略合作协议。双方共同研发了一款针对欧洲市场的特色产品,并成功打开了欧洲市场的大门。此后,AE&ST公司不断深化与国际伙伴的合作,逐步实现了全球化布局。

兵字(BingZi)公司的发展小趣事

为了进一步提升公司的管理水平和市场竞争力,兵字公司决定进行企业规范化和市场化运作。公司建立了完善的管理体系和运营机制,优化了业务流程和组织结构,提高了工作效率和响应速度。同时,兵字公司还积极引进外部投资和战略合作伙伴,为公司的发展注入了新的活力和动力。

Excelight Communications Inc公司的发展小趣事

随着5G技术的兴起,光通信行业迎来了新的发展机遇。Excelight紧跟时代步伐,投入大量资源进行技术研发。在李明和团队的共同努力下,公司成功研发出了一款具有自主知识产权的高速光通信芯片,这一成果不仅填补了国内空白,还使Excelight在国际市场上占据了有利地位。

技术突破后,Excelight的产品性能得到了显著提升,同时也带动了整个产业链的升级。公司开始与更多的国内外企业建立合作关系,共同推动光通信行业的发展。

Heimann Optoelectronics Gmbh公司的发展小趣事

进入2015年后,随着物联网、5G等新兴技术的兴起,光电子器件的市场需求呈现出爆发式增长。Hei Inc Optoelectronic Division敏锐地捕捉到了这一市场趋势,及时调整产品策略,加大了对低功耗、小型化光电子模块的研发力度。公司推出的新一代光电子模块不仅满足了市场对于高效能、低能耗的需求,还凭借其优异的性价比迅速占领了市场份额。这一举措不仅推动了公司的快速增长,还进一步巩固了其在光电子领域的市场地位。

CML Microcircuits公司的发展小趣事

为了进一步扩大市场份额,CML Microcircuits公司开始积极拓展全球市场。通过与当地代理商和分销商建立合作关系,CML的产品逐渐进入了全球各地的电子市场。同时,公司还设立了多个海外研发中心和销售中心,以便更好地服务全球客户。这些举措不仅提升了CML的品牌知名度,也为其带来了更多的商业机会。

问答坊 | AI 解惑

基于单片机控制的并联型有源电力滤波器

这是我的毕业设计 希望大家帮帮我 我现在已经焦头烂额了 网上都是基于DSP控制的滤波器 就是没有基于单片机控制的 真的郁闷 我的邮箱是westlife009@tom.com 我的QQ是232125740 欢迎大家一起交流 [ 本帖最后由 westlifeljb 于 2008-5-15 17:15 编 ...…

查看全部问答>

新手学堂:嵌入式开发都需要学习什么

这是一个初学者常问的问题,也是初学者问嵌入式该如何入门的根源。我感觉有两个方面,偏硬和偏软.我不认为嵌入式开发软件占绝对比重,相反,软硬件都懂,才是嵌入式高手所应该追求的,也是高手的必由之路。   硬件道路:   第一步: pcb设 ...…

查看全部问答>

热敏电阻如何做温度补偿?

通常要使用到热敏电阻的单片机系统中,热敏电阻都会与一个固定电阻串联,那么这个固定电阻是如何确定阻值的呢?请大家讨论讨论。…

查看全部问答>

AD和DA部分芯片合集(资料和程序)

AD和DA部分芯片合集(资料和程序),分享下…

查看全部问答>

关于vec调试。在线等

关于vec调试中,怎么调才能让频率正确(具体的参数) 例如:720*572(13.5hz)转换成vga 800*600(75hz)。大小可以跳出,但75hz调不出来 请教大虾指导。…

查看全部问答>

要做PCI的驱动,需要看DMA相关的东西吗?

没做过,对硬件不是很动,现在看接口部分,有些驱动程序里还有DMA的处理,不知道要不要看?…

查看全部问答>

分享湿度计的读写时序和编程

湿度计的读写时序包括读时序和写时序,写时序如下:向 SH T21写8 个数据位 ,然后在第9 个时钟周期 ,读取 SHT21 的应答位 ,应位为 0 ,表示SHT21正确接收到了一个字节 ,也就是 8 个写时序加 1 个读时序。SH T21 读写数据的规则是:DA TA在 SCK时钟的下 ...…

查看全部问答>

*****香版主:IAR422+st-linkII在中断内调试出问题

用IAR442,IAR5.X还未支持ST-LINK II,  ST-LINK II也不支高密度的FLASH,IAR422下用st-link II 在中断内断点调试,老是会跳不出中断!何解?打算以后用IAR5.X+WIGGLER+HJTAG.EXE 不知功能如何?有没有ST&nb ...…

查看全部问答>

LED照明智能控制解决方案

能量效率更高、功能更强的新型LED固态发光(SSL)产品的发展很快,被认为是照明市场上的主要革命性进步。在许多垂直应用中,如信号灯、汽车、LCD TV背光,LED已经毫无争议地成为传统光源的替代产品。但对于范围更广的通用照明,LED还没有被广泛接受 ...…

查看全部问答>