本文主要记录imx6ull的linux驱动开发过程中常用的一些操作。
uboot编译
前提是打开UBOOT顶层的Makefile文件,直接给 ARCH 和CORSS_COMPILE 赋值:

也就是加上这两句
objectivec
ARCH ?= arm
CROSS_COMPILE ?= /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
直接输入交叉编译工具链的可执行路径。
之后即可使用简易的编译指令
make distclean
make mx6ull_14x14_evk_emmc_defconfig
make V=1 -j4
如何SD卡烧录uboot
参考这篇文章里的代码烧写部分
I.MX6U裸机-汇编LED灯实验_mdk i.mx6-CSDN博客

sd卡启动方式拨码如下:

烧写命令如下:
./imxdownload u-boot.bin /dev/sdd
注意,要烧写到自己的sd卡中,不能烧写到/dev/sda 或 sda1 里面
kernel编译
修改顶层 Makefile,直接在顶层 Makefile 文件里面定义 ARCH 和 CROSS_COMPILE 这两个的变量值:
ARCH ?= arm
CROSS_COMPILE ?= /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
因为我的系统中有两个交叉编译工具链,所以需要用绝对路径指定要用的是哪一个。
结果如下图所示:

注释掉之前的,然后分别设置了 ARCH 和 CROSS_COMPILE 这两个变量的值,这样在编译的时候就不用输入很长的命令了。
之后执行如下命令来编译
第一次编译 Linux 内核之前先清理一下
make clean
配置 Linux 内核
make imx_v7_mfg_defconfig