ce的bootload问题

netthief   2009-10-12 16:06 楼主
最近学习搞ce的bootload和eboot等. 我用原开发板QQ2440供应商提供的bootload烧eboot及nk.bin时候. 从串口打印出来的如下.
....
Now, Downloading [ADDRESS:30058000h,TOTAL:18773945]
Downloaded file at 0x30000000, size = 18773935 bytes
Mark bad blocks as unused ......
Mark Block 0 as unused, has mark 1 blocks
...
该开发板的RAM的CS分别接到2440的’nGCS6:Nscs0引脚上. 对应大物理地址为:0x3000 0000 ~ 0x3400 0000
难道我的nk.bin是烧到ram中去了? 应该不是.因为我断电后里面的ce还在. 理论上应该是烧到nand flash地址段才是.
不太明白. 请研究过ce的bootload的大侠解释一下. 谢谢!

回复评论 (9)

应该是烧到RAM 中的 ,你的信息不全啊 建议贴的更详细以点
点赞  2009-10-12 16:17
Downloaded file at 0x30000000, size = 18773935 bytes
这句话是说把文件下载到了这个地址,而不是烧写到了这个地址,烧写的信息在后边呢
点赞  2009-10-12 16:25
Downloaded file 这个过程是 把nk.bin 先下载到内存中,在下载的过程中就分析出nk.bin中的每个记录的地址偏移,并按这个偏移地址把数据放到对应的内存中,这样下载完成后,nk就被布置到了正确的位置,这时,os就可以被launch了。以前研究过一次,时间有点长了,记不太清了;nk.bin 是被烧到nand里的,我以前写过以一个bootload的sd卡更新,就是先从sd上先download数据,然后分析一个记录,写一个记录到nand,nand也要先被分区,有一部分是bin文件系统。整个过程,分析一下bootload就大概明白了。

点赞  2009-10-12 16:32
我想请问楼上的,把NK.BIN 烧写到nand里也要按记录烧写吗?
点赞  2009-10-13 08:52
讲的不清楚啊。讲清楚点学习学习
点赞  2009-10-13 09:36
把nk.bin烧到nand flash时候应该不需要按记录烧. 在加载时候eboot应该需要解压nk.bin各独立的段然后按照地址加载到ram相应地址处就可以了. 如果是烧nk.nb0的话就直接将整个nk.nb0 copy到ram中运行,而不需要解压,加载时间也会长一些.
点赞  2009-10-13 09:40
引用: 引用 6 楼 cokeliu 的回复:
把nk.bin烧到nand flash时候应该不需要按记录烧. 在加载时候eboot应该需要解压nk.bin各独立的段然后按照地址加载到ram相应地址处就可以了. 如果是烧nk.nb0的话就直接将整个nk.nb0 copy到ram中运行,而不需要解压,加载时间也会长一些.


谢谢你的回复,我试试先~~
点赞  2009-10-13 09:43
你什么意思 这句话“应该不是.因为我断电后里面的ce还在. 理论上应该是烧到nand flash地址段才是. ”
点赞  2009-10-20 23:04
用BOOTLOADER烧写NK,一般是先下载到内存,然后由BOOTLOADER进一步烧写到Flash中。
点赞  2009-10-21 08:52
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复