Chinaunix首页 | 论坛 | 博客
  • 博客访问: 35280
  • 博文数量: 19
  • 博客积分: 840
  • 博客等级: 准尉
  • 技术积分: 230
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-25 18:10
文章分类
文章存档

2011年(1)

2009年(18)

我的朋友

分类:

2009-07-27 19:31:12

使用bootloader引导4020 sample代码,大致修改过程如下(以uart为例):
 
1、修改bootloader源码:
   
   1)、将uart工程代码拷贝到ESRAM内运行,将0x30000000改为0x4000000,系统启动运行时,PC指向0x4000000,如下:
     
        ............................  
          
  ;拷贝kernel代码到SDram
 ldr  r3, =0x00000000
 ldr  r1, =0x4000000  ;the address of SDRAM /////////////////////要修改
 ldr  r2, =0x20001000  ;the address of NorFlash
       ......................................

         
 ;重新设定PC,开始操作系统启动
 ldr  pc, =0x4000000              ///////////////////////////////要修改          

    2)、修改工程代码的大小,如下:
     ......................................
 LOOP 
 ldr  r4, [r2], #4
 str  r4, [r1], #4
  
 add   r3, r3, #1
 cmp   r3, #0x2000 //////////////////////////////////////////////大小
 bne  LOOP
     ......................................
   
   3)、上述两步还不行,屏掉“init the EMI and get the memory space”下面前三行代码(本次就是这样做的,成功了,具体原因有时间再弄清楚),然后将:
 
;remap操作 
 ldr  pc, =0x200000a4 
 
改为:
 ;remap操作 
 ldr  pc, =0x20000094

3、 sample代码不需要改动
 
4、最后将bootloader与sample分别生成.bin文件,通过烧写工具将两个.bin文件烧写到nor的指定地址
阅读(298) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~