U-BOOT移植过程详解: UBOOT启动过程

本文详细介绍了U-Boot的移植过程,从地址无关和地址相关概念出发,深入剖析嵌入式系统启动流程,包括SPL的作用。接着,详细阐述了U-Boot的宏观执行流程,分为Stage1和Stage2,涉及硬件初始化、内存映射、内核启动参数设置等关键步骤,最后讲解了U-Boot的配置和编译过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

申明

  本着学习交流的原则, 将个人移植u-boot的过程做一个记录. 文章参考了csdn blog里面的很多内容, 有的已经记不得出处了, 只好把当时的摘要直接贴出来. 如果冒犯, 还请见谅. 如有侵权, 请与我邮件联系. 谢谢!


概念

地址无关

  • 地址无关是指代码在编译的时候,不论基于什么地址编译,在运行阶段,拷贝(或者直接在原地址运行,norflash)到任何地址都能正常运行

地址相关

  • 地址相关是指在代码编译的时候,如果基于某个地址编码,那么代码在运行阶段就必须要拷贝到这个地址才能运行.这种代码大多是高级语言编写的,比如在main函数里面调用init函数, init函数的地址是在编译阶段就确定的,这是个绝对地址.如果运行阶段的地址与编译阶段的不一样,跳转就会出问题了

嵌入式系统启动过程

  • RomBoot --> SPL --> u-boot --> Linux kernel --> file system --> start application
    • SPL: SPL是uboot新版本里面引进的一个概念. 它基本上是用地址无关的代码写成的. 主要目的是把uboot中真正做事情的stage2阶段的代码拷贝到外部RAM中去运行.SPL也可以理解为uboot的stage1阶段. 关于SPL的详细信息, 可以参考 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值