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
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    452

    文章

    50150

    浏览量

    420512
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9021

    浏览量

    366383
  • 编译
    +关注

    关注

    0

    文章

    648

    浏览量

    32764
  • Uboot
    +关注

    关注

    4

    文章

    125

    浏览量

    28122
收藏 人收藏

    评论

    相关推荐

    U-boot的基本介绍

    从本文开始,将陆续推送“手把手教你移植U-boot”系列文章,目标是由浅入深地讲解U-boot的工作流程、原理、配置方法和移植方法,手把手教你完成U-boot的移植工作,默认硬件开发平
    发表于 07-14 16:52 2707次阅读
    <b class='flag-5'>U-boot</b>的基本介绍

    u-boot源码

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

    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的启动及移植分析

    bootloader 开发是嵌入式系统必不可少而且十分重要的部分,U-Boot 为功能强大的bootloader 开发软件。本文详细分析了U-Boot 的启动流程,并结合其源码,阐述了U-Bo
    发表于 09-01 16:34 27次下载

    Porting U-Boot to the Control

    In this paper, the way of porting U-Boot to Control Computer Based MPC8349 will beintroduced
    发表于 01-25 15:45 13次下载

    u-boot的Makefile分析

    u-boot的Makefile分析 U-BOOT是一个LINUX下的工程,在编译之前必须已经安装对应体系结构的交叉编译环境,这里只针对ARM,编译
    发表于 05-17 09:16 2052次阅读

    U-Boot结构功能介绍

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

    u-boot简介

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

    如何在U-Boot中实现对Yaffs镜像的设计?

    U-Boot是目前广泛使用的嵌入式操作系统通用引导程序,具有功能丰富强大,支持多种操作系统和CPU体系,易于功能扩展和移植,源码开放等多种优点。U-Boot,全称 Universal Boot
    的头像 发表于 08-29 05:02 3690次阅读
    如何在<b class='flag-5'>U-Boot</b>中实现对Yaffs镜像的设计?

    创建自定义的u-boot命令

    为什么会有这篇文章,因为小生被u-boot源码的设计所吸引了(源码对命令的处理过程)。自定义u-boot命令属于u-boot
    的头像 发表于 08-08 14:46 1060次阅读

    Linux U-Boot开发指南

    介绍 U-Boot编译打包、基本配置、常用命令的使用、基本调试方法等, 为 U-BOOT 的移植及应用开发提供了基础。
    的头像 发表于 03-06 10:28 1242次阅读
    Linux <b class='flag-5'>U-Boot</b>开发指南

    SS524V100 单板移植和烧写U-boot(一)

    编译U-boot,操作如下: 拷贝配置文件 cp configs/ss524v100_deconfig.config 配置编译环境 make
    的头像 发表于 08-22 10:31 671次阅读

    u-boot armv8链接脚本

    u-boot armv8链接脚本 在进行源码分析之前,首先看看u-boot的链接脚本,通过链接脚本可以从整体了解一个u-boot的组成,并且可以在启动分析中知道某些逻辑是在完成什么工作
    的头像 发表于 12-07 11:19 558次阅读