移植u-boot2020.04到原子哥的alpha开发板(三)
前面编译了官方开发板定制的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开发板(三)相关推荐
- pdfstamper生成pdf无法显示汉字_正点原子STM32F4/F7水星开发板资料连载第四十六章 汉字显示实验...
1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...
- 正点原子阿波罗STM32F429开发板资料发布,采用底板+核心板
正点原子阿波罗STM32F429开发板资料发布,采用底板+核心板.... https://www.amobbs.com/thread-5654611-1-1.html 正点原子STM32开发板 htt ...
- fpu测试_正点原子STM32F4/F7水星开发板资料连载第五十章 FPU 测试实验
1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...
- 光盘显示0字节可用_正点原子STM32F4/F7水星开发板资料连载第四十六章 汉字显示实验
1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...
- 正点原子alpha开发板关闭桌面进程
正点原子alpha开发板关闭桌面进程 关闭桌面进程 启动桌面程序 描述:因为我要在开发板上运行自己的QT的程序,所以我要关闭他的桌面程序,否则他会一直刷新屏幕 关闭桌面进程 在终端输入: ps -au ...
- 正点原子STM32103 战舰V3 开发板的ST LINK(SWD)接线图
正点原子STM32103 战舰V3 开发板的ST LINK(SWD)接线如下图,5V供电旁边有个自锁开关,需要按下去(右下角有个POWER蓝色灯会点亮)才是上电的,另外另外根据实验测试使用ST LIN ...
- 【tinyriscv verilator】分支移植到正点原子达芬奇开发板
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计. 关注公众号[集成电路设计教程],获取更多学习资料,并拉你进"IC设计交流群". QQIC设计& ...
- 移植Ubuntu Base 20.04 LTS (Focal Fossa)到4412开发板
前言 此文填上篇文章[移植Linux-5.4+内核到4412开发板移植]的坑,在前面的文章移植完uboot,内核后,接下来就是文件系统的移植了.博主的其他几篇博文里面也有自己构建根文件系统的教程,那样 ...
- stm32mp157系统移植 | 移植ST官方5.10内核到小熊派开发板
Linux内核移植流程 移植Linux内核到一个新的板子上时,需要以下步骤: (1)选择一个硬件设计接近的板子,基于此板相关文件开始移植 (2)拷贝单板配置文件(arch/arm/configs) ( ...
最新文章
- Service概念及用途
- 超级计算机的缺点,超级计算机也无法算完圆周率,反而会死机?说出来你一定不会相信...
- Android自定义控件实现九宫格解锁
- php请求脚本,同时请求PHP脚本
- 数据结构——图-有向带权图的邻接表基础
- Windows phone7 软件发布:理财计算器(包括wp7房贷计算器,wp7个税计算器,wp7存款利息计算器)...
- jq苹果手机全屏下点击无效果_苹果系统自带外挂?无需越狱也可录制动作脚本...
- C 标准库—— stdlib.h(包括 rand srand 的实现)
- 【洛谷1985】【USACO07OPEN】翻转棋
- Android防止启动页面闪白问题
- java compile方法_Java中带有示例的模式compile()方法
- 系统分析员、系统架构师、项目经理的区别
- Android studio运行出错 compilation failed see the compiler error output for details.
- 关于PEP8报too long问题的解决方式
- 移动设备上“精灵图”的制作
- Android计算标准BMI值
- WPF 3D 点光源学习
- Java拼图游戏总结,Java拼图游戏课程设计报告
- Crd(自定义资源类型)2021.12.05
- Ubuntu18.04使用apt update更新报错:W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。
热门文章
- 小程序开发效率提升(持续更新)
- 获取矩阵内非零元素坐标
- 心路历程:当win10遇上win7激活程序...请默哀
- Javascript 检测键盘按键
- git clone 报 “remote: The project you were looking for could not be found.”
- 什么是时序数据?如何治理?
- 程序设计 模拟排球比赛分析
- 银河移民PHP面试,移民香港,我真的“后悔死了”
- 楼教主(楼天成)的ACM心路历程
- ubuntu18.04 台式机无线网卡TPLink WDN5200H2.0驱动安装