Uboot指令与烧录

目录

[1 NAND Flash:](#1 NAND Flash:)

1)地址空间说明

2)烧写u-boot

3)烧写内核

4)烧写文件系统

5)设置启动参数

[2 SPI Flash:](#2 SPI Flash:)

1)地址空间说明

2)烧写u-boot

3)烧写内核

4)烧写文件系统

5)设置启动参数

[3 EMMC:](#3 EMMC:)

1)地址空间说明

2)烧写u-boot

3)烧写内核

4)烧写文件系统

5)烧写参数区

6)烧写logo


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;

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

相关推荐
Zevalin爱灰灰41 分钟前
编程技巧(基于STM32)第一章 定时器实现非阻塞式程序——按键控制LED灯闪烁模式
stm32·单片机·嵌入式硬件
A ?Charis2 小时前
k8s-对接NFS存储
linux·服务器·kubernetes
红花与香菇2____2 小时前
【学习笔记】Cadence电子设计全流程(二)原理图库的创建与设计(上)
笔记·嵌入式硬件·学习·pcb设计·cadence·pcb工艺
Jerry.yl3 小时前
关于 BK3633 上电时受串口 UART2 影响而无法启动的问题说明
嵌入式硬件·物联网·bk3633
尼尔森系4 小时前
排序与算法:希尔排序
c语言·算法·排序算法
苏慕TRYACE4 小时前
RT-Thread+STM32L475VET6实现红外遥控实验
stm32·单片机·嵌入式硬件·rt-thread
GEEK.攻城狮5 小时前
使用VSCODE开发C语言程序
c语言·ide·vscode
DC_BLOG5 小时前
Linux-GlusterFS进阶配置
linux·运维·服务器
Victoria.a5 小时前
数组和指针常见笔试题(深度剖析)
c语言·开发语言
小幽余生不加糖6 小时前
deepseek帮我设计物理量采集单片机口保护电路方案
单片机·嵌入式硬件