[解读]U-boot启动

本文深入解析U-boot的启动流程,包括sf probe 0的测试、内存写入与擦除操作,以及如何通过mkenvimage和mkimage工具处理环境变量和映像文件。此外,探讨了Linux的MTD分区设置,如何在u-boot中配置mtdparts,并通过引导程序传递给内核。内容涵盖闪存的特性、nor与nand的区别以及/proc/mtd的使用,阐述了MTD设备与块设备的操作差异。
摘要由CSDN通过智能技术生成
启动过程
u-boot信息
hisilicon # reset
resetting ...

U-Boot 2010.06 (Mar 10 2015 - 15:17:40)

NAND:  Check nand flash controller v610. found
Special NAND id table Version 1.36
Nand ID: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
No NAND device found!!!
0 MiB
Check spi flash controller v350... Found
Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19
Spi(cs1): Block:64KB Chip:32MB Name:"MX25L 256/257 35 E/F"
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
hisilicon # printenv
bootdelay=1
baudrate=115200
ethaddr=00:00:23:34:45:66
bootfile="uImage"
filesize=4B40D0
fileaddr=82000000
netmask=255.255.255.0
ipaddr=192.168.1.10
serverip=192.168.1.50
bootcmd=sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000
bootargs=mem=256M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),27M(rootfs)
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (Mar 10 2015 - 15:17:40)

Environment size: 463/262140 bytes
信息解读:

  1. 环境变量

下面针对Hi3516A的升级文档来解析:
  1. sf probe 0含义,测试
sf probe 0——32768 KiB hi_sfc at 0:0 is now current device
sf probe 1——32768 KiB hi_sfc at 0:1 is now current device
勘测与初始化sf
可见,返回sf设备的大小、名字;这样我们下面就可以根据此信息来进行mtd分区
  1. mw.b 82000000 ff 100000,解析:
用指定数据(0xff)填充内存(从0x82000000地址开始,共填充100000个“单元”,每个单元为bit)(内存是指Flash),相当于初始化的作用
也有其子类命令,mw.[b/w/l]
  1. tftp 0x82000000 u-boot-hi3516a.bin
从tftp服务器里面下载文件(u-boot-hi3516a.bin)到起始地址为(0x82000000)的内存里面(这内存是指SDRAM内存,也就是DDR,毕竟还没有真正的写入Flash)。
对应:本起始地址一定是跟上面2的地址一致,不然不能完全覆盖
  1. sf erase 0 100000
重新将Flash的内存擦除,擦除位置是从0x0地址开始,连续擦除100000个单元
对应:单元大小如同2所指定的大小,也就是bit,同时,擦除单元数量一定是2所指定的大小,也就是100000
  1. sf write 82000000 0 100000
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值