总结一下U-Boot的编译流程,uboot

openwrt1907 mt7621配置DDR自适应 一、问题描述 通过DTS文件配置DDR大小,发现在DTS中配置DDR为256Mb编译出来的固件,在DDR为128Mb的硬件中固件启动之后会造成mem报错,导致系统重启。 二、解决方法 通过查看linux kernel中arch/mips/ralink/of.c文件的plat_mem_setup()函数,发现如果DTS文件中没有配置DDR大小,系统则会自动识别DDR大小 void __init plat_mem_setup(void) { void *dtb = NULL; set_io_p 阅读详情

 现在来总结一下U-Boot的编译流程:

(1)首先编译cpu/$(CPU)/start.S,对于不同的CPU,还可能编译cpu/$(CPU)下的其他文件。

(2)然后,对于平台/开发板相关的每个目录、每个通用目录,都使用它们各自的Makefile生成相应的库。

(3)将1、2步骤生成的.o、.a文件按照board/$(BOARDDIR)/config.mk文件中指定的代码段起始地址、board/$(BOARDDIR)/u-boot.lds连接脚本进行连接。

(4)第3步得到的是ELF格式的U-Boot,后面Makefile还会将它转换为二进制格式、S-Record格式。

[uboot] (第四章)uboot流程——uboot编译流程 uboot编译流程简单介绍 阅读详情

相关推荐

【MT7621】固件开发-SDK4320编译MT7621 Nand Flash Uboot操作说明

【MT7621】固件开发-SDK4320编译MT7621 Nand Flash Uboot操作说明

wgl307293845的博客 1781

MTK7621 uboot编译与烧写

MTK7621 uboot编译与烧写

weixin_48342560的博客 2215

中国高精度年度平均气温栅格数据集(1901-2024)

本文基于中国月度平均气温栅格数据集,计算生成1901-2024年1km分辨率的年度平均气温数据集,并按中国省市行政区划进行裁剪。该数据集融合CRU全球数据和WorldClim高分辨率数据,经496个站点验证,具有高时空精度和长时间序列特点,覆盖全国(含港澳台)逾百年气温记录,为气候变化研究、生态水文分析及农业生产评估等提供重要数据支撑。数据格式为Tif,单位为0.1℃,可获取全国、各省及各市三个尺度的气温栅格数据。

PPdata_Academy的博客 1242

MIPS Uboot 入门及移植(1)

今年就在网上淘了一块板,但是一直没有时间玩,况且自己在Linux这方面还是个门外汉,前一段时间也在换工作,学习新的电路画图软件,所以一直没空。 今天抽空玩起来。 首先下载源码:https://github.com/widora/u-boot-mt7688 里面需要编译工具,这个需要在MTK的SDK里面找,需要的可以发邮件给我,或者在百度云上面搜索MTK的SDK。 在SourceInsigh

叶森学院 2851

Playwright自动化测试实战:攻克日历时间控件三大策略与Java实现

在Web自动化测试领域,元素定位与交互模拟是核心技术基础,其原理在于通过程序精确识别并操作页面中的DOM元素,以模拟真实用户行为。这项技术的核心价值在于提升测试效率、确保交互逻辑的覆盖度与可靠性,广泛应用于电商、金融、OA等系统的功能验证。日历时间控件作为典型的复杂交互组件,常涉及动态弹出层、多级导航与状态同步,是自动化测试中的常见难点。本文聚焦于使用Playwright工具,针对此类控件深入剖析了三种核心解决策略:从最高效的直接赋值、到全面模拟用户交互的主流方法,再到利用组件特性的混合定位方案,并结合Ja

weixin_28835551的博客 311

到底什么是电源的斜波补偿,电源芯片CS引脚作用,一文讲清楚!

上文有提到电流环,其实电流环再细分也有很多模式,用的最多的是峰值电流模式峰值电流模式调节工作原理如下:(1)当输出负载增大时,输出电压降低,因此,Vc 增大,线性增加的电感电流只有升高到更大的值才能使 PWM 电流比较器翻转,开关管导通的时间增长,占空比增加,输入功率增加,因此输出电压增加,当输出电压增加到调节的范围内时,系统保持平衡。

jwgdhuwdhg的博客 1万+

解决MT7620不断循环uboot(LZMA ERROR 1 - must RESET board to recover)

采用Ralink的SDK开发包,编译出的内核,以前烧录到MT7620上,可以正常运行。后来,编译出的内核,烧录之后,开发板反复重启,一直在不停的Uboot,陷入死循环,无法加载内核。 错误提示: stream version is not supported, outSize = FFFFFFFF LZMA ERROR 1 - must RESET board to recover 本文目的在于解决这个问题。 相关文档下载链接:http://download.youkuaiyun.com/det

xhoufei2010的专栏 9568

怎么调用onenet平台的API从而读取我们的设备数据和下发命令,做到控制开关

怎么调用onenet平台的API从而读取我们的设备数据和下发命令,做到控制开关 1、首先是怎么读取数据 读取的API是:http://api.heclouds.com/devices/datapoints?devIds=629063002 其中devids这个指的是你的设备ID 然后在我们的headers里面添加一些必要参数,就可以调用了 其中api-key的是你产品里面的master-apikey 把我们的参数写好就可以调用了,选择get方式,点击发送 这个value就是我们需要获取到的参数值了,

zyh960的博客 2万+

Uboot介绍之编译流程u-boot/u-boot.bin/u-boot.imx

Uboot介绍之编译流程u-boot/u-boot.bin/u-boot.imx

2301_76587520的博客 232

Yocto开发讲解系列 - 总目录

Yocto开发讲解系列总纲Yocto开发专栏前言

fulinux的博客 3万+

爬虫逆向:Hook 技术原理与实战

Hook 技术​(钩子技术)是一种通过拦截和修改程序执行流程的技术手段。它允许开发者在目标程序的特定位置插入自定义代码,以改变程序的默认行为或获取运行时信息。Hook 技术广泛应用于调试、逆向工程、性能分析、安全防护等领域。Hook 技术在爬虫逆向中非常有用,能够有效获取和修改目标程序的数据。通过合理使用 Hook 工具和技术,可以显著提升爬虫的效率和成功率。但使用时需注意法律和道德问题,确保行为合规。

数据知道的博客 1万+

U-Boot详细分析(1)——编译过程分析

一、编译入手 根据从官网上下载来的U-boot源码中README文件中可以得到信息,如果要使用开发板board/<board_name>,应该先执行"make <board_name>_config"命令进行配置,随后执行"make all"生成编译后文件 所以可以得出编译的主要两步: make <board_name>_config进行配置 make all...

Zach_z的博客 1595

GEE:面对对象土地利用分类(结合SNIC、GLCM 和机器学习算法)

本文将介绍在Google Earth Engine中结合SNIC、GLCM和机器学习算法的的土地利用/土地覆盖(LULC)分类方法。结果如下图所示,

养乐多的博客 5614

Uboot compile

了解uboot spl 编译流程 一.Build U-Boot SPL   The build process is integrated in the normal U-Boot build process, and a can be configured through CONFIG_SPL_BUILD option.   spl的编译是编译uboot的一部分,和uboot.bin走的是两...

weixin_41028621的博客 1017

使用conda环境python3.13和python3.12下安装vllm过程记录

使用conda环境python3.13和python3.12下安装vllm过程记录

没刮胡子的程序员专栏 885

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Exynos4412 Uboot学习 (一)—— Uboot 编译流程分析

一、执行build_uboot.sh脚本 1、./build_uboot.sh POP_1GDDR 1.1、 make itop_4412_android_config_pop_1GDDR ( 进入Makefile 执行) itop_4412_android_config_pop_1GDDR: unconfig $(MKCONFIG) $(@:_config=) arm arm_corte

Jayson 博客 1377

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

U-Boot 顶层 Makefile 详解

交叉开发模式 host 主机 ubatun 编程代码:vim 编译工具:arm-none-gcc ubuntu中配置编译环境 设置交叉工具链: tar -xvf gcc4.6.4.tar.xz -C ~/Linux/toolchain ...

记录点点滴滴 1468

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android MTK平台编译UBOOT学习笔记

1.在MTK集成过的android平台下编译UBOOT,在工程根目录下使用命令 ./makeMtk project_name(工程名) remake ub 找到makeMtk源码(perl语言),编译命令最终是通过调用 $makeCmd = "make -f mediatek/build/makemtk.mk $cmdArg @mOpts"; 这个编译命令进行编译的。GNU make可以添...

weixin_30657999的博客 494

UBOOT与系统移植之UBOOT 主Makefile分析

UBOOT的Makefile分析   本文参照的是ITOP4412开发板的uboot。   从24行到32行是uboot的版本。生成的版本信息就在第34行的那个文件当中version_autogenerated.h当中  查看这个文件可以看到 这个是我们自己可以修改的。 第33行和34行的TIMESTAMP_FILE 和VERSION_FILE是在编译的时候自动生成的 第3...

Spark wang的博客 773

【BSP开发之uboot】uboot常用命令以及代码分析

函数中通过initcall_run_list运行initcall_run_list列表中的函数,可以看一下init_sequence_r包括了各种板级的初始化,最终运行run_main_loop。第一阶段主要由start.s运行并实现相应的初始化,定义程序入口地址,初始化CPU,初始化内存,最后调用_main到第二阶段的板级别初始化部分。第二阶段主要是C语言编写,对于硬件内存分配,初始化硬件设备,串口初始化,显示设备初始化,运行环境初始化等等,最后启动内核。...

yy197696的博客 2515

uboot移植——深入认识u-boot的配置、编译和启动过程

uboot的最终功能是启动内核,所以需要读出内核,从哪里读,读到哪里去?从flash上读到sdram,所以需要初始化sdram。sdram等硬件的工作是离不开时钟,所以需要初始化时钟,还有需要关闭看门狗。为了让我们的开放更加方便,我们需要加入其他的功能,比如我们需要把内核烧写到flash上去,而内核二进制文件从哪里来的呢?所以我们需要初始化网卡或者USB。比如为输出打印信息,我们需要初始化串口 先...

weixin_39234635的博客 670

uboot编译以及烧录方法(SD启动,emmc启动)

(个人笔记,有需要相关资料的可以私聊我哦) linux系统启动必须需要一个bootloader引导程序,也就是说芯片上电以后先要运行一段bootloader烧录。那么一开始linux系统会先运行bootloader引导程序,bootloader程序又是如何烧录的呢? 0.uboot获取 uboot官网 http://www.denx.de/wiki/U-Boot/;点击左侧Topics中的“source Code”,再点击FTP服务器 1.初次编译 首先在ubuntu中安装ncurses库,否则编

那可真是太开心了的博客 6685

U-Boot Makefile 文件详细分析

1. Makefile到底做了什么   之前看了网上许多牛人写的关于Makefile的解析的文章,在这里,我也结合我个人的理解,去分析U-Boot的Makefile。   首先,我们大致了解一下,Makefile到底做了些什么工作?其实,顶层Makefile的主要任务就是组织整个U-Boot工程的编译,概括可以分为以下几个步骤: 首先通过执行make *_config传入$(@:_con...

weixin_30915951的博客 310

uboot移植准备工作二

第一部分 2.3.1uboot配置编译实践 1)源头的源代码时uboot官网下载的。这个下载的源代码可能没有你当前使用的开发板的移植,甚至找不到当前开发板使用的SoC对应的移植版本。 2)SoC厂商在退出一款SoC后,厂商的工程师会去uboot官网下载一个uboot,根据自己Soc进行第一步移植,移植的目标是厂商推出的开发板。(譬如三星的S5PV210芯片厂商出的开发板就叫SMDKV210)

lt159159的博客 3430

Hi3556v200 u-boot+Liteos方案编译流程分析-6. 内存空间配置

1.前言 本文主要就Hi3556v200的U-boot+Liteos方案的编译流程做简要介绍,主要通过make过程的打印来逐步理清编译的过程,本文主要结合编译的打印信息介绍u-boot-hi3556v200.bin的编译过程。编译过程中会调用osdrv_mem_cfg.sh脚本来进行内存地址配置。 U-boot版本:u-boot-2016.11 2. osdrv_mem_cfg.sh脚本说明 位于osdrv/osdrv_mem_cfg.sh,它会根据芯片类型的不同来配置不同的地址,并对相关头文件进行修改,修

HZero 791
上一篇: uboot 中的 config ,make config是怎么来的。
下一篇: 关于从NAND Flash启动的问题,2440 启动问题 , 拷贝4k程序 ,启动代码分析
#Page#
博客等级 码龄23年 1691粉丝 360原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值