看懂uboot的神秘面容
共73课时 1天36分23秒秒
简介
这套“看懂uboot的神秘面容”课程,其目的在于通过对一个优秀的bootloader软件的全过程分析,一步步如抽丝剥茧般带你领略嵌入式开发所涉及的系统启动部分涉及的概念和相关硬件的原理。包括CP15、UART、DDR2这些系统启动必须掌握的设备信息。
章节
- 课时1:u-boot的版本选择 (10分23秒)
- 课时2:u-boot的异常向量表,V210的启动机制原理 (18分49秒)
- 课时3:用objdump反汇编查看u-boot的头部代码和异常向量处理 (19分53秒)
- 课时4:ENTRY等宏的展开,CPSR寄存器的设置 (20分14秒)
- 课时5:CP15协处理器基础,VBAR异常向量表基址映射 (9分48秒)
- 课时6:cpu_init_cp15子过程分析: cache的操作 (22分55秒)
- 课时7:cpu_init_cp15子过程分析(续):分支预测、MMU操作 (19分20秒)
- 课时8:cpu_initcrit子过程分析,实验一:修改u-boot源代码使其用LED灯显示运行状态 (20分14秒)
- 课时9:实验一(续):GPIO输入输出的电路分析 (20分12秒)
- 课时10:实验一(续):制作u-boot烧写镜像的原理,mkv210源代码分析 (21分1秒)
- 课时11:实验一(续):用hexdump工具分析镜像的16进制代码 (20分24秒)
- 课时12:编译、链接、汇编过程概述 (19分52秒)
- 课时13:实验二:编写自己的boot程序:myboot (19分26秒)
- 课时14:实验二(续):两个以上文件的链接原理 (20分7秒)
- 课时15:实验二(续):反汇编分析自己的myboot (20分16秒)
- 课时16:实验二(续):利用Makefile自动化编译myboot (21分21秒)
- 课时17:实验二(续):改进我们的Makefile (20分24秒)
- 课时18:实验二(续):Makefile中的自动化变量 (21分26秒)
- 课时19:芯片型号判断,复位方式判断 (20分53秒)
- 课时20:IO保持、复位方式判断、中断初始化 (20分28秒)
- 课时21:UART初始化与异步通信原理 (20分32秒)
- 课时22:UART分析1 (20分32秒)
- 课时23:UART分析2 (20分18秒)
- 课时24:UART分析3 (20分24秒)
- 课时25:UART分析4 (18分59秒)
- 课时26:实验三:用UART显示某指定内存中的数据 (24分11秒)
- 课时27:DDR内存的基本原理1 (19分45秒)
- 课时28:DDR内存的基本原理2 (20分14秒)
- 课时29:DDR内存的基本原理3 (20分11秒)
- 课时30:DDR内存的在V210开放板上的硬件连接1 (20分21秒)
- 课时31:DDR内存的在V210开放板上的硬件连接2 (19分23秒)
- 课时32:DDR2-Device的内部结构1 (20分29秒)
- 课时33:DDR2-Device的内部结构2 (21分9秒)
- 课时34:DDR2-操作的有限状态机 (21分5秒)
- 课时35:DDR2的MRS和EMRS寄存器 (21分20秒)
- 课时36:DDR2的读写时序 (22分24秒)
- 课时37:DDR2的读写时序x (20分45秒)
- 课时38:DDR2初始化代码分析1 (18分46秒)
- 课时39:DDR2初始化代码分析2 (20分8秒)
- 课时40:DDR2初始化代码分析3 (24分26秒)
- 课时41:DDR2初始化代码分析4 (20分28秒)
- 课时42:DDR2初始化代码分析5 (19分52秒)
- 课时43:DDR2初始化代码分析6 (21分24秒)
- 课时44:DDR2初始化代码分析7 (19分49秒)
- 课时45:DDR2初始化代码分析8 (20分41秒)
- 课时46:DDR2初始化代码分析9 (20分32秒)
- 课时47:DDR2初始化代码分析10 (20分25秒)
- 课时48:编写自己的DDR初始化代码1 (20分50秒)
- 课时49:编写自己的DDR初始化代码2 (20分11秒)
- 课时50:board_init_f函数分析1 (22分20秒)
- 课时51:board_init_f函数分析2 (19分30秒)
- 课时52:mmc_relocate分析 (19分49秒)
- 课时53:实验五:将u-boot.bin从SD卡搬运到DDR内存中 (21分16秒)
- 课时54:实验五:将u-boot.bin从SD卡搬运到DDR内存中2 (20分21秒)
- 课时55:u-boot的链接镜像结构分析 (21分34秒)
- 课时56:board_init_f函数分析3 (20分56秒)
- 课时57:board_init_f函数分析4 (20分26秒)
- 课时58:board_init_f函数分析5 (21分11秒)
- 课时59:board_init_f函数分析6 (20分4秒)
- 课时60:board_init_f函数分析7 (20分2秒)
- 课时61:u-boot的自举实现 (19分41秒)
- 课时62:relocate_code汇编自举代码分析 (20分52秒)
- 课时63:板级初始化的后半部分:bord_init_r函数分析1 (20分2秒)
- 课时64:板级初始化的后半部分:bord_init_r函数分析2 (21分59秒)
- 课时65:板级初始化的后半部分:bord_init_r函数分析3 (20分38秒)
- 课时66:板级初始化的后半部分:bord_init_r函数分析4 (20分43秒)
- 课时67:跳转到主循环,main_loop (19分54秒)
- 课时68:主循环分析:u-boot 解析终端输入命令行的原理 (21分8秒)
- 课时69:主循环分析:u-boot 的命令执行实现 (13分6秒)
- 课时70:bootm启动流程分析1 (20分50秒)
- 课时71:bootm启动流程分析2 (19分58秒)
- 课时72:bootm启动流程分析3 (22分17秒)
- 课时73:bootm启动流程分析4 (20分46秒)
热门下载
热门帖子