imx6ull uboot 修改调试串口1为串口3

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

 


版权声明:本文为czw707703387原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。