历史上的今天
今天是:2024年12月08日(星期日)
2020年12月08日 | TQ210——S5PV210启动过程
2020-12-08 来源:elecfans
1、S5PV210内存地址映射


S5PV210 含有一个大小为64KB的IROM,起始地址为0xD0000000,结束地址为0xD000FFFF;含有一个大小为96KB的 IRAM,起始地址为0xD0020000,结束地址为0xD0037FFF;内存起始地址为0x20000000,有二个内存块,DRAM0 和 DRAM1 大小分别为 512MB、 1024MB。
2、S5PV210启动流程分析
SRAM:0XD0020000
S5PV210启动过程主要可分为 3 个阶段

① S5PV210 上电复位后执行已固化的启动代码 BL0。
② 在 BL0 初始化过程中,对启动设备进行判断,并从启动设备拷贝 BL1 (最大 16KB )到 IRAM 处,即刚才所说的 0xD0020000 开始的地址,其中 0xD0020000~0xD0020010 的 16 字节为 BL1 的校验信息和 BL1 尺寸,并对 BL1 进行校验,校验通过转入 BL1 进行执行, BL1 继续初始化,并拷贝 BL2(最大 80KB)到 IRAM 中并对其校验,通过后转入 BL2。
③ BL2 完成一些比较复杂的初始化,包括 DRAM 的初始化,完成后将 OS 代码拷贝到 DRAM 中,并跳到 OS 中执行并完成启动引导[11]。
BL0 固化代码主要完成以下初始化:
① 关闭看门狗;
②初始化 Icache和Dcache;
③ 初始化堆栈;
④ 设置系统时钟;
⑤ 初始化块设备拷贝功能;
⑥ 拷贝 BL1 到 iRAM;
检查 BL1 的校验和,校验成功,则跳到 0xD0020000(IRAM)处执行。其中 0xD0020000 ~ 0xD0020010 里的 16 字节头部信息是什么呢?
16 字节头部信息: 地址内容
0xD002_0000 BL1 的大小
0xD002_0004 写0
0xD002_0008 CheckSum
0xD002_000C 写0
上一篇:TQ210——交叉编译器的安装
下一篇:TQ210——启动方式
史海拾趣
|
考研就业专刊 考研流程+考研经验+人才招聘会+薪资洽谈+面试攻略+健康贴士+时间表…… 妹妹大餐都在这里面! 尤其适合自动化相关专业,特别版!一路陪伴从准备到结束!!! 为了节省大家的芯币 本人最新编辑了一下 把所有的东西打 ...… 查看全部问答> |
|
在ARM7下写了一个定时器中断程序。下面代码是进入IRQ中断后然后为了可重入中断,就切换到系统模式下。但是在切换的时候出现问题?如何直接MSR CPSR_C,#SYS32_MODE(1)就出现SIGBUS错误。切换代码改成MSR CPSR_C,#(SYS32_MODE|NO_INT)(2)就行了 ...… 查看全部问答> |
|
在VS2005下怎么没有wince5.0的模拟器,到哪有的下载? 注意: 是\"wince5.0的模拟器\", 不是\"pocket pc的模拟器\",也不是\"smart phone的模拟器\"… 查看全部问答> |
|
有人用过opencores上那个USB 2.0设备IP在FPGA上实现过吗?PHY芯片打算用cy7c68000有需要修改的地方吗?还是可以直接使用。 应该注意些什么… 查看全部问答> |
|
最近刚刚入手430,原来只接触过51,不过由于430的程序大都用C写得,所以学习起来还是比较方便的。前几天一直在学习uart的输出,具体做了一个有关uart的小程序,刚开始有例程可以看,不过不知道问什么,所有的例程都无法用串口助手加以显示输出,当 ...… 查看全部问答> |




