您现在的位置是:课程
U
2023-06-29 20:42课程 人已围观
- 课程目标
- 本课程为uboot学习的第12部分,从uboot官网下载的uboot开始进行移植,基本涉及到uboot移植的方方面面。本课程的目标不只是让大家理解uboot的代码结构和移植方法,更重要的在于实战演练和对大家移植时功力的提升和能力培养。
- 适用人群
- 本课程为uboot和系统移植阶段的第12部分,适合有一定嵌入式学习基础(譬如学完了裸机全集和C语言高级篇),需要继续学习uboot和系统移植的同学。
- 课程简介
-
嵌入式绝对是当前IT领域最炙手可热的话题了。其主要应用领域涵盖与人类相关的各行各业:
* 消费电子(手机、平板电脑、游戏机)
* 物联网(智能家居、智慧城市)
* 工业自动化(无人工厂、工业机器人)
可以毫不客气的说,IT发展的未来在于嵌入式。巨大的商机和人才缺口导致嵌入式软件工程师的薪资居高不下,引得无数青年才俊、高校学子相继加入、苦苦钻研。
课程特色
*完全零基础,降低学习门槛。
*深入浅出,通俗易懂。不怕学不会,就怕你不学习。
*思路清晰、语言风趣,对着视频看也不会想睡觉······
*视频 + 文档 + 练习题 + 答疑,全方位保证学习质量。
*基础知识 + 思路引导的教学方式,授之以鱼更授之以渔。
*系列课程。本教程只是入门篇,后续还有更多更精彩视频更新中。
课程目录3.12.1.选择合适的官方原版uboot
[免费观看]
24:34本节课讲解uboot的版本差异,并且最终选择一个合适的官方uboot版本作为我们移植工作的起点。
3.12.2.先初步浏览官方原版uboot
32:50本节对官方uboot进行大概浏览和结构分析、工程建立等,并将该uboot和我们之前分析过的移植好的uboot进行大概对比分析。
3.12.3.mkconfig脚本分析
31:32本节分析2013.10版本的uboot的mkconfig,重点解析了8个传参与符号连接创建等,这些在后续分析代码时都会有一定帮助。
3.12.4.先解决官方版本uboot的烧录运行
30:47本节首先移植sd_fusing文件夹,然后分析并修改代码使编译得到的u-boot.bin能够在SD卡中运行起来。
3.12.5.start.S文件分析与移植1
46:28本节分析start.S文件流程,并且添加开发板置锁和串口输出字符的代码。
3.12.6.start.S文件分析与移植2
42:42本节接上节来排除问题,讲解了如何使用LED点亮方式进行调试,并最终解决问题,成功输出字符"O"
3.12.7.添加DDR初始化1
34:14本节开始添加DDR初始化代码,主要是分析了DDR初始化代码添加的位置、相关文件的移植等。
3.12.8.添加DDR初始化2
26:20本节继续解决DDR初始化部分功能,添加调试信息打印以验证DDR初始化是否成功。
3.12.9.添加uboot第二阶段重定位1
34:26本节首先分析uboot代码流程,找到应该添加uboot重定位功能的代码段,然后分析代码重定位的思路。
3.12.10.添加uboot第二阶段重定位2
38:19本节接上节继续添加重定位代码,并且解决编译中的各种问题,成功实现重定位,并且看到了uboot启动第二阶段的信息。
3.12.11.CPU时钟信息显示移植1
32:05本节分析uboot第二阶段的cpu信息输出,并且进行代码移植和更改,解决主频显示不正确的问题。
3.12.12.CPU时钟信息显示移植2
35:43本节接上节继续解决主频显示不正确的问题。
3.12.13.CPU时钟信息显示移植3
27:16本节最终解决了主频显示不正确的问题,并且更正了以前一些不正确的认识,对210的iROM中时钟设置更加明确。
3.12.14.board和DDR配置显示移植
26:52本节主要解决开发板名称、DDR配置值的初始化等修改,这些都是init_sequences中的东西。
3.12.15.board_init_r移植
22:56本节开始移植board_init_r中的一些函数,主要内容是去掉原来的oneNand支持,加上SD/MMC的支持并将环境变量修改到SD/MMC中。
3.12.16.uboot2013.10中SD/MMC驱动浏览
39:03本节进行SD/MMC驱动的浏览和错误问题定位分析,最终分析得到解决方案思路。
3.12.17.SD卡驱动移植1
33:41本节开始移植SD卡驱动,主要进行驱动文件的逐个分析、文件关系的对应复制Makefile的修改等。
3.12.18.SD卡驱动移植2
26:22本节继续进行SD卡驱动移植实验,将移植的驱动文件整理然后进行编译、修改等使之可以通过编译。
3.12.19.SD卡驱动移植3
19:31本节继续进行SD卡驱动移植实验,主要在编译脚本cp.sh中添加代码使之选择性清理配置编译,这样可以提升效率。
3.12.20.环境变量的移植
38:26本节分析环境变量分区的问题,通过代码分区确认了当前环境变量被放在何处,并且通过修改代码将环境变量放在合适的位置。
3.12.21.环境变量的测试和配置移植
19:25本节对环境变量进行测试和效果确认,并且将uboot中默认的环境变量表重新设置以使该uboot更方便使用。
3.12.22.网卡驱动的移植1
30:48本节开始移植网卡驱动,主要是分析网卡驱动初始化代码,然后进行网卡初始化的添加、代码实践、效果查看。
3.12.23.网卡驱动的移植2
35:45本节接上节继续进行网卡驱动的移植。主要是分析网卡驱动不工作的原因并且进行解决方案分析、实践及效果确认。
上一篇:L2ESLI课程