board: myir imx6ull Y2 (512 ddr+ 4GB emmc)
总的来说,一个board目录下的c文件,2个configs目录下的h文件。
1.修改uboot源码下的include/configs/mx6_common.h文件
#define CONFIG_CONS_INDEX 3
2. 修改uboot源码下的include/configs/mx6ullevk.h文件
define CONFIG_MXC_UART_BASE UART3_BASE
同时还要将宏定义CONFIG_EXTRA_ENV_SETTINGS下的ttymxc0改为ttymxc2
3、修改board/myir/myd_y6ul_14x14.c(而不是board/freescale/mx6ullevk/mx6ullevk.c)这里踩过坑了! 也不是 MYiR-iMX-uboot\board\myir\myd_y6ull\myd_y6ull.c
将
static iomux_v3_cfg_t const uart1_pads[] = {
MX6_PAD_UART1_TX_DATA__UART1_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL),
MX6_PAD_UART1_RX_DATA__UART1_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL),
};
改为
static iomux_v3_cfg_t const uart1_pads[] = {
MX6_PAD_UART3_TX_DATA__UART3_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL),
MX6_PAD_UART3_RX_DATA__UART3_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL),
};
具体修改哪个c文件,也不能根据生成的.o文件判断,需要和对应的译配置指令匹配:
我这里 执行make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- myd_y6ull_14x14_emmc_defconfig
对应的是board/myir/myd_y6ul_14x14.c
4. 修改文件系统:
修改文件系统/etc/inittab文件
将
mxc0:12345:respawn:/sbin/getty -l /bin/autologin -n -L 115200 ttymxc0
改为
mxc0:12345:respawn:/sbin/getty -l /bin/autologin -n -L 115200 ttymxc2
参考编译指令:
#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_evk_emmc_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- myd_y6ull_14x14_emmc_defconfig
make V=0 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16