主题 : 2440test在MDK下使用supervivi 的USB 下载功能到Nand Flash 中无法运行 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 42618
精华: 0
发帖: 19
金钱: 100 两
威望: 20 点
综合积分: 38 分
注册时间: 2011-04-09
最后登录: 2012-11-13
楼主  发表于: 2011-04-12 13:50

 2440test在MDK下使用supervivi 的USB 下载功能到Nand Flash 中无法运行

给位大哥请教一个问题,
我想把2440test 这个工程移植到MDK 4.1上面去, 根据网上的资料现在工程已经能够 通过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)
  }
}


哪位大哥知道的话,还请不吝赐教...谢谢各位了,
级别: 新手上路
UID: 42618
精华: 0
发帖: 19
金钱: 100 两
威望: 20 点
综合积分: 38 分
注册时间: 2011-04-09
最后登录: 2012-11-13
1楼  发表于: 2011-04-12 15:19
        
级别: 新手上路
UID: 42618
精华: 0
发帖: 19
金钱: 100 两
威望: 20 点
综合积分: 38 分
注册时间: 2011-04-09
最后登录: 2012-11-13
2楼  发表于: 2011-04-13 08:59