人工精选1.5.SDRAM和重定位relocate-ARM裸机第五部分
这门课在解决什么具体工作场景 很多做底层开发或转行学嵌入式的人,往往在板子一上电就卡壳:程序明明烧录进去了,为什么跑不起来?这门课针对的就是 ARM 裸机开发中最难啃的启动早期阶段。它实打实地解决几个具体场景:怎么在芯片刚通电时用汇编关掉看门狗防止系统反复重启死机、怎么在没有任何底层库支撑的情况下设
会员 · 按档位
游客按标价购买,不享受上表折扣。
支付成功后自动发放网盘链接,链接失效可找客服免费补
这门课在解决什么具体工作场景
很多做底层开发或转行学嵌入式的人,往往在板子一上电就卡壳:程序明明烧录进去了,为什么跑不起来?这门课针对的就是 ARM 裸机开发中最难啃的启动早期阶段。它实打实地解决几个具体场景:怎么在芯片刚通电时用汇编关掉看门狗防止系统反复重启死机、怎么在没有任何底层库支撑的情况下设置栈指针好让后续的 C 语言函数能正常调用、怎么通过编写链接脚本把可执行代码从内部静态内存搬到外挂的大容量动态内存里去执行。简单说,它讲的是让一段死代码在真实硬件上活过来的过程。如果你之前只写过跑在操作系统上的纯软件代码,对硬件底层一无所知,这部分内容能帮你把软件逻辑和硬件机制的断层接上,让你明白程序在内存中到底是怎么排布和流动的。
适合什么基础与学习顺序建议
这套资料不适合零基础小白,门槛在于你得先懂基本的 ARM 汇编指令,并且手边最好有一块能跑裸机程序的 ARM 开发板以及相关的下载调试工具。看的时候别按顺序死磕,建议先看关看门狗和设置栈这两块,搞清楚芯片刚启动时是个什么裸奔状态,为什么不能直接跑复杂的 C 代码;然后直接跳到 SDRAM 引入和初始化部分,看看外部大内存是怎么被配置寄存器唤醒的;最后再回头集中精力看重定位引入和链接脚本那几节。链接脚本的内容比较枯燥,但它是理解代码搬移的钥匙,看的时候别光盯着视频,必须自己跟着敲一遍脚本,故意把段地址改错一次,看看编译器会报什么错,你才知道平时默认的配置为什么要那么写。
学完能独立做什么与资料配合练习方法
学完之后,你不会立刻能去写复杂的 Linux 驱动,但你能独立完成一件硬核的事:从零手写一段完整的启动汇编代码,把一段 C 语言程序从只读存储器搬运到外挂动态内存里稳定跑起来。这意味着你真正理解了程序的执行环境是怎么一步步搭建的,以后碰到任何陌生的芯片手册,你都知道怎么去配置它的内存控制器和启动流程。资料配合练习方面,视频里的汇编代码千万别当电视剧看,必须开着编辑器边看边敲。看门狗、栈设置和 SDRAM 初始化这三段核心代码,要在你的板子上真跑通一次。跑不通就翻手册查寄存器位,这个排查过程比看十遍视频都管用。重定位实战那几节,尝试自己修改链接脚本里的运行地址,看看代码搬错位置后板子会报什么错,这种主动踩坑的练习才是把知识变成自己本事的关键。
课程目录
课程目录13 集
- 1 1.5.1.汇编写启动代码之关看门狗 (42:37).mp4
- 2 1.5.2.汇编写启动代码之设置栈和调用C语言1 (31:52).mp4
- 3 1.5.3.汇编写启动代码之设置栈和调用C语言2 (40:08).mp4
- 4 1.5.4.汇编写启动代码之开iCache (32:49).mp4
- 5 1.5.5.重定位引入和链接脚本1 (34:44).mp4
- 6 1.5.6.重定位引入和链接脚本2 (27:48).mp4
- 7 1.5.7.重定位引入和链接脚本3 (29:11).mp4
- 8 1.5.8.代码重定位实战1 (37:14).mp4
- 9 1.5.9.代码重定位实战2 (54:41).mp4
- 10 1.5.10.SDRAM引入 (35:36).mp4
- 11 1.5.11.SDRAM初始化 (36:45).mp4
- 12 1.5.12.汇编初始化SDRAM详解1 (40:48).mp4
- 13 1.5.13.汇编初始化SDRAM详解2 (43:33).mp4





