您现在的位置是:课程
U
2023-06-29 20:42课程 人已围观
- 课程目标
- 本课程为uboot学习的第6部分,主要内容是uboot启动的第二阶段start_armboot函数。本阶段是开发板级别的硬件初始化及uboot中数据结构的初始化函数集合,经过本轮初始化后uboot就进入了命令行死循环中。
- 适用人群
- 本课程为uboot和系统移植阶段的第6部分,适合有一定嵌入式学习基础(譬如学完了裸机全集和C语言高级篇),需要继续学习uboot和系统移植的同学。
- 课程简介
-
嵌入式绝对是当前IT领域最炙手可热的话题了。其主要应用领域涵盖与人类相关的各行各业:
* 消费电子(手机、平板电脑、游戏机)
* 物联网(智能家居、智慧城市)
* 工业自动化(无人工厂、工业机器人)
可以毫不客气的说,IT发展的未来在于嵌入式。巨大的商机和人才缺口导致嵌入式软件工程师的薪资居高不下,引得无数青年才俊、高校学子相继加入、苦苦钻研。
课程特色
*完全零基础,降低学习门槛。
*深入浅出,通俗易懂。不怕学不会,就怕你不学习。
*思路清晰、语言风趣,对着视频看也不会想睡觉······
*视频 + 文档 + 练习题 + 答疑,全方位保证学习质量。
*基础知识 + 思路引导的教学方式,授之以鱼更授之以渔。
*系列课程。本教程只是入门篇,后续还有更多更精彩视频更新中。
课程目录3.6.1.start_armboot函数简介
[免费观看]
17:54本节课简要介绍start_armboot函数,回顾uboot启动第一阶段的同时展望了第二阶段要做的事情,并且分析了uboot启动最终的归宿。
3.6.2.start_armboot解析1
28:02本节开始解析start_armboot函数,主要解析了init_fnc_t和DECLARE_GLOBAL_DATA_PTR这两个表达式。
3.6.3.内存使用排布
26:33本节接应上节讲的gd和bd,介绍uboot中设计的内存使用和排布方法。
3.6.4.start_armboot解析2
32:24本节开始分析init_sequence,并从头开始分析其中的板级初始化函数。
3.6.5.start_armboot解析3
37:53本节主要讲解board_init中的DDR配置和初始化部分。
3.6.6.start_armboot解析4
35:06本节主要讲解interrupt_init和env_init,分别是定时器初始化和环境变量的初始化。
3.6.7.start_armboot解析5
18:47本节主要讲解init_baudrate和serial_init两个函数,都是串口相关的初始化。
3.6.8.start_armboot解析6
38:54本节主要讲解console_init_f、display_banner和print_cpuinfo这两个初始化函数,分别是控制台初始化、打印启动logo和cpu信息的函数。
3.6.9.start_armboot解析7
27:26本节介绍了check_board函数,同时重点给大家演示了如何进行uboot的代码实践和学习。
3.6.10.start_armboot解析8
23:36本节介绍了init_sequence中最后的2个dram相关初始化函数,并且对整个init_sequence中所有初始化函数做了总结和回顾。
3.6.11.start_armboot解析9
24:28本节讲解flash初始化和堆管理器内存初始化两个函数,并且进行了代码实践。
3.6.12.start_armboot解析10
32:49本节主要讲解MMC卡初始化相关代码,这是对驱动学习最好的启蒙。
3.6.13.start_armboot解析11
24:02本节主要讲解env_relocate函数,详细介绍了环境变量在uboot的整体实现。
3.6.14.start_armboot解析12
24:27本节主要讲解IP地址、MAC地址的获取及确定,devices_init和jumptable的初始化。
3.6.15.start_armboot解析13
28:36本节主要讲解console_init_f、enable_interrupts、board_late_init这几个初始化函数。
3.6.16.start_armboot解析14
28:01本节讲解剩下的几个初始化函数,并且结束了start_armboot函数。
3.6.17.uboot启动2阶段总结
25:36本节对本课程中讲到的start_armboot函数进行整体总结回顾,帮助大家加深记忆.
上一篇:U
下一篇:uCOS2源码分析1