jslschina 发表于 2012-11-14 09:42:47

jslschina 发表于 2012-11-15 17:38:21

jslschina 发表于 2012-11-16 09:53:25

jslschina 发表于 2012-11-16 09:57:14

weicz 发表于 2012-11-16 17:57:58

手头没有启动代码,说说我的理解,
首先,s3c2440为例,如果你是nandflash启动的话,nandflash不能直接执行程序,所以头4K的内容会被复制到叫做 Steppstone 的一个片内SRAM里去执行,地址从0开始,这部分工作是硬件做的,不用你干预,你唯一要保证的就是你的程序起始存在了nandflash的起始部分,一般启动代码进来都会有个中断向量表,第一个就是跳转到XXReset之类的函数地址,然后初始化一通,然后跳转到main函数入口。这就是进入了bootloader,后面的事情bootloader负责将要执行的程序从nandflash复制到SDRAM中执行,这部分地址怎么分配的要看硬件的地址分配和bootloader中的处理方法。

对楼主的问题,由于没看到启动代码的全貌也不敢妄加猜测,启动代码的写法很多。如果你觉得那段没用,不如注释掉看看会对程序有什么影响

mhb318 发表于 2012-12-1 12:26:57

页: [1]
查看完整版本: RW Base 没有定义 而_ISR_STARTADDRESS被定义为0x33FFFF00经bootloader从NAND中复...