1)Flash分区
从《byun hawkeye刷机与配网》我们知道,Flash分区划分如下:
分区 | 地址范围 | 空间大小 | |
---|---|---|---|
uboot | 0x0 ~ 0x80000 | 512K | |
kernel | 0x80000 ~ 0x280000 | 2M | |
rootfs | 0x300000 ~ 0x1000000 | 13M |
硬件内存:HI3518E芯片内置64MB DDR,外置16MB的SPIFlash(存放bootloader、kernel、rootfs),扩展16G大小SD卡(存放用户数据)。
2)存储系统
外置SPI Nor Flash芯片W25Q128,块大小64KB,容量16MB。
扩展16G SD卡,格式为FAT32,对应设备mmc 0,可以使用mmc或fat命令操作SD卡。因为启动方式默认不是从SD卡启动,所以不需要使用mmc read、write细化地操作内存,而使用fatload命令加载文件。
例如
fatload mmc 0 0x82000000 u-boot.bin
:从mmc 0即SD卡中加载文件到DDR地址0x82000000。
3)网络操作
因为uboot没有调通网络功能,所以我们无法使用tftp下载内核、使用nfs挂载根文件系统。
4)bootargs和bootcmd设置
①bootargs=mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:512K(boot),2560K(kernel),13M(rootfs)
mem=32M 指定分配给内核的DDR空间
console=ttyAMA0,115200 指定串口和波特率
root=/dev/mtdblock2 根文件系统在Flash的第三分区
rootfstype=jffs2 根文件系统类型
mtdparts=hi_sfc: ... 传参分区表
②bootcmd=sf probe 0;sf read 0x82000000 0x80000 0x280000;bootm 0x82000000
sf probe 0 选中spi flash 0
sf read 0x82000000 0x80000 0x280000 将Flash地址0x80000 ~ 0x280000的数据加载到DDR地址0x82000000
bootm 0x82000000 跳到0x82000000启动uImage内核镜像