主题 : 2440init.s注解 (原帖: 将2440test烧写到NANDFlash运行的问题) 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 6629
精华: 2
发帖: 22
金钱: 230 两
威望: 78 点
贡献值: 2 点
综合积分: 84 分
注册时间: 2009-06-09
最后登录: 2011-08-15
楼主  发表于: 2010-02-25 21:43

 2440init.s注解 (原帖: 将2440test烧写到NANDFlash运行的问题)

管理提醒: 本帖被 kasim 执行加亮操作(2010-03-07)
在手册上看到,可以利用supervivi的A功能将2440test.bin烧写到NANDFlash,重启后从NANDFlash拷贝到SDRAM运行。试了下,确实可以运行。有点不解。
    关于将2440test烧写到NANDFlash运行的问题,我的想法是这样的:要在ADS中编译生成2440test.bin文件时,应该将ROBASE重新设置,设置为0x0000000.这样将其烧写到NANDFLASH第0块,复位后从NANDFALSH启动。
    可是按照手册的做法,在ADS中编译生成2440test.bin文件时,入口地址是0x30000000,而不是0x0000000.为什么能够运行?是supervivi的A功能的原因吗?
    ROBASE的地址设置跟启动究竟什么关系?实在不明白,请高手赐教。

关于init.s的注解,看5楼附件
[ 此帖被kasim在2010-03-07 17:17重新编辑 ]
armboy@qq.com
级别: 新手上路
UID: 7962
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2009-08-04
最后登录: 2010-03-19
1楼  发表于: 2010-02-26 14:24
我也猜想,一般用arm的时候都要用bootload,如果写到0x0000000,岂不是把bootload的位置占了,写在入口地址是0x30000000也没有问题,因为bootload最终会将程序跳到0x30000000出,你也可以编写一个bootload完成初始化就行。