基于IMX6Q移植uboot2018-09——添加单板

本文记录了一次使用IMX6Q开发板进行U-Boot定制的过程,从解压源码到配置交叉编译环境,再到修改单板配置及编译,详细介绍了每个步骤的操作细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 这块IMX6Q的板子是当时在成都工作的时候接触到nxp的SOC,自己感觉nxp的SOC比较有趣,所以就买来玩一玩,但是刚刚玩了没有多久就过年回家了,过年回家再来到成都的时候就忙着工作,忙着靠驾校,忙着准备来魔都,七月份裸辞来到魔都又忙着找工作,一晃就现在了,在魔都赶飞的节奏中我更感自己能力的不足和周围人的优秀奋进,也在这国际化的大都市中感受到了成都不能感受到的一些东西,同样也是在这大环境中刺激了我更大的欲望与那所谓的理想……,所以啊,所以键盘还是得敲起来,今天下午在抢到19年春节前最后一张回家的票后心情大好,也终于开始了新的一波……

1:解压:
    tar -xjvf u-boot-2018.09.tar.bz2
2:进入uboot根目录
    cd u-boot-2018.09/
3:添加SOC体系结构和交叉编译器
    vim Makefile
    在    
    VERSION = 2018
    PATCHLEVEL = 09
    SUBLEVEL =
    EXTRAVERSION =
    NAME =
    后添加:
    ARCH=arm
    CROSS_COMPILE=arm-linux-gnueabihf-//这个是自己交叉编译工具跟着自己的修改

4:在./board/freescale/中看见mx6qarm2单板,不知道为啥第一眼看上去就比较亲切所以就用它作为新单板的模板吧!
    复制:cp board/freescale/mx6qarm2/ board/freescale/tqmx6q -rf
    进入我们的单板目录:cd board/freescale/tqmx6q/
    修改我们的单板目录下的文件:
    1)vim Kconfig
    修改为:
            if TARGET_TQMX6Q

            config SYS_BOARD
                    default "tqmx6q"

            config SYS_VENDOR
                    default "freescale"

            config SYS_CONFIG_NAME
                    default "tqmx6q"

            endif
    2)mv mx6qarm2.c tqmx6q.c
    3)vim Makefile
    修改为:
            obj-y   := tqmx6q.o
    4)vim MAINTAINERS
    修改为:
            TQMX6Q BOARD
            M:      Jason Liu <jason.hui.liu@nxp.com>
            M:      Ye Li <ye.li@nxp.com>
            S:      Maintained
            F:      board/freescale/tqmx6q/
            F:      include/configs/tqmx6q.h
            F:      configs/tqmx6q_defconfig

5:根据MAINTAINERS中的内容去修改我们相关联的文件
    首先回到uboot的根目录cd -
    cp include/configs/mx6qarm2.h include/configs/tqmx6q.h
    cp configs/mx6qarm2_defconfig configs/tqmx6q_defconfig
    vim configs/tqmx6q_defconfig
    修改为
            CONFIG_ARM=y
            CONFIG_ARCH_MX6=y
            CONFIG_SYS_TEXT_BASE=0x17800000
            CONFIG_TARGET_TQMX6Q=y
            # CONFIG_CMD_BMODE is not set
            CONFIG_NR_DRAM_BANKS=1
            CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/tqmx6q/imximage.cfg,MX6Q,DDR_MB=2048"
            CONFIG_BOOTDELAY=3
            CONFIG_SUPPORT_RAW_INITRD=y
            CONFIG_BOARD_EARLY_INIT_F=y
            CONFIG_HUSH_PARSER=y
            CONFIG_CMD_BOOTZ=y
            # CONFIG_CMD_FLASH is not set
            CONFIG_CMD_GPIO=y
            CONFIG_CMD_MMC=y
            CONFIG_CMD_USB=y
            # CONFIG_CMD_SETEXPR is not set
            CONFIG_CMD_DHCP=y
            CONFIG_CMD_MII=y
            CONFIG_CMD_PING=y
            CONFIG_CMD_CACHE=y
            CONFIG_CMD_EXT2=y
            CONFIG_CMD_EXT4=y
            CONFIG_CMD_EXT4_WRITE=y
            CONFIG_CMD_FAT=y
            CONFIG_CMD_FS_GENERIC=y
            CONFIG_ENV_IS_IN_MMC=y
            CONFIG_FSL_ESDHC=y
            CONFIG_MII=y
            CONFIG_USB=y
            CONFIG_USB_STORAGE=y
            CONFIG_USB_HOST_ETHER=y
            CONFIG_USB_ETHER_ASIX=y
            CONFIG_OF_LIBFDT=y
            
6:添加tqmx6q信息
    vim arch/arm/mach-imx/mx6/Kconfig
    查找到:
          config TARGET_MX6QARM2
          bool "mx6qarm2"
    在这个下面添加:
          config TARGET_TQMX6Q
          bool "tqmx6q"
            
    找到
          source "board/freescale/mx6qarm2/Kconfig"
    在这个下面添加:
          source "board/freescale/tqmx6q/Kconfig"

            
执行:
    make tqmx6q_defconfig
    make
如果一切顺利就会产生出u-boot.bin代表添加单板成功,有可能有问题,以后遇到再解决。



               


 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值