目录
环境变量bootcmd
【bootcmd】这个环境变量包含了一些命令,这些命令将在u-boot进入主循环后执行
例子:
bootcmd=sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000
- 【bootcmd 】的意思是自动启动时执行命令 。
- 在使用【sf read】或者【sf write】之前,一定要调用【sf probe】。
- u-boot中如果支持SPI Flash, 那么我们就可以使用 sf 的erase, read, write命令操作SPI Flash
【sf read】用来读取flash数据到内存
【sf write】写内存数据到flash
【sf erase】擦除指定位置,指定长度的flash内容, 擦除后内容全1 - 后面句子的意思是:把Flash的0x10000(64KB)处,长度为0x300000(3MB)的数据, 写入到内存的0x82000000(2GB)位置处。操作偏移和长度最小单位是Byte。【bootm】说明了系统将会从0x82000000处启动内核。
环境变量bootargs
- 他是传递给内核的启动参数。这个参数设置要传递给内核的信息,主要用来告诉内核分区信息和根文件系统所在的分区。
例子:
bootargs=mem=38M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)
- 句首的bootargs说明了这是一条叫做【bootargs】的环境变量。
- 【mem=38M】说明了内存大小为38MB。
- 【console=ttyAMA0,115200】表示终端为ttyAMA0,串口波特率为115200 。
- 【root=/dev/mtdblock2】表示根文件系统在第②分区。
- 【rootfstype=jffs2 】表示根文件系统的类型是jffs2
- 【mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)】表示了系统中相关文件的分区情况。其中最前面的hi_sfc是flash_id。需要我们根据我们使用的flash来进行不同的配置。我们可以通过内核启动时显示的信息来查看这个flash_id。