TA的每日心情 | 开心 2024-1-16 17:48 |
---|
签到天数: 592 天 连续签到: 1 天 [LV.9]以坛为家II
|
本帖最后由 robe.zhang 于 2019-5-29 01:43 编辑
直接从 uboot 的官网下载当前最新版本: u-boot-2019.04.tar.bz2
解压后先编译一下,试试有没有问题,这一步主要是检查 host pc 编译环境是不是和 uboot 代码匹配,以及 uboot 是否能编译通过;porting 后编译如果报错,就可以排除 uboot 源码原有的问题。
然后开始移植,主要做了以下动作;
# ========================================================
1,创建板目录,创建板文件,修改makefile
创建 vendor 目录 cp board/freescale board/robe -rp ; cd board/robe
创建 board 目录 cp mx6ullevk robe_mys_y6ulx -rf
创建 c 文件 cd robe_mys_y6ulx/; mv mx6ullevk.c robe_mys_y6ulx.c
修改 makefile:obj-y := mx6ullevk.o 为 obj-y := robe_mys_y6ulx.o
2,创建配置头文件
cd u-boot-2019.04/include/configs
cp mx6ullevk.h robe_mys_y6ulx.h
创建配置文件
cd u-boot-2019.04/configs
cp cp mx6ull_14x14_evk_defconfig robe_mys_y6ulx_defconfig
修改配置文件 和 kconfig 比较多,单列出来写再下面:
3,(如果需要)创建 cpu 目录和文件,本帖没有
4,配置 make robe_mys_y6ulx_defconfig
5,编译 make,安装 --------------------本贴进行到这里,接下来就是安装调试,主要是适配自己板子,根据自己需要定制,不停修改源码调试,无限循环下去直到自己满意
6,调试
# ============= 修改配置文件 和 kconfig 如下
(configs\robe_mys_y6ulx_defconfig)
1,修改配置文件: CONFIG_TARGET_ROBE_MYS_Y6ULX=y
2,修改 board kconfig 文件 board\robe\robe_mys_y6ulx\Kconfig 中的
if TARGET_ROBE_MYS_Y6ULX
config SYS_BOARD
default "robe_mys_y6ulx"
config SYS_VENDOR
default "robe"
config SYS_CONFIG_NAME
default "robe_mys_y6ulx"
endif
3,添加板子到kconfig 中:从 arch/${ARCH}/kconfig 中添加板子配置 source "board/freescale/robe_mys_y6ulx/Kconfig"
4,修改 arch\arm\mach-imx\mx6\Kconfig 添加
config TARGET_ROBE_MYS_Y6ULX
bool "Support robe_mys_y6ulx"
select BOARD_LATE_INIT
select DM
select DM_THERMAL
select MX6ULL
imply CMD_DM
进 menuconfig 重新选择一下(或者 make distclean,make menuconfig 就好)
# ============= 修改配置文件 和 kconfig 如上
编译过程:
编译结果:
本贴把 uboot 编译出来了,uboot porting 的框架搞定了,细节以后再说
uboot 移植就这么多内容,其实把 uboot 整个代码看一下之后,再看文档,出了问题跟着感觉走,也不难。
难的是没看过 uboot 源码就开始移植
以上所有源码更新到 github 这个目录中:https://github.com/robe-zhang/mys_y6ulx/tree/master/u-boot-2019.04
|
|