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

2011年(1)

2009年(18)

我的朋友

分类: LINUX

2009-07-31 10:10:37

uboot引导4020 sampe code 注意以下几点(以uart为例):
 
  1、使用之前移植好的uboot,使用烧写程序将其烧写到开发板的Nor Flash内;
 
  2、将uart工程代码生成bin文件,注意设置:
      1)、在ARM Linker中Output选择Simple,设置Ro Base->0x00000000
      2)、在ARM Linker中Options的Image entry point输入0x00000020
 
  3、连接串口线,打开串口工具,上电启动uboot,设置网络环境变量如下:
      ->set serverip 10.0.0.1
      ->set ipaddr 10.0.0.2
      ->set gatewayip 10.0.0.3
      ->save
 
 4、连接交叉网线,设置PC的IP(与上面保持一致),执行下面步骤下载,烧写镜像文件
   

   第一步:关闭NorFlash写保护,这是在对NorFlash进行操作之前必须做的。

SEP4020 =>protect  off  all   //关闭所有的写保护

   当然,命令“protect  on  all”是打开所有的写保护。这里,对写保护的操作也可以指明具体的起始地址,模式如下:

         protect  on  start_address  end_ address

         protect  off  start_address  end_ address

 

  第二步:NorFlash进行擦除操作。具体模式如下:

    SEP4020 =>erase  block_start_address   block_end_address

  当然,也可以是用命令“erase  all”,意味着擦除个芯片。

注意:block_start_address必须是一个block的起始地址,NorFlash中一个block的大小为0x10000,即64KBblock_end_address必须是一个block的结束地址。例如:现在想擦除NorFlash的第3block,输入的命令为:

erase  20030000  2003ffff,当然也可以擦出多个block,只需改变的地址就可以实现。

 

第三步:下载镜像到SDRAM。命令输入如下:

    SEP4020 =>tftp  31000000  project.bin

              31000000是要下载到SDRAM内的地址,project.bin是要下载镜像的名字

  

         第四步:拷贝镜像从SDRAMNorFlash。命令输入如下:

             SEP4020 =>cp.b  31000000  20100000  22c000

             31000000SDRAM内的地址,20030000NorFlash内的地址,22c000是镜像的大小。

 

 第五步:设置环境变量。命令输入如下:

    SEP4020 =>set bootcmd cp.b 20100000  0  22c000\; go 0

    SEP4020 =>save

    Bootcmd为环境变量,cp.b 20030000  0  22c000是从20030000拷贝镜像到0地址

(即0x30000000,镜像大小为22c000go 0是将指针指向0地址去运行。

 

 第六步:重新上电启动就可以了

 

 

 

阅读(842) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~