UBOOT学习1——UBOOT移植流程

UBOOT学习1——UBOOT移植流程

1、创建板级目录

在board/ 目录下创建目录更改文件(使用imx6ull)

(1)创建板级.c文件

(2)更改镜像配置文件imximage.cfg

2、创建配置头文件

在include/configs/ 目录下创建配置头文件。

3、创建xx_defconfig文件。

在configs/ 目录下创建aaaa_my_deconfig文件。
更改CONFIG_SYS_EXTRA_OPTIONS选项中的镜像配置文件目录.cfg
更改CONFIG_选项用于Kbuild&Kconfig选项操作。

4、更改MAINTAINERS

只是一个维护信息对编译结果没有影响

5、更改Kconfig文件

(1)更改 SYS_BOARD

  将该参数故意置错,编译UBOOT后报
  make: *** wait: No child processes.  Stop.

偶然发现在目录下生成了错误修改后的目录,猜测SYS_BOARD参数应该是配置文件的目录。

(2)更改 SYS_VENDOR

将该参数故意置错,编译UBOOT后也报
make: *** wait: No child processes.  Stop.

同上个参数一样发现board目录下也生成了错误修改后的目录,这样来看应该是SYS_BOARD目录的上一级目录。猜测在编译时会根据这两个参数查找板级配置目录,找到的话会直接调用找不到的话会创建该目录。后续学习深入后再深究。

(3)更改 SYS_SOC

将该参数故意置错,编译UBOOT后也报
make: *** wait: No child processes.  Stop.

有了前面的经验一样找,找不到全局搜grep -r 也没有。这样从字面看是soc的类型。猜测是寻找arch/arm/cpu/armv7/内核具体目录下的具体处理器类型mx6。我把它改成目录下有的mx5一样报错但是执行的命令更多。八九不离十是干这个的。后续深入学习再深究。

(4)更改SYS_CONFIG_NAME

有前面经验就知道这个是之前创建的include/configs目录下的配置头文件名字。

6、更改arch目录下的Kconfig文件

config TARGET_AAAA_MY
bool "Support aaaa_my"
select MX6ULL
select DM
select DM_THERMAL

1、其中TARGET_AAAA_MY要和board目录下的Kconfig文件相同。
2、bool "Support aaaa_my"改成bool “Support aaaaa_my”
arm-linux-gnueabihf-ld.bfd -r -o arch/arm/cpu/armv7/mx6/built-in.o arch/arm/cpu/armv7/mx6/soc.o arch/arm/cpu/armv7/mx6/clock.o
arm-linux-gnueabihf-ld.bfd -r -o arch/arm/cpu/armv7/built-in.o arch/arm/cpu/armv7/cache_v7.o arch/arm/cpu/armv7/cpu.o arch/arm/cpu/armv7/cp15.o arch/arm/cpu/armv7/syslib.o arch/arm/cpu/armv7/lowlevel_init.o arch/arm/cpu/armv7/mx6/built-in.o
make: *** wait: No child processes. Stop.
报了这个错误,貌似是链接出了问题,猜测这个表示board目录下的.c板级配置文件生成的.o文件。
3、select MX6ULL
select MX6ULL 改为select MX6ULLX
字面意思表示选择…要进去了后续再深究。
4、声明board级Kconfig目录
source “board/freescale/aaaa_my/Kconfig”

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
正点原子uboot移植流程一般可以按照以下步骤进行: 1. 找到参考的开发平台,一般是正点原子提供的开发板。 2. 下载正点原子提供的uboot源码。 3. 配置uboot源码,根据目标硬件的具体情况进行相应的配置,包括处理器架构、存储器布局、外设等。 4. 编译uboot源码,生成可执行的uboot镜像文件。 5. 将生成的uboot镜像文件烧录到目标硬件的存储介质中,如闪存、SD卡等。 6. 配置目标硬件的启动方式,使其能够从烧录了uboot的存储介质中启动。 7. 连接目标硬件与开发主机,通过串口或网络等方式与uboot进行通信。 8. 在uboot中设置环境变量bootcmd和bootargs,以便启动Linux内核。 9. 启动目标硬件,通过观察启动过程中的输出信息,判断uboot移植是否成功。 10. 如果uboot移植成功,可以继续进行Linux内核的移植和启动。 需要注意的是,正点原子uboot移植流程可能会因具体的硬件平台和uboot版本而有所差异,建议参考正点原子提供的相关文档和资料进行具体操作。 #### 引用[.reference_title] - *1* *2* *3* [【正点原子I.MX6U-MINI移植篇】u-boot移植过程详解(一)](https://blog.csdn.net/qq_39400113/article/details/127121945)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值