主题 : 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完成初始化就行。
级别: 侠客
UID: 4843
精华: 0
发帖: 102
金钱: 810 两
威望: 554 点
贡献值: 0 点
综合积分: 204 分
注册时间: 2009-03-31
最后登录: 2012-11-14
2楼  发表于: 2010-03-02 23:18
从0地址开始的话只有4k的SRAM可用,从0x30000000开始的话就有64M的SDRAM可用。
2440init.s里面的代码是位置无关的,所以无论怎么设置入口地址都可以正常运行。
级别: 新手上路
UID: 6629
精华: 2
发帖: 22
金钱: 230 两
威望: 78 点
贡献值: 2 点
综合积分: 84 分
注册时间: 2009-06-09
最后登录: 2011-08-15
3楼  发表于: 2010-03-05 17:00
谢谢ofourme的回答。呵呵。我研究了一下2440init.s的代码。确实是这样。其实说白了就是adrl和ldr两条指令的区别。
我参考网上的资料,将代码做了详细注释,仅供参考 2440init_s.rar (48 K) 下载次数:1558
armboy@qq.com
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5407
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11054 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2010-03-05 17:28
顶,这样的学习才真正有价值
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 13306
精华: 0
发帖: 15
金钱: 90 两
威望: 18 点
贡献值: 0 点
综合积分: 30 分
注册时间: 2010-01-22
最后登录: 2010-06-13
5楼  发表于: 2010-03-05 21:55
DING
级别: 新手上路
UID: 15010
精华: 0
发帖: 33
金钱: 170 两
威望: 34 点
贡献值: 0 点
综合积分: 66 分
注册时间: 2010-02-26
最后登录: 2012-10-25
6楼  发表于: 2010-03-06 14:39
好!顶上去!!初学者路过
级别: 新手上路
UID: 6629
精华: 2
发帖: 22
金钱: 230 两
威望: 78 点
贡献值: 2 点
综合积分: 84 分
注册时间: 2009-06-09
最后登录: 2011-08-15
7楼  发表于: 2010-03-07 17:15
更正2440init.s里面注解的一些错误。重新传一下。呵呵。
附件: 2440init_s.rar (48 K) 下载次数:1786
armboy@qq.com
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5407
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11054 分
注册时间: 2008-01-16
最后登录: 2014-11-22
8楼  发表于: 2010-03-07 17:20
引用第7楼general2537于2010-03-07 17:15发表的  :
更正2440init.s里面注解的一些错误。重新传一下。呵呵。

君子一日三省,温故而知新,非常好!
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5407
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11054 分
注册时间: 2008-01-16
最后登录: 2014-11-22
9楼  发表于: 2010-03-07 17:22
希望你能继续分享自己的经验,让这个帖子对更多的人有用,谢谢!
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."