AM335X uboot烧写

原创:http://blog.sina.com.cn/u/2312748742

NAND地址如下: 


+------------+-->0x00000000-> SPL start (SPL copy on 1st block) | | | |-->0x0001FFFF-> SPL end | |-->0x00020000-> SPL.backup1 start (SPL copy on 2nd block) | | | |-->0x0003FFFF-> SPL.backup1 end | |-->0x00040000-> SPL.backup2 start (SPL copy on 3rd block) | | | |-->0x0005FFFF-> SPL.backup2 end | |-->0x00060000-> SPL.backup3 start (SPL copy on 4th block) | | | |-->0x0007FFFF-> SPL.backup3 end | |-->0x00080000-> U-Boot start | | | |-->0x002BFFFF-> U-Boot end | |-->0x00260000-> ENV start | | | | | |-->0x0027FFFF-> ENV end | |-->0x00280000-> Linux Kernel start | | | | | | | | | |-->0x0077FFFF-> Linux Kernel end | |-->0x00780000-> File system start | | | | | | | | | | | | | | | | | | | | | | | | +------------+-->0x10000000-> NAND end (Free end)

 

 

一、串口烧入:

  1)建立uboot#界面

     1、打开Tera Term,设置好串口和波特率,335开关设置1、7、8打开,其它关闭。

     2、选择Transfer --> XMODEM --> Send (1K mode)把u-boot-spl.bin文件写入。

     3、选择Transfer --> YMODEM --> Send (1K mode)把u-boot.img文件写入。

     4、 这两个文件写入后会自动启动uboot,在倒计时时快速按入enter键,进入到uboot#界面

  2)烧入  MLO

     1、输入 U-Boot#  loadb 0x82000000 

     2、输入 U-Boot#  loadb 0x82000000  选择“File -> Transfer -> Kermit -> Send”.选入MLO
     3、(重要)输入U-Boot#  nandecc hw 2 选择检验类型
     4、U-Boot# nand erase 0x0 0x20000 //擦除nand 0x0地址,偏移量0x2000
     5、U-Boot# nand write 0x82000000 0x0 0x20000//将内存0x82000000写入到nand 0x0 中
  3)烧入  u-boot.img 同理烧入到 ox800000

     1、U-Boot#  loadb 0x82000000 
     2、输入 U-Boot#  loadb 0x82000000  选择“File -> Transfer -> Kermit -> Send”.选入u-boot.img

     3、U-Boot#  nandecc hw 2 
     4、U-Boot# nand erase 0x80000 0x40000
     5、U-Boot# nand write 0x82000000 0x80000 0x40000

 4)偏移量计算:

For example, to mark block 32 (assuming erase block size of 128Kbytes) as bad block - offset = blocknum * 128 * 1024:

U-Boot# nand markbad 0x400000

二、sd卡烧入:

2-1:

1)加载MLO到内存中。
U-Boot# mmc rescan
U-Boot# fatload mmc 0 0x82000000 MLO

2)从内存到nand falsh中。
U-Boot# nand erase 0x0 0x20000
U-Boot# nand write 0x82000000 0x0 0x20000

3)加载u-boot.img到内存中。
U-Boot# mmc rescan(mmc卡扫描,同挂载)
U-Boot# fatload mmc 0 0x82000000 u-boot.img(读取文件从mmc卡中的u-boot.img文件到0x82000000地址中)

4)从内存到nand falsh中。
U-Boot# nand erase 0x80000 0x40000
U-Boot# nand write 0x82000000 0x80000 0x40000(从0x82000000读取并写入到起始地址为0x80000,偏移量0x40000)

2-2

可以建立uEnv.txt文件如下:(最后一行为空)
1)
bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 mem=128M rootwait
bootcmd=mmc rescan; fatload mmc 0 0x82000000 uImage; bootm 0x82000000
uenvcmd=boot   (空)
2)
命令
 U-Boot# mmc rescan
 U-Boot# fatload mmc 0 0x81000000 uEnv.txt
 U-Boot# env import -t 0x81000000 $filesize
 U-Boot# boot

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值