0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

u-boot源码的编译配置方式

麦辣鸡腿堡 来源:CSDN博客 作者:内核新视界 2023-12-07 11:12 次阅读

u-boot使用了同Linux一样的编译配置方式,即使用kbuild系统来管理整体代码的配置和编译,通过defconfig来定制各种不同厂商芯片bootloader二进制程序。

编译只需要注意通过环境变量或者命令行参数的方式引入一个交叉编译工具即可:

  • • CROSS_COMPILE:定义交叉编译工具链,可以是aarch64-linux-gnu-,arm-none-eabi-或者ppc-linux-gnu-等等;
  • • u-boot有几个配置是需要由对应board配置的。SYS_ARCH,SYS_CPU,SYS_SOC,SYS_BOARD,SYS_VENDOR,SYS_CONFIG_NAME;
  • • 一般在board/vendor/board/Kconfig中可全部定义,部分SYS_CPU,SYS_SOC也可以在arch/xxx/Kconfig中定义,根据这几个配置即可确定使用的cpu架构,厂商,板级信息,soc信息。
  • • Makefile会自动根据上述信息进入对应目录组织编译规则,一般如果没有自己对应的这些board信息,需要自己在对应目录建立这些Kconfig和在configs中建立defconfig。

在configs目录中保存了uboot中所有支持的board配置,比如要使用rk3399的evb板的配置信息使用如下方式即可编译出来:

make CROSS_COMPILE=aarch64-linux-gnu- evb-rk3399_defconfig
make

如果没有对应的defconfig可以找一个与自己板级信息类似的defconfig生成一个.config,再通过menuconfig来完成自己board的配置,并最后通过savedefconfig保存为自己board的defconfig:

make CROSS_COMPILE=aarch64-linux-gnu- evb-rk3399_defconfig
make menuconfig
make savedefconfig
cp defconfig configs/my_defconfig
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47804

    浏览量

    409173
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8653

    浏览量

    361831
  • 编译
    +关注

    关注

    0

    文章

    615

    浏览量

    32397
  • Uboot
    +关注

    关注

    4

    文章

    123

    浏览量

    27873
收藏 人收藏

    评论

    相关推荐

    请教一个编译U-Boot的问题?

    请教一个编译U-Boot的问题?编译U-Boot的时候,是不是把下载好的U-Boot文件放在ubuntu的一个文件目录然后在终端里去
    发表于 05-12 08:18

    请教编译U-Boot的一个问题?

    请教一个编译U-Boot的问题?编译U-Boot的时候,是不是把下载好的U-Boot文件放在ubuntu的一个文件目录然后在终端里去
    发表于 05-12 08:19

    u-boot源码分析与移植 适合初学者

    u-boot源码分析与移植u-boot源码分析与移植
    发表于 05-21 12:57

    u-boot源码

    哪位大大有最新的u-boot源码啊,现在正在学习u-boot,想要一份源码,怎奈官方下载地址不能下。谁有发一下。804569645@qq.com非常感谢
    发表于 07-12 16:11

    【OK210试用体验】u-boot篇 -- u-boot初体验(续)

    【OK210试用体验】u-boot篇 -- u-boot初体验(续) 了解完基本的u-boot信息,我们在自己定义配置板子的u-boot之前
    发表于 08-22 01:44

    MY-IMX6-EK200用busybox编译自己的u-boot和kernel源码

    [tr=transparent]MY-IMX6-EK200用busybox编译自己的u-boot和kernel源码 [/tr][tr=transparent][/tr][tr=transparent
    发表于 05-25 11:39

    MY-IMX6-EK200用busybox编译自己的u-boot和kernel源码

    (myimx6) Defconfig name 编译配置文件myimx6_defconfig【*】U-Boot(myimx6ek200-6q) U-Boot board name
    发表于 06-26 14:08

    请问如何基于AM5728使用U-Boot编译

    /U-Boot-2016.05/2.清理U-Boot确保已配置为V03.01.00.06版本Linux Processor-SDK交叉编译工具链后,进入
    发表于 06-28 11:40

    u-boot详解

    1 U-Boot简介 U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其
    发表于 07-04 04:56

    编译u-boot时出现permission denied

    请大家帮我看看,我在编译配置好的u-boot的时候,make ***_config,出现permission denied还有erro127,我后来把开发板自带的u-boot
    发表于 07-03 05:45

    【HarmonyOS HiSpark AI Camera】HiSpark AI Camera U-boot编译

    U-boot前,先配置交叉编译工具链路径。vi ~/.bashrc在文件末尾添加:export PATH=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin
    发表于 09-24 18:29

    OKT3-C开发板使用的u-boot源码是否是图片中的u-boot-2014.07这个版本?

    u-boot文件“u-boot-sun8iw11p1.bin”,在执行build.sh进行全编译时,仅仅是将这个事先编好的u-boot-sun8iw11p1.bin直接拿来打包,而不
    发表于 01-05 06:15

    ARM U-boot SPL源码简要分析

    real u-boot from the Boot Device and passing control to it.  【3】SPL配置选项CONFIG_SPL_BUILD  上文中说道“SPL复用
    发表于 04-13 09:44

    U-Boot结构功能介绍

      U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、
    发表于 07-30 09:17 1086次阅读
    <b class='flag-5'>U-Boot</b>结构功能介绍

    u-boot简介

    演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是根据相应的Linux内核源程序进行简化而形成的,尤其是一些设备的驱动程序,这从
    发表于 10-14 11:17 3279次阅读