启扬imx6开发板顺利启动?咱们一步一步来

想让启扬IMX6开发板顺利启动?咱们一步一步来。先把开发板接上电源,等 U-Boot 一跑起来,屏幕上立马就会出现一行提示:“Hit any key to stop autoboot”。这是 U-Boot 给咱们留的口子,只要在 2 秒内随便按个键,就能把自动启动给停下来,方便咱们敲命令。 进到命令行之后,先别急着干别的,先敲个 printenv 命令。这一操作能把环境变量一股脑儿全给打印出来,里面包括板名、MAC 地址、用啥文件系统,还有最重要的启动参数 BOOTARGS。这些信息后面都会原封不动传给 Linux 内核,内核就是靠着这些配置去加载驱动和根文件系统的。 要是 MAC 地址不小心写错了也别慌,U-Boot 允许咱们现场改。用 setenv ethaddr 加上新地址就行,改完再看 printenv 确认有没有改对。最后输入 boot 让内核重新加载,再用 ifconfig 查一下网卡的 MAC 地址有没有变过来。不过要注意了,这种修改只在这次开机时管用;如果想让板子下次开机还保持这个设置,得用 saveenv 把变量写到存储器里去,一般默认都是写到 eMMC 上。 想让新板子出厂的时候就带着正确配置,不用咱们每次都手动敲 setenv 吗?这好办,直接去 U-Boot 源码里改默认环境就行。路径是 include/configs/mx6qiyang_common.h,找到类似 #define CONFIG_BOOTARGS_MMC 的那一行代码。把里面的 PARTUUID 换成你对应分区的 UUID 号就好了。改完保存重新编译 U-Boot,烧录到 SD 卡或者 eMMC 里。下次开机就能自动加载正确的参数了。 别看 U-Boot 只有几十 KB 的大小,但工作量可不小。从板子上电复位开始到把 Linux 内核和根文件系统都装到内存里并交给它去跑,这期间要做的事儿可多了。得先检查 CPU 和外设是不是正常工作,把 SDRAM 和外存给初始化好;然后得读取启动镜像并校验一下;最后还得把控制权交给 Linux 内核。任何一步出岔子都会导致系统死机或者黑屏。正是这短短十几秒看似不起眼的活儿,决定了系统能不能稳稳地跑起来。