Prin 失败的原因一般就是程序变大之后,导致下载到内存中的程序不完整造成的。不完整
的原因有这一些:
(1)可能是板子的限制,貌似 TQ210 拷贝的时候会因为某些原因导致程序不完整,具体
不清楚。
(2)Nand 拷贝有问题,导致程序的拷贝出了问题。
这里有一种办法,把 BL1 和 BL2 分开:
BL1 只做拷贝(拷贝 BL2)和重定位(到内存运行)的工作。。。。。
BL 做一些复杂的工作。。。
这样就保证了 BL1 拷贝工作不会被 BL2 影响。。如果有问题,那问题就出在 BL2 了。。排
除了因为 nand 拷贝不对,而造成的程序不能运行。。
第一步:编写 BL1 程序:
首先编写 BL1 程序,BL1 需要做哪些工作呢?
(0)start.s 里面一些初始化,,因为根据这本手册里面讲的 BL0 已经做了许多工作了,所
以这里 start 文件就可以少做许多工作了
《S5PV210_iROM_ApplicaonNote_Preliminary_20091126.pdf》
(1)初始化内存。(smart210 标准版的程序可以用在 TQ210 上面只是要注意一个地方,
如果是其他开发板,自己找资料,这里只提供一份 smart210 的程序)
将 这
里的#if 0 改为#if 1 就可以执行作为 TQ210 的内存代码了。。。。。。。。
(2)代码搬移工作
这里面通过一个 if 判断
来 区 别 到 底 是 SD 启 动
还是 nand 启动
。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。
从别人代码里看的这种区分方式,我也没找到依据,不过可以用。。