基于君正T40xp nor_flash启动系统环境变量备份+分析(自用)
isvp_t40# print
baudrate=115200
bootargs=console=ttyS1,115200n8 mem=100M@0x0 rmem=128M@0x6400000 nmem=28M@0xE400000 init=/linuxrc rootfstype=squashfs root=/dev/mtdblock2 rw mtdparts=jz_sfc:256k(boot),2560k(kernel),5120k(root),-(appfs) lpj=11968512
bootcmd=sf probe;sf read 0x80600000 0x40000 0x300000;bootm 0x80600000
bootdelay=1
ethact=Jz4775-9161
ethaddr=00:11:22:56:96:69
gatewayip=193.169.4.1
ipaddr=193.169.4.151
loads_echo=1
netmask=255.255.255.0
serverip=193.169.4.2
stderr=serial
stdin=serial
stdout=serial
Environment size: 528/16380 bytes
设置输出终端(控制台)并设置相关配置信息(波特率等) 还有内存分配mem
baudrate=115200
bootargs=console=ttyS1,115200n8 mem=100M@0x0 rmem=128M@0x6400000 nmem=28M@0xE400000
设置内核跑起来的自启动脚本
init=/linuxrc
设置文件系统配置(类型、位置)
rootfstype=squashfs root=/dev/mtdblock2 rw
mtd分区,使用该参数,内核要开启mtd驱动,启动驱动路径Device Drivers ---> Memory Technology Device (MTD) support ---> Command line partition table parsing
mtdparts=jz_sfc:256k(boot),2560k(kernel),5120k(root),-(appfs)
设置lpj值,用于缩短启动时间对于一个固定的硬件平台,lpj值是一致的所以可记录后在启动参数指定
lpj=11968512
自启动会执行的命令bootcmd sf(访问SPI NOR-FLASH)执行sf read/write前,要先调用sf probe
sf read mem-addr offset len
把flash偏移0x40000(256KB)处, 长度为0x30000(192KB)的数据, 写入到内存0x80600000, 操作偏移和长度最小单位是Byte
bootcmd=sf probe;sf read 0x80600000 0x40000 0x300000;bootm 0x80600000
uboot启动后,倒计时1秒后自动执行环境变量bootcmd的语句
bootdelay=1
当第一次注册设备时会读取系统当前的“ethact”环境变量,然后更新当前的“ethact"环境变量。
ethact=Jz4775-9161
ethaddr 以太网的MAC地址;gatewayip 以太网的网关; ipaddr 本地的IP地址
netmask 以太网的网络掩码;serverip TFTP服务器端的IP地址;
loads_echo: 如果设置为1,那么在从串口下载文件时(使用loads命令),所有接收到的字符都会被回显。
ethaddr=00:11:22:56:96:69
gatewayip=193.169.4.1
ipaddr=193.169.4.151
loads_echo=1
netmask=255.255.255.0
serverip=193.169.4.2
设置标准出错,标准输入,标准输出(一般为串口)
stderr=serial
stdin=serial
stdout=serial