一、NXP 官方的 I.MX6ULL EVK 开发板为例

2.1 添加开发板默认配置文件,在cinfigs目录下创建配置文件(已经省略路径为:1、例程源码->4、NXP 官方原版 Uboot 和 Linux->uboot-
imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2。将 uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2 发送到 Ubuntu的步骤)

cd configs
cp mx6ull_14x14_evk_emmc_defconfig    mx6ull_alientek_emmc_defconfig

然后修改mx6ull_alientek_emmc_defconfig 中的内容改成如下

CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6ull_alientek_
emmc/imximage.cfg,MX6ULL_EVK_EMMC_REWORK"
CONFIG_ARM=y
CONFIG_ARCH_MX6=y
CONFIG_TARGET_MX6ULL_ALIENTEK_EMMC=y
CONFIG_CMD_GPIO=y

2.2 添加开发板对应的头文件

在 目 录 include/configs 下 添 加 I.MX6ULL-ALPHA 开 发 板 对 应 的 头 文 件 , 复 制 include/configs/mx6ullevk.h,并重命名为 mx6ull_alientek_emmc.h

cp include/configs/mx6ullevk.h mx6ull_alientek_emmc.h

完成后将如下内容:

#ifndef __MX6ULLEVK_CONFIG_H
#define __MX6ULLEVK_CONFIG_H

更改为:

#ifndef __MX6ULL_ALIENTEK_EMMC_CONFIG_H
#define __MX6ULL_ALIENTEK_EMMC_CONFIG_H

2.3 添加开发板对应的板级文件夹

在NXP的board/freescale 目录下有个名为 mx6ullevk 的文件夹,这个文件夹就是 NXP 官方 I.MX6ULL EVK 开发板的板级文件夹,复制 mx6ullevk,将其重命名为 mx6ull_alientek_emmc

cd board/freescale/
cp mx6ullevk/ -r mx6ull_alientek_emmc

进 入 mx6ull_alientek_emmc 目 录 中 , 将 其 中 的 mx6ullevk.c 文 件 重 命 名 为
mx6ull_alientek_emmc.c

cd mx6ull_alientek_emmc
mv mx6ullevk.c mx6ull_alientek_emmc.c

2.4修改 mx6ull_alientek_emmc 目录下的 Makefile 文件

mx6ull_alientek_emmc 下的 Makefile 文件内容改为如下:

# (C) Copyright 2015 Freescale Semiconductor, Inc.
#
# SPDX-License-Identifier:   GPL-2.0+
# obj-y  := mx6ull_alientek_emmc.o extra-$(CONFIG_USE_PLUGIN) :=  plugin.bin
$(obj)/plugin.bin: $(obj)/plugin.o
$(OBJCOPY) -O binary --gap-fill 0xff $< $@

重点是第 6 行的 obj-y,改为 mx6ull_alientek_emmc.o,这样才会编译 mx6ull_alientek_emmc.c
这个文件。

2.5修改 mx6ull_alientek_emmc 目录下的 imximage.cfg 文件

将 imximage.cfg 中的如下内容进行更改:

PLUGIN board/freescale/mx6ullevk/plugin.bin 0x00907000

更改为:

PLUGIN board/freescale/mx6ull_alientek_emmc /plugin.bin 0x00907000

2.6、修改 mx6ull_alientek_emmc 目录下的 Kconfig 文件 修改后内容如下:

if TARGET_MX6ULL_ALIENTEK_EMMCconfig SYS_BOARD default "mx6ull_alientek_emmc"config SYS_VENDOR default "freescale"config SYS_SOC default "mx6" config SYS_CONFIG_NAME default "mx6ull_alientek_emmc" endif

2.6修改 mx6ull_alientek_emmc 目录下的 MAINTAINERS 文件

修改后内容如下:

MX6ULL_ALIENTEK_EMMC BOARD
M:    Peng Fan <peng.fan@nxp.com>
S:    Maintained
F:    board/freescale/mx6ull_alientek_emmc/
F:    include/configs/mx6ull_alientek_emmc.h

2.7修改 U-Boot 图形界面配置文件

uboot 是支持图形界面配置,修改文件arch/arm/cpu/armv7/mx6/Kconfig,在207行加入如下内容:

config TARGET_MX6ULL_ALIENTEK_EMMC bool "Support mx6ull_alientek_emmc" select MX6ULL select DM select DM_THERMAL

在最后一行的 endif 的前一行添加如下内容:

source "board/freescale/mx6ull_alientek_emmc/Kconfig"

如图:

2.8使用新添加的板子配置编译 uboot

在 uboot 根目录下新建一个名为 mx6ull_alientek_emmc.sh 的 shell 脚本
内容为:

#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- (加空格)
mx6ull_alientek_emmc_defconfig
make V=1  ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16

给予mx6ull_alientek_emmc.sh脚本可执行权限

chmod 777 mx6ull_alientek_emmc.sh    //给予可执行权限,一次即可
./mx6ull_alientek_emmc.sh        //运行脚本编译 uboot

等 待 编 译 完 成,查 看 一 下mx6ull_alientek_emmc.h 这个头文件有没有被引用

grep -nR "mx6ull_alientek_emmc.h"

编译完成以后就使用 imxdownload,将u-boot.bin烧写到SD卡中,在串口输出如图

由图可知:此时的 Board 还是“MX6ULL 14x14 EVK”,要是屏幕没有显示的话是屏幕参数不对,需要修改屏幕参数(下次更新即为屏幕参数的修改,期待会遇到啥bug)

2.9遇到的问题:

1、“board/freescale/mx6ull_alientek_emmc/Kconfig”
make[1]: *** [scripts/kconfig/Makefile:114:mx6ull_alientek_emmc_defconfig] 错误 1
如图:
是因为对应的路径文件名没有改对,将其修改过来,如图所示即可!注意看路径!!!!

2、遇到:‘endif’ in different file than ‘if’ 的问题时,如图所示:

**

解决方法:在endif下添个回车即可解决,如图所示

**:

2.1在 U-Boot 中添加自己的开发板相关推荐

  1. android 在init.rc中添加bootmusic,xboot-x4412开发板问题汇总-开发 - Powered by Discuz!

    Q1:编译android时,执行mk脚本提示如下错误信息: lqm@ubuntu:~/samba/x4412_ics_rtm_v10$ ./mk -s ./mk: 95: ./mk: source: ...

  2. ESP32修改BootLoader:在boot中添加GPIO和IIC驱动方式

    ESP32修改BootLoader:在boot中添加GPIO和IIC驱动方式 1. ESP Bootloader简介 ESP32有着强大的引导加载程序(Bootloader)功能: 主要执行以下任务: ...

  3. 使用普中科技ESV2.0开发板控制步进电机

    使用普中科技ESV2.0开发板驱动步进电机 文章目录 使用普中科技ESV2.0开发板驱动步进电机 前言 一.步进电机的驱动原理 工作原理 二.如何让步进电机转起来 相数 驱动方法 注意图中接线顺序,不 ...

  4. Arduino手动添加ESP32相关开发板(图文并茂)

    一.前述   使用Arduino开发ESP32,就绕不开添加ESP32开发板这一步,网上有很多相关教程,介绍的很详细,但是在实际操作过程中还是遇到一些问题,所以在这里记录一下,希望可以帮到别人.    ...

  5. 交叉编译环境中虚拟机ubuntu向开发板传送文件的方法

    预备知识: NFS是什么? NFS:Network File System(网络文件系统),NFS只是一种文件系统,本身并没有传输功能,是基于RPC协议实现的,为C/S架构.也就是说,NFS也只是文件 ...

  6. android开发板功能,Android中NFC模块PN532开发板应用/原理图/PCB等全部资料

    PN532是NXP最近推出的一款NFC芯片,支持读卡器模式和卡模式(需要卡芯片Smart MX),支持TypeA丶TypeB丶TypeC三个标准.该NFC模块PN532开发板特点: @ 内部带一个MC ...

  7. 使用hanewin实现 win系统主机,vm虚拟机中linux系统和开发板三方共享文件夹

    一般嵌入式开发模式为:win系统主机上用vm等虚拟机中安装linux系统开发软件,然后win系统主机通过网线连接开发板进行调试.这就涉及到虚拟机中linux系统与win系统主机以及开发板三者间的文件互 ...

  8. SpringBoot学习之路:09.Spring Boot中添加Filter应用

    2019独角兽企业重金招聘Python工程师标准>>> 上篇文章中说了SpringBoot中是如何使用servlet的,本文将讲解在SpringBoot中对过滤器Filter的实现 ...

  9. 基于Qemu搭建imx6l模拟开发板环境+添加驱动+驱动测试

    一.Qemu镜像下载 准备环境 vmware ubuntu18.04 git工具 下载镜像文件 root@ubuntu:/home/mf/Desktop# git clone https://e.co ...

最新文章

  1. 6年从华人首富到破产,这可能是史上最惨的接班案例
  2. 页面导航的基础与深入
  3. Node.js 之 新手安装详解 及 npm 配置说明
  4. Fikker反向代理服务器的网站缓存加速/网站加速基础教程
  5. java静态页面我都做不出_Java高并发:静态页面生成方案
  6. 【zookeeper】zookeeper znode 存储系统解密
  7. span标签的取值与赋值
  8. python提供了名称为什么的构造方法_python面向对象编程(1)——基本概念,术语,self,构造器...
  9. const char * char * const
  10. IPSEC 001 --- 原理简介
  11. 新兴IT企业特斯拉(二)——特斯拉的诞生
  12. 体系建模系统软件:体系结构建模工具攻略
  13. Ps camera raw怎么打开xmp预设
  14. JavaScript 全栈工程师培训教程(React.js + Node.js)
  15. WebApp - 微信浏览器解决安全提示“防盗号或诈骗,请不要输入QQ密码”
  16. 2022-7-27 顾宇佳 学习笔记
  17. 1134. 积木分发
  18. 数电实验_时分秒计数器——终极版
  19. Nachos 3.4入门的两个问题
  20. 基于实时计算(flink)打造舆情分析平台——新华智云...

热门文章

  1. 论文阅读:HAD-Net: A Hierarchical Adversarial Knowledge Distillation Network for Improved Enhanced Tumour
  2. js设置css色相旋转_色相旋转颜色方案是否保留了对色盲友好的能力?
  3. 用MATLAB绘制国债NSS模型,Matlab在数字信号处理中的运用.ppt
  4. 浪潮服务器开机板载卡显示FF,浪潮服务器安装操作系统简要步骤说明
  5. 不懂就问,机器人做核酸是一种什么体验?|一周AI新闻
  6. 从 .NET 开发人员的角度理解 Excel 对象模型 (From MSDN)
  7. Fatal error in launcher: Unable to create process using
  8. mysql如何用_如何使用mysql
  9. 一种编程语言必备的功能
  10. macOS打开Excel镜像翻转问题