uboot引导4020 sampe code

898阅读 0评论2009-07-31 315705049
分类:LINUX

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地址去运行。

 

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

 

 

 

上一篇:在水里多好
下一篇:bootloader引导工程代码代码