主题 : 2440test在MDK下使用supervivi 的USB 下载功能到Nand Flash 中无法运行 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 23516
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
综合积分: 14 分
注册时间: 2010-06-21
最后登录: 2013-08-29
楼主  发表于: 2012-08-20 23:19

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

给位大虾请教一个问题,
我想把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)
  }
}


哪位大哥知道的话,还请不吝赐教...谢谢各位了,
级别: 新手上路
UID: 23516
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
综合积分: 14 分
注册时间: 2010-06-21
最后登录: 2013-08-29
1楼  发表于: 2012-08-20 23:50
刚在网上找到了这篇文章,照着他的做了,还是不行。

S3C2440开发板MDK下向S3C2440 nand flash烧写程序程的实现
http://www.docin.com/p-393707975.html