社区
朱有鹏的课程社区_NO_5
2.12.uboot的移植2-从uboot官方标准uboot开始移植
帖子详情
2.12.9.添加uboot第二阶段重定位1
朱有鹏老师
2023-01-12 15:05:36
课时名称
课时知识点
2.12.9.添加uboot第二阶段重定位1
...全文
889
回复
打赏
收藏
2.12.9.添加uboot第二阶段重定位1
课时名称课时知识点2.12.9.添加uboot第二阶段重定位1
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
[u-
boot
] u
boot
启动过程中的代码
重定位
本文深入解析U-
Boot
启动过程中的两次代码
重定位
:第一次在初始RAM中完成从加载地址到运行地址的搬移,修正全局变量、函数指针等符号引用;第二次将U-
Boot
整体搬移至高位地址,为内核、设备树等预留低地址空间,并提升执行效率。重点分析ELF
重定位
节(.rela.dyn)、r_offset/r_info/r_addend字段作用,以及链接地址、加载地址与运行地址的关系,阐明ARM64平台下无MMU或线性映射下的
重定位
实现原理。
u
boot
移植——启动
第二阶段
本文详细剖析了U-
Boot
启动的
第二阶段
,包括start_arm
boot
函数、u
boot
第二阶段
的功能、内存分配、变量定义、硬件初始化、环境变量
重定位
、内存管理、设备初始化等关键步骤。通过对各函数的分析,揭示了U-
Boot
如何逐步配置和初始化硬件,为后续的系统启动做好准备。
u
boot
启动之BL1阶段的分析1
本文以start.s文件为目标,对u
boot
启动的BL1阶段主体代码进行分析。BL1阶段代码由IROM中的BL0调用执行,主要工作是初始化soc,为BL2阶段做准备。文中详细分析了start.S文件的各个步骤,包括设置栈、
重定位
、MMU虚拟地址映射等,最后跳转至BL2阶段。
2.u
boot
和系统移植-第5部分-2.5.u
boot
源码分析1-启动第一阶段
本文围绕start.S文件展开,详细解析其内容,包括头文件包含、启动代码校验头、异常向量表构建等。还介绍了u
boot
重定位
过程,如判断启动介质、调用
重定位
函数等。此外,讲解了MMU和虚拟地址映射的原理、实现及相关配置,最后总结了u
boot
第一阶段的工作。
Exynos4412 U
boot
移植(二)—— U
boot
启动流程分析
本文详细分析了Exynos4412 U
boot
的启动流程,包括两个阶段:第一阶段涉及设置CPU工作模式、关闭中断、初始化内存和串口等;
第二阶段
则进行外设初始化并进入超循环处理用户命令。主要内容涵盖start.S、lowlevel_init.S、crt0.S和board.c等关键文件的作用。
朱有鹏的课程社区_NO_5
2
社区成员
112
社区内容
发帖
与我相关
我的任务
朱有鹏的课程社区_NO_5
朱有鹏,先后从事电子工程师、单片机软件工程师、嵌入式linux软件工程师、物联网软件工程师、架构师等工作,朱老师物联网大讲堂创始人,畅销书作者。擅长U-Boot、linux kernel等嵌入式底层和系统层开发、架构设计。擅长汇编、C/C++、Java、C#等常用开发语言,2015年起录制的在线视频课程《朱有鹏老师嵌入式linux核心课程》累计学习人数超300万。2016年与IBM合作制作基于IBM Waston平台的物联网系统开发教程,授予“IBM技术专家”。2018年开始与华为认证合作,开发HCDP-IoT相关的课程体系、视频课程、实验平台、案例等,被授予“华为云享专家”。
复制链接
扫一扫
分享
社区描述
朱有鹏,先后从事电子工程师、单片机软件工程师、嵌入式linux软件工程师、物联网软件工程师、架构师等工作,朱老师物联网大讲堂创始人,畅销书作者。擅长U-Boot、linux kernel等嵌入式底层和系统层开发、架构设计。擅长汇编、C/C++、Java、C#等常用开发语言,2015年起录制的在线视频课程《朱有鹏老师嵌入式linux核心课程》累计学习人数超300万。2016年与IBM合作制作基于IBM Waston平台的物联网系统开发教程,授予“IBM技术专家”。2018年开始与华为认证合作,开发HCDP-IoT相关的课程体系、视频课程、实验平台、案例等,被授予“华为云享专家”。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章