请确保以完成 bootloader 的移植:U-boot 配置、编译、移植
一、源码下载
1. Linux 官网下载:The Linux Kernel Archives
2.半导体厂商官网下载: 面向i.MX 6ULL和6ULZ应用处理器的评估套件
我用的是 NXP 提供的 linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2
二、配置文件
下载到虚拟机后,解压进入目录
修改Makefile
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-gnueabihf-
保存后退出
拷贝一份配置。
cd arch/arm/configs/
cp imx_v7_mfg_defconfig imx_lyh_emmc_defconfig

三、设备树
cd arch/arm/boot/dts
cp imx6ull-14x14-evk.dts imx6ull-lyh-emmc.dts
修改当前目录的 Makefile,添加自己的 dtb
四、编译
注意:我使用的交叉编译是 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf ,在测试其他交叉编译版本时,发现可能编译失败,建议使用与笔者相同的版本
写一个简单的脚本,方便编译:
vi imx_lyh.sh
#!/bin/sh
make distclean
make imx_lyh_emmc_defconfig
make menuconfig
make all -j6
chmod 777 imx_lyh.sh./imx_lyh.sh
tftp 80800000 zImage //zImage 下载到开发板 DRAM 的 0x80800000tftp 83000000 imx6ull-lyh-emmc.dtbbootz 80800000 - 83000000
出现以下界面:
五、修改CPU 主频和网络驱动
setenv bootargs "console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.137.10:/home/lyh/linux/nfs/rootfs ip=192.168.137.9:192.168.137.10:192.168.137.1:255.255.255.0::eth0:off"
emmc启动
setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
5.1 CPU主频
cat /proc/cpuinfo

cpuinfo_cur_freq :当前 cpu 工作频率,从 CPU 寄存器读取到的工作频率。cpuinfo_max_freq :处理器所能运行的最高工作频率 ( 单位 : KHz )。cpuinfo_min_freq :处理器所能运行的最低工作频率 ( 单位 : KHz