历史上的今天
返回首页

历史上的今天

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

2020年12月22日 | S5PV210的SD卡启动实战1~2

2020-12-22 来源:eefocus

《朱老师物联网大讲堂》学习笔记

学习地址:www.zhulaoshi.org

 

待烧录bin程序大于16kb,

分bl1 16kb,

16kb以后的为bl2两部分,
从sd卡复制bl2到ddr中特定位置,跳转执行bl2。

 

BL1大致要做,关开门狗,设置栈,开iCache,初始化DDR,从SD卡赋值BL2到DDR中特定位置,


然后跳转执行BL2,


这个图是SD卡布局图,BLOCK 0是保留的,

这个细节在linux下使用命令烧录可以看出来,

#!/bin/sh
sudo dd iflag=dsync oflag=dsync if=210.bin of=/dev/sdb seek=1

而直接使用烧录工具,这个细节就被工具本身屏蔽了,so看不出来,

之前的BL1到BL2的跳转是通过远跳转指令来实现的,那是因为它们是一起链接的,


但是现在这个是独立的,so不能那样跳转,


在这里,因为我们知道BL2的地址是多少,so可以使用地址来进行强制跳转,即函数指针,


下面是老师的代码,看了后,蛮有感觉的,

#define SD_START_BLOCK 45

#define SD_BLOCK_CNT 32

#define DDR_START_ADDR 0x23E00000

 

typedef unsigned int bool;

 

// 通道号:0,或者2

// 开始扇区号:45

// 读取扇区个数:32

// 读取后放入内存地址:0x23E00000

// with_init:0

typedef bool(*pCopySDMMC2Mem)(int, unsigned int, unsigned short, unsigned int*, bool);

 

typedef void (*pBL2Type)(void);

 

// 从SD卡第45扇区开始,复制32个扇区内容到DDR的0x23E00000,然后跳转到23E00000去执行

void copy_bl2_2_ddr(void)

{

// 第一步,读取SD卡扇区到DDR中

pCopySDMMC2Mem p1 = (pCopySDMMC2Mem)0xD0037F98);

p1(2, SD_START_BLOCK, SD_BLOCK_CNT, (unsigned int *)DDR_START_ADDR, 0); // 读取SD卡到DDR中

// 第二步,跳转到DDR中的BL2去执行

pBL2Type p2 = (pBL2Type)DDR_START_ADDR;

p2();

}


The SD/ MMC host controller is a combo(组合) host for Secure Digital card and MultiMediaCard.


推荐阅读

史海拾趣

科达嘉CODACA公司的发展小趣事

科达嘉电子不仅立足于深圳,还积极布局全球市场。公司通过参加国际电子展会、与国际知名企业合作等方式,不断拓展海外市场。同时,科达嘉还根据客户需求,提供个性化的电感解决方案,赢得了众多客户的信任和合作。公司的主要产品,如一体成型电感、大电流电感等,已广泛应用于工业控制、汽车电子等多个领域。

Gems Sensors & Controls公司的发展小趣事

Gems Sensors & Controls公司始终致力于技术创新和产品研发。数十年来,公司不断推出新型号的液位、流量和压力传感器、微型电磁阀及预装射流系统等产品,以满足客户日益多样化的需求。这些产品凭借其卓越的性能和稳定的质量,在行业内赢得了广泛的赞誉和认可,也推动了整个传感器行业的进步和发展。

Agere System(LSI Logic)公司的发展小趣事

面对激烈的市场竞争和不断变化的市场需求,Gems Sensors & Controls公司始终保持着敏锐的洞察力和灵活的应变能力。公司不断调整和优化产品结构,提升产品质量和服务水平,以更好地满足客户的需求。同时,Gems还积极开拓新的市场领域和应用场景,不断拓展自身的业务范围和市场份额。这些努力使得Gems在电子行业中持续保持领先地位,并实现了持续稳定的增长。

Gaomi Xinghe Electronics公司的发展小趣事

背景:在21世纪初,Galaxy公司凭借其在电子产品领域的深厚积累,决定进一步拓展国际市场。通过详细的市场调研,公司发现欧洲市场潜力巨大,特别是对高质量电子产品的需求日益增长。

行动:于是,Galaxy在波兰Cracow成立了欧洲分公司,地处欧洲中部,这一地理位置使其能够很好地覆盖整个欧洲大陆,包括东部和西部的国家。该分公司不仅作为销售中心,还承担起返修件回收处理的重任,确保客户能够享受到无时区差别的销售和维修服务。

成果:这一战略部署显著提升了Galaxy在欧洲市场的知名度和竞争力,市场份额逐年攀升,为公司的全球化进程奠定了坚实基础。

Excelight Communications Inc公司的发展小趣事

为了进一步扩大市场份额,Excelight开始积极拓展国际市场。公司参加各类国际展会和论坛,与全球各地的客户和合作伙伴建立联系。同时,Excelight还加强了与国际知名企业的合作,共同开发新产品和新技术。

在市场拓展的过程中,Excelight始终坚持“质量第一、客户至上”的原则。公司不断提升产品质量和服务水平,赢得了客户的信任和口碑。如今,Excelight的产品已经远销欧美、亚非拉等多个国家和地区。

Defense Supply Center Columbus公司的发展小趣事

在电子行业,产品质量是企业生存和发展的关键。Defense Supply Center Columbus公司始终将质量管理放在首位,建立起一套完善的质量管理体系。公司严格按照国际标准进行生产和检测,确保每一件产品都符合质量要求。同时,公司还注重员工的培训和教育,提高员工的质量意识和操作技能。这些措施的实施,使得公司的产品质量得到了显著提升,赢得了客户的广泛赞誉。

问答坊 | AI 解惑

航海设备专用液晶显示器WEDC LCD

ENH038QD1-450/650 尺寸大小: 3.8" 分辨率: QVGA 320 x 240 接口: 6-bits TTL interface 亮度 : 450/650nit(cd/m2) 对比度:高对比度、大开口率 显示模式:Normally White 响应时间:Rise 30ms/ Fall 50ms 功耗:3.4W 工作温度: -30℃--- ...…

查看全部问答>

2009IEEE工程管理与服务科学国际会议征文klj

EMS 2009 Call for Papers: Sept. 20-22, 2009, Beijing, China ====================================================================== The 3rd Int’l Conference on Engineering Management and Service Sciences (EMS 2009) CALL FOR PAP ...…

查看全部问答>

lbing7来拿分

对于我这个刚入门的人,lbing7能耐心讲解基础,十分感谢。 由于到目前问的问题都是十分基础的,我就不写出来了。…

查看全部问答>

准备酝酿一个玩wince的人的开心网

我们刚创建的wince家园,想让所有玩wince的人变成朋友。 logo都没来得及做。想先看看坛子上面兄弟的看法。 目的是想找同道之人共同参与,共同出出好点子,让我们搞wince的变成一个强大的同盟。 试运行网站 http://www.armce.cn/ 嘿嘿~~~ 预祝xd ...…

查看全部问答>

wince 问题!!!!!!

有高人知道在wince工程下面 怎么给lable button等控件添加背景图片么?…

查看全部问答>

如何通过2440spi总线读写外设的寄存器?

平台:arm开发板,用spi总线外接1个fir红外芯片,s3c2440 + linux2.6.24.7 现在2440这边已经做好了,insmod bitbang.ko,s3c24xx.ko,insmod spidev.ko,用testspi,用示波器可以测到时钟和数据的波形都是对的,但不知道如何读写fir的寄存器?以前都 ...…

查看全部问答>

请教版主STM323.0的库函数有没有IIC的问题?

请教版主STM32 3.0的库函数有没有IIC的问题? 正准备做个项目希望 版主 给个答复!!…

查看全部问答>

收到348的套件了,说一下

收到套件 ,发现原装的也是配了很多made in china的东东? [ 本帖最后由 pig163xx 于 2011-10-29 22:10 编辑 ]…

查看全部问答>

请大家注意,用F28027的Lib可能存在Bug!

最近一直在学习F28027的库开发模式,用下来感觉其实一般,Ti官方的手册中也没有一个标准,什么函数什么时候调用,前后有什么顺序要求,就是给了一些例子和函数说明,看起来有些模糊。今天在调试SCI的程序,突然发现用库模式的SCI_LOOPBack_INITTrup ...…

查看全部问答>

launchpad c2000毕设,求高手!求意见!

以LaunchPadXL-C2000为核心板,设计一款可实现正弦波、方波和三角波信号输出的多函数信号发生器。信号频率0.1Hz-1MHz,输出幅度0.1V-5V可调,信号类型、频率及幅度均由按键选定。…

查看全部问答>