微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 使uboot支撑 S3C6410的SD启动

使uboot支撑 S3C6410的SD启动

时间:11-21 来源:互联网 点击:

的处理是完全对应的。这里还有一个疑问 ,总扇区数TOTAL是如何得到的?从程序来看是从(TCM_BASE - 0x4)这个地址读取到的,至于TOTAL是如何 被放到这里的就只好从BL0的代码找答案了。

MOVI_BL2_BLKCNT是须要复制的扇区数目,这里就是解释为256K,这也是为什么必须把u-boot.bin转换成256K的文件。

BL2_BASE是目标 地址,也就是SDRAM中的地址。这里解释为0x57E00000,就是128M 的SDRAM的结尾 2M,因为到这里为止MMU尚未打开,因此这里运用 的是物理地址。

MOVI_INIT_REQUIRED这个参数的意义是什么暂时没有任何资料表明 。

而CopyMovitoMem这个函数的解释是这样的:

#define CopyMovitoMem(a,b,c,d,e) (((int(*)(int, uint, ushort, uint *, int))(*((uint *)(TCM_BASE + 0x8))))(a,b,c,d,e))

这个解释实际上是调用了位于TCM_BASE + 0x8这个地址的函数指针,其中TCM_BASE的值为0x0C004000,至于这个地址放的是什么,也没资料表明 。

当复制完BL2后便会跳转到BL2的start_armboot这个C语言函数中运行了,此后的运行流程 就不须要 再剖析了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top