针对MRT_SYS_EVB V3开发板的开机模式选择及U-boot配置,以下是详细的步骤说明:
1. 硬件启动模式配置
- 拨码开关/跳线设置
开发板通常通过物理拨码开关或跳线选择启动源(如eMMC、SD卡、USB等)。请参考开发板手册确认开关位置及对应模式。例如:
- 拨码开关为
0101 时从eMMC启动。
- 拨码开关为
1010 时从SD卡启动。
2. U-boot 配置步骤
(1) 进入U-boot命令行
开发板启动时,在串口终端按下任意键(如空格或回车)中断自动引导,进入U-boot命令行。
(2) 查看与修改启动参数
查看当前环境变量
printenv
重点关注 bootcmd(引导命令)、bootargs(内核参数)及 boot_targets(启动设备优先级)。
设置启动设备(以eMMC为例)
# 选择eMMC设备(假设eMMC为mmc0)
mmc dev 0
# 设置从eMMC加载内核镜像和设备树
setenv load_kernel 'load mmc 0:1 ${kernel_addr_r} /boot/zImage'
setenv load_dtb 'load mmc 0:1 ${fdt_addr_r} /boot/board.dtb'
配置启动命令(bootcmd)
根据启动模式修改 bootcmd:
# 从eMMC启动
setenv bootcmd 'run load_kernel; run load_dtb; bootz ${kernel_addr_r} - ${fdt_addr_r}'
# 从SD卡启动(假设SD卡为mmc1)
setenv bootcmd 'mmc dev 1; load mmc 1:1 ${kernel_addr_r} /boot/zImage; bootz ${kernel_addr_r}'
# 网络启动(TFTP)
setenv bootcmd 'dhcp ${kernel_addr_r} 192.168.1.100:/tftpboot/zImage; bootz ${kernel_addr_r}'
设置启动顺序(boot_targets)
若支持多设备自动探测,可定义优先级:
setenv boot_targets 'mmc0 mmc1 usb0 pxe'
setenv bootcmd 'run distro_bootcmd' # 启用自动探测
配置内核参数(bootargs)
确保根文件系统路径与设备匹配:
# 从eMMC的第二个分区挂载根文件系统
setenv bootargs 'console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait'
(3) 保存配置
saveenv
将环境变量保存到持久存储(如eMMC或Flash),否则重启后配置丢失。
3. 不同启动模式示例
eMMC启动
确保镜像已烧录至eMMC,配置bootcmd指向mmc0。
SD卡启动
将镜像拷贝到SD卡,调整mmc dev设备号并更新bootcmd。
网络启动(TFTP)
配置U-boot网络参数:
setenv serverip 192.168.1.100 # TFTP服务器IP
setenv ipaddr 192.168.1.200 # 开发板IP
4. 注意事项
- 设备编号验证
使用mmc list或usb start确认存储设备编号(如mmc0/mmc1)。
- 镜像兼容性
确保内核(zImage/uImage)、设备树与根文件系统匹配当前硬件。
- 恢复默认配置
若配置错误,执行env default -a恢复默认,再saveenv。
通过以上步骤,可灵活配置MRT_SYS_EVB V3开发板的启动模式。具体参数请以硬件手册和实际镜像路径为准。
针对MRT_SYS_EVB V3开发板的开机模式选择及U-boot配置,以下是详细的步骤说明:
1. 硬件启动模式配置
- 拨码开关/跳线设置
开发板通常通过物理拨码开关或跳线选择启动源(如eMMC、SD卡、USB等)。请参考开发板手册确认开关位置及对应模式。例如:
- 拨码开关为
0101 时从eMMC启动。
- 拨码开关为
1010 时从SD卡启动。
2. U-boot 配置步骤
(1) 进入U-boot命令行
开发板启动时,在串口终端按下任意键(如空格或回车)中断自动引导,进入U-boot命令行。
(2) 查看与修改启动参数
查看当前环境变量
printenv
重点关注 bootcmd(引导命令)、bootargs(内核参数)及 boot_targets(启动设备优先级)。
设置启动设备(以eMMC为例)
# 选择eMMC设备(假设eMMC为mmc0)
mmc dev 0
# 设置从eMMC加载内核镜像和设备树
setenv load_kernel 'load mmc 0:1 ${kernel_addr_r} /boot/zImage'
setenv load_dtb 'load mmc 0:1 ${fdt_addr_r} /boot/board.dtb'
配置启动命令(bootcmd)
根据启动模式修改 bootcmd:
# 从eMMC启动
setenv bootcmd 'run load_kernel; run load_dtb; bootz ${kernel_addr_r} - ${fdt_addr_r}'
# 从SD卡启动(假设SD卡为mmc1)
setenv bootcmd 'mmc dev 1; load mmc 1:1 ${kernel_addr_r} /boot/zImage; bootz ${kernel_addr_r}'
# 网络启动(TFTP)
setenv bootcmd 'dhcp ${kernel_addr_r} 192.168.1.100:/tftpboot/zImage; bootz ${kernel_addr_r}'
设置启动顺序(boot_targets)
若支持多设备自动探测,可定义优先级:
setenv boot_targets 'mmc0 mmc1 usb0 pxe'
setenv bootcmd 'run distro_bootcmd' # 启用自动探测
配置内核参数(bootargs)
确保根文件系统路径与设备匹配:
# 从eMMC的第二个分区挂载根文件系统
setenv bootargs 'console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait'
(3) 保存配置
saveenv
将环境变量保存到持久存储(如eMMC或Flash),否则重启后配置丢失。
3. 不同启动模式示例
eMMC启动
确保镜像已烧录至eMMC,配置bootcmd指向mmc0。
SD卡启动
将镜像拷贝到SD卡,调整mmc dev设备号并更新bootcmd。
网络启动(TFTP)
配置U-boot网络参数:
setenv serverip 192.168.1.100 # TFTP服务器IP
setenv ipaddr 192.168.1.200 # 开发板IP
4. 注意事项
- 设备编号验证
使用mmc list或usb start确认存储设备编号(如mmc0/mmc1)。
- 镜像兼容性
确保内核(zImage/uImage)、设备树与根文件系统匹配当前硬件。
- 恢复默认配置
若配置错误,执行env default -a恢复默认,再saveenv。
通过以上步骤,可灵活配置MRT_SYS_EVB V3开发板的启动模式。具体参数请以硬件手册和实际镜像路径为准。
举报