目录
[1 NAND Flash:](#1 NAND Flash:)
[2 SPI Flash:](#2 SPI Flash:)
[3 EMMC:](#3 EMMC:)
- 🎈个人主页🎈:linux_嵌入式大师之路的博客-CSDN博客
- 🎉🎉🎉欢迎 👍点赞✍评论⭐收藏
- 🤝希望本文能对你有所帮助,欢迎在评论区交流讨论!🤝
1 NAND Flash:
以64M NAND Flash为例。
1)地址空间说明
| 1M | 3M | 32M | 28M |
|---------------|---------------|---------------|------------------------|
| boot | kernel | rootfs | other |
以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。
2)烧写u-boot
mw.b 82000000 ff 100000
tftp 82000000 u-boot-hi3519.bin
nand erase 0 100000
nand write 82000000 0 100000
reset
3)烧写内核
mw.b 82000000 ff 300000
tftp 82000000 uImage_hi3519
nand erase 100000 300000
nand write 82000000 100000 300000
4)烧写文件系统
mw.b 82000000 ff 2000000
tftp 82000000 rootfs_hi3519_2k_4bit.yaffs2
nand erase 400000 2000000
nand write.yaffs 82000000 400000 96d200 #注意:96d200为rootfs文件实际大小(16进制)
5)设置启动参数
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 rw mtdparts=hinand:1M(boot),3M(kernel),32M(rootfs),28M(test)'
setenv bootcmd 'nand read 0x82000000 0x100000 0x300000;bootm 0x82000000'
sa
注意linux-3.18.y kernel默认文件系统只读,需要在bootargs中加入rw选项,文件系统才可读写
2 SPI Flash:
以16M SPI Flash为例。
1)地址空间说明
| 1M | 3M | 12M |
|---------------|---------------|---------------|
| boot | kernel | rootfs |
以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。
2)烧写u-boot
sf probe 0
mw.b 82000000 ff 100000
tftp 0x82000000 u-boot-hi3519.bin
sf probe 0
sf erase 0 100000
sf write 82000000 0 100000
reset
3)烧写内核
mw.b 82000000 ff 300000
tftp 82000000 uImage_hi3519
sf probe 0
sf erase 100000 300000
sf write 82000000 100000 300000
4)烧写文件系统
mw.b 82000000 ff C00000;tftp 0x82000000 rootfs_hi3519_64k.jffs2;
sf probe 0;sf erase 400000 C00000;sf write 82000000 400000 C00000
5)设置启动参数
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'
sa
注意linux-3.18.y kernel默认文件系统只读,需要在bootargs中加入rw选项,文件系统才可读写
3 EMMC:
1)地址空间说明
| 1M | 4M | 64M | 8M | 16M | 1M | 80M | 25600 M |
|---------|------------|-----------------|-------------|-------------|---------|-----------------|-----------------------|
| boot | kernel | rootfs | param | hibernate | logo | upgrade | storage |
以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。
2)烧写u-boot
mw.b 82000000 ff 100000;tftp 82000000 uboot_hi3519.bin;mmc write 0 82000000 0 400
3)烧写内核
mw.b 82000000 ff 400000;tftp 82000000 uImage_hi3519;mmc write 0 82000000 800 2000;
4)烧写文件系统
mw.b 82000000 ff 4000000;tftp 82000000 rootfs_hi3519.ext4;mmc write.ext4sp 0 82000000 2800 20000
5)烧写参数区
mw.b 82000000 ff 800000;tftp 82000000 paramfs_hi3519.ext4;mmc write.ext4sp 0 82000000 22800 4000;
6)烧写logo
mw.b 82000000 ff 100000;tftp 82000000 bootdisplay.bmp;mmc write 0 82000000 2E800 800;
正式版本:
setenv bootargs 'mem=512M console=ttyAMA0,115200 root=/dev/mmcblk0p3 rootfstype=ext4 ro rootwait blkdevparts=mmcblk0:1M(boot),4M(kernel),64M(rootfs),8M(param),16M(hibernate),1M(logo),80M(upgrade),25600M(storage) hbcomp=/dev/mmcblk0p5 hbtype=snap'
setenv bootcmd 'mmc read 0 82000000 800 2000;bootm 82000000';sa
setenv bootdelay 0;sa