前面编译了官方开发板定制的uboot,并下载到开发中,能够启动。所以我们就要借鉴这个官方开发板的配置,添加自己的开发板,然后修改开发板的驱动。所谓的借鉴就是复制官方开发板的配置。

一、添加configs文件夹中的默认配置

我们编译的官方开发板的配置是mx6ull_14x14_evk_emmc_defconfig,所以添加自己的配置就是复制一下这个文件,并修改名字,在configs文件中使用命令:

cp mx6ull_14x14_evk_emmc_defconfig mx6ull_alpha_emmc_defconfig

结果如图:

使用gedit mx6ull_alpha_emmc_defconfig打开文件,修改文件中的CONFIG_SYS_EXTRA_OPTIONS、CONFIG_DEFAULT_DEVICE_TREE这两个宏,修改为自己开发板的名字,修改CONFIG_TARGET_MX6ULL_14X14_EVK为CONFIG_TARGET_MX6ULL_ALPHA_EMMC,其他的不用修改。修改后如下:

CONFIG_ARM=y
CONFIG_ARCH_MX6=y
CONFIG_TARGET_MX6ULL_ALPHA_EMMC=y
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xE0000
CONFIG_DM_GPIO=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6ull_alpha_emmc/imximage.cfg"
CONFIG_BOOTDELAY=3
# CONFIG_CONSOLE_MUX is not set
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
CONFIG_SUPPORT_RAW_INITRD=y
CONFIG_BOUNCE_BUFFER=y
CONFIG_BOARD_EARLY_INIT_F=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
CONFIG_CMD_MEMTEST=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_I2C=y
CONFIG_CMD_MMC=y
CONFIG_CMD_SF=y
CONFIG_CMD_USB=y
CONFIG_CMD_DHCP=y
CONFIG_CMD_PING=y
CONFIG_CMD_BMP=y
CONFIG_CMD_CACHE=y
CONFIG_CMD_NET=y
CONFIG_CMD_EXT2=y
CONFIG_CMD_EXT4=y
CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_OF_CONTROL=y
CONFIG_DEFAULT_DEVICE_TREE="imx6ull-alpha-emmc"
CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_DM_74X164=y
CONFIG_DM_I2C=y
CONFIG_DM_MMC=y
CONFIG_FSL_USDHC=y
CONFIG_MTD=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SF_DEFAULT_MODE=0
CONFIG_SF_DEFAULT_SPEED=40000000
CONFIG_SPI_FLASH_STMICRO=y
CONFIG_PHYLIB=y
CONFIG_PHY_MICREL=y
CONFIG_PHY_MICREL_KSZ8XXX=y
CONFIG_DM_ETH=y
CONFIG_DM_ETH_PHY=y
CONFIG_FEC_MXC=y
CONFIG_MII=y
CONFIG_PINCTRL=y
CONFIG_PINCTRL_IMX6=y
CONFIG_DM_REGULATOR=y
CONFIG_DM_REGULATOR_FIXED=y
CONFIG_DM_REGULATOR_GPIO=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
CONFIG_SOFT_SPI=y
CONFIG_FSL_QSPI=y
CONFIG_USB=y
CONFIG_DM_USB=y
CONFIG_USB_STORAGE=y
CONFIG_USB_HOST_ETHER=y
CONFIG_USB_ETHER_ASIX=y
CONFIG_DM_VIDEO=y
CONFIG_SYS_WHITE_ON_BLACK=yCONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DOWNLOAD=y
CONFIG_USB_GADGET_MANUFACTURER="FSL"
CONFIG_USB_GADGET_VENDOR_NUM=0x0525
CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
CONFIG_CI_UDC=yCONFIG_CMD_FASTBOOT=y
CONFIG_USB_FUNCTION_FASTBOOT=y
CONFIG_FASTBOOT_UUU_SUPPORT=y
CONFIG_FASTBOOT=y
CONFIG_FASTBOOT_BUF_ADDR=0x83800000
CONFIG_FASTBOOT_BUF_SIZE=0x40000000
CONFIG_FASTBOOT_FLASH=y
CONFIG_EFI_PARTITION=y

CONFIG_SYS_EXTRA_OPTIONS从新指定了,开发板的信息的路径,但是现在uboot的工程中并没有我们的开发板的文件,所以需要添加,进入board/freescale/这个文件夹,复制mx6ullevk文件夹(mx6ull_14x14_evk_defconfig中指定的是这个文件夹),并修改名字为mx6ull_alpha_emmc。

进入mx6ull_alpha_emmc文件夹,内容如图:

先修改mx6ullevk.c的名字为mx6ull_alpha_emmc.c

修改Makefile如下:

obj-y  := mx6ull_alpha_emmc.o

修改imximage.cfg的第34行如下

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

修改imximage_lpddr2.cfg的第35行如下

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

修改Kconfig如下:

if TARGET_MX6ULL_ALPHA_EMMCconfig SYS_BOARDdefault "mx6ull_alpha_emmc"config SYS_VENDORdefault "freescale"config SYS_CONFIG_NAMEdefault "mx6ull_alpha_emmc"config SYS_TEXT_BASEdefault 0x87800000
endif

修改MAINTAINERS如下

  1 MX6ULL_ALPHA_EMMC BOARD2 M:  Peng Fan <peng.fan@nxp.com>3 S:  Maintained4 F:  board/freescale/mx6ull_alpha_emmc/5 F:  include/configs/mx6ull_alpha_emmc.h6 F:  configs/mx6ull_14x14_evk_defconfig7 F:  configs/mx6ull_14x14_evk_plugin_defconfig8 F:  configs/mx6ulz_14x14_evk_defconfig

mx6ull_alpha_emmc_defconfig文件中CONFIG_DEFAULT_DEVICE_TREE配置是设备树。所以我们还需要去arch/arm/dts中,复制imx6ull14x14-evk-emmc.dts,修改名字为imx6ull-alpha-emmc.dts(名字是CONFIG_DEFAULT_DEVICE_TREE)

cp imx6ull-14x14-evk-emmc.dts imx6ull-alpha-emmc.dts

并修改arch/arm/dts/Makefile文件,添加编译imx6ull-alpha_emmc.dtb,修改后如下

711 dtb-$(CONFIG_MX6ULL) += \712     imx6ull-14x14-ddr3-val.dtb \713     imx6ull-14x14-ddr3-val-epdc.dtb \714     imx6ull-14x14-ddr3-val-emmc.dtb \715     imx6ull-14x14-ddr3-val-gpmi-weim.dtb \716     imx6ull-14x14-ddr3-val-tsc.dtb \717     imx6ull-14x14-evk.dtb \718     imx6ull-14x14-evk-emmc.dtb \719     imx6ull-alpha-emmc.dtb \720     imx6ull-14x14-evk-gpmi-weim.dtb \721     imx6ull-9x9-evk.dtb \722     imx6ull-colibri.dtb \723     imx6ull-phytec-segin-ff-rdk-emmc.dtb \724     imx6ull-dart-6ul.dtb \725     imx6ull-somlabs-visionsom.dtb \726     imx6ulz-14x14-evk.dtb \727     imx6ulz-14x14-evk-emmc.dtb \728     imx6ulz-14x14-evk-gpmi-weim.dtb729

从board/freescale/mx6ull_alpha_emmc/MAINTAINERS文件中的第5行可知,我们还需要include/configs中的有文件。所以进入include/configs中,复制mx6ullevk.h,修改名字为mx6ull_alpha_emmc.h

cp mx6ullevk.h mx6ull_alpha_emmc.h

看起来准备工作差不多了,现在要使CPU支持我们的开发板就把我们的板子添加进去了。

进入arch/arm/mach-imx/mx6文件夹,修改Kconfig,添加一下内容

config TARGET_MX6ULL_ALPHA_EMMCbool "Support mx6ull_alpha_emmc"select BOARD_LATE_INITselect DMselect DM_THERMALselect MX6ULLimply CMD_DM
source "board/freescale/mx6ull_alpha_emmc/Kconfig"

接下来就编译一下试一试:

make distclean
make mx6ull_alpha_emmc_defconfig
make

编译顺利通过,复制到TF卡,启动开发板试一试。

和使用官方的配置结果是一样的,当然一样,应为我们只是添加了自己的板子,是从官方复制过来的,没有做任何修改。接下来就是该修改修改,适配我们自己的板子了。

移植u-boot2020.04到原子哥的alpha开发板(三)相关推荐

  1. pdfstamper生成pdf无法显示汉字_正点原子STM32F4/F7水星开发板资料连载第四十六章 汉字显示实验...

    1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...

  2. 正点原子阿波罗STM32F429开发板资料发布,采用底板+核心板

    正点原子阿波罗STM32F429开发板资料发布,采用底板+核心板.... https://www.amobbs.com/thread-5654611-1-1.html 正点原子STM32开发板 htt ...

  3. fpu测试_正点原子STM32F4/F7水星开发板资料连载第五十章 FPU 测试实验

    1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...

  4. 光盘显示0字节可用_正点原子STM32F4/F7水星开发板资料连载第四十六章 汉字显示实验

    1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...

  5. 正点原子alpha开发板关闭桌面进程

    正点原子alpha开发板关闭桌面进程 关闭桌面进程 启动桌面程序 描述:因为我要在开发板上运行自己的QT的程序,所以我要关闭他的桌面程序,否则他会一直刷新屏幕 关闭桌面进程 在终端输入: ps -au ...

  6. 正点原子STM32103 战舰V3 开发板的ST LINK(SWD)接线图

    正点原子STM32103 战舰V3 开发板的ST LINK(SWD)接线如下图,5V供电旁边有个自锁开关,需要按下去(右下角有个POWER蓝色灯会点亮)才是上电的,另外另外根据实验测试使用ST LIN ...

  7. 【tinyriscv verilator】分支移植到正点原子达芬奇开发板

    我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计. 关注公众号[集成电路设计教程],获取更多学习资料,并拉你进"IC设计交流群". QQIC设计& ...

  8. 移植Ubuntu Base 20.04 LTS (Focal Fossa)到4412开发板

    前言 此文填上篇文章[移植Linux-5.4+内核到4412开发板移植]的坑,在前面的文章移植完uboot,内核后,接下来就是文件系统的移植了.博主的其他几篇博文里面也有自己构建根文件系统的教程,那样 ...

  9. stm32mp157系统移植 | 移植ST官方5.10内核到小熊派开发板

    Linux内核移植流程 移植Linux内核到一个新的板子上时,需要以下步骤: (1)选择一个硬件设计接近的板子,基于此板相关文件开始移植 (2)拷贝单板配置文件(arch/arm/configs) ( ...

最新文章

  1. Service概念及用途
  2. 超级计算机的缺点,超级计算机也无法算完圆周率,反而会死机?说出来你一定不会相信...
  3. Android自定义控件实现九宫格解锁
  4. php请求脚本,同时请求PHP脚本
  5. 数据结构——图-有向带权图的邻接表基础
  6. Windows phone7 软件发布:理财计算器(包括wp7房贷计算器,wp7个税计算器,wp7存款利息计算器)...
  7. jq苹果手机全屏下点击无效果_苹果系统自带外挂?无需越狱也可录制动作脚本...
  8. C 标准库—— stdlib.h(包括 rand srand 的实现)
  9. 【洛谷1985】【USACO07OPEN】翻转棋
  10. Android防止启动页面闪白问题
  11. java compile方法_Java中带有示例的模式compile()方法
  12. 系统分析员、系统架构师、项目经理的区别
  13. Android studio运行出错 compilation failed see the compiler error output for details.
  14. 关于PEP8报too long问题的解决方式
  15. 移动设备上“精灵图”的制作
  16. Android计算标准BMI值
  17. WPF 3D 点光源学习
  18. Java拼图游戏总结,Java拼图游戏课程设计报告
  19. Crd(自定义资源类型)2021.12.05
  20. Ubuntu18.04使用apt update更新报错:W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。

热门文章

  1. 小程序开发效率提升(持续更新)
  2. 获取矩阵内非零元素坐标
  3. 心路历程:当win10遇上win7激活程序...请默哀
  4. Javascript 检测键盘按键
  5. git clone 报 “remote: The project you were looking for could not be found.”
  6. 什么是时序数据?如何治理?
  7. 程序设计 模拟排球比赛分析
  8. 银河移民PHP面试,移民香港,我真的“后悔死了”
  9. 楼教主(楼天成)的ACM心路历程
  10. ubuntu18.04 台式机无线网卡TPLink WDN5200H2.0驱动安装