给位大虾请教一个问题,
我想把2440test 这个工程移植到MDK 4.2上面去, 根据网上的资料现在工程已经能够
通过super vivi 的[D] 功能下载到内存中运行了,
但是当我用supervivi 的[A]下载到nand flash 后,就无法运行.
因为我现在手中还没有其余的调试工具,所以只能使用usb 下载程序.
我还在网上看过,有人说程序下载到nand flash运行时, 当程序小于4k时, 会由硬件上的机制直接将程序复制到内部的sram中,然后执行,
如果代码大于4K 就必须由bootloader 将nand flash 中的程序复制到SRAM中执行,
我看2440test 工程中的2440init.s 里面有从nand flash 中复制程序的代码, 那是不是说就不需要其他的bootloader 呢??
相对于下载到RAM中运行的程序, 我专门更改了MDK的分散加载文件的,
下面我把加载文件内容贴出来..
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
;Run in Flash
LR_ROM1 0x00000000
{ ; load region
ER_ROM1 0x00000000 0x0200000
{ ; load address = execution address
*.o (Init,+First)
; *(InRoot$$Sections)
.ANY (+RO)
}
RW_RAM1 0x30000000 0x4000000
{ ; RW data
.ANY (+RW +ZI)
}
RW_IRAM1 0x40000000 0x00001000
{
.ANY (+RW +ZI)
}
}
哪位大哥知道的话,还请不吝赐教...谢谢各位了,