从零开始实现U-Boot

U-Boot这个默默无闻的引导程序,承担着从硬件冷启动到操作系统加载的全过程。

通过逐行研究这些代码,我们不仅学会了如何配置一个特定的芯片,更重要的是理解了嵌入式系统启动的本质规律。这种从硬件最底层开始的认知方式,能让我们在遇到启动故障时,有清晰的问题定位思路;在定制新硬件时,有明确的移植方向。

学习计划:

从处理器上电后执行的第一条指令开始,到C语言环境的搭建,再到开发板专属初始化,最后到操作系统加载。从零学习复现 U-Boot 功能,逐行钻研这些底层的启动代码,理解嵌入式设备启动的本质。

下面是我的博客网站,欢迎大家去访问!一个我记录学习、分享知识的地方。技术之路漫长而有趣,希望我的分享能给你带来一些帮助和启发。

博客网站 STUDYWITHIOT

访问链接

https://uscxi.pages.dev/(推荐)
https://uscxi.github.io/(国内较慢)

文章推荐

  1. U-Boot 构建工具fixdep的工作原理及编译分析
  2. U-Boot 配置/构建系统(Kconfig/Kbuild)
  3. U-Boot 配置编译过程及Makefile分析
  4. U-Boot 的 Host 程序 make 流程
  5. Kconfig 配置描述文件
  6. Kconfig 配置描述文件问题记录
  7. U-Boot编译过程的中间配置文件
  8. IMX6ULL 的启动与 DDR 初始化
  9. IMX6ULL 链接脚本 u-boot.lds
  10. include/generated/asm-offsets.h文件的生成过程
  11. 加载地址、链接地址和运行地址
  12. IMX6ULL ARMv7 Cortex-A start.S 详细解析
  13. IMX6ULL lowlevel_init.S分析
  14. IMX6ULL crt0.S _main函数分析
  15. board_init_f_init_reserve 和 board_init_f_init_reserve 函数分析
  16. U-Boot源码学习和调试快速定位函数代码位置技巧

持续更新中...

相关推荐
zhangzhangkeji4 天前
笔记 34 - 7 :网卡 DM9000AE; uboot 网络协议栈,里的函数调用流程
arm
zhangzhangkeji7 天前
笔记 30 - 4 :rootfs 配置文件定制,etc / profile,与挂载测试
arm
zhangzhangkeji7 天前
笔记 34 - 3 :网卡 DM9000AE;16 位下的引脚功能,引脚映射到 SROMC,到 GPIO
arm
深念Y10 天前
订阅管理及节点过滤实践(技术笔记)
linux·网络·arm·优化·日志·工具·soc
zhangzhangkeji12 天前
笔记 28 : linux 里 Kconfig 语法详解
arm
zhangzhangkeji12 天前
笔记 25 - 1 :linux 驱动模块移植,obj-y、obj-m,命令 dmesg,开启已有的硬件驱动
arm
zhangzhangkeji12 天前
笔记 25 - 2 :linux 驱动模块移植,创建自定义驱动(编译为模块),调整 shell 里字体大小,
arm
blueSatchel12 天前
u-boot启动过程(bootROM到SPL到u-boot)
linux·u-boot
zhangzhangkeji13 天前
笔记 24 -2 :linux 内核编译,实验举例,及编译脚本
arm
zhangzhangkeji13 天前
笔记 23 :linux 内核基础知识,内核的目录
arm