笔者在23年春节前夕找到了一套嵌入式开发的综合教程,觉得其教程体系以及内容的广度深度都很适合嵌入式从业人员入门以及进阶。故特此整理出大体框架以供后续自己学习并进行补充,直至形成完整个人嵌入式经验笔记。
嵌入式C语言基础与进阶
(零)C语言常用关键字及运算符
1.sizeof、return
(一)基础数据类型
1.char
2.short、int、long
3.float、符号数
(二)自定义数据类型
1.struct、union
2.enum
3.typedef
(三)逻辑结构关键字类型
1. _register
2. _static_const
3. _volatile
4._mod
5. 逻辑运算符:& | ~
6._内存访问符
7.位运算符:移位、与或、异或、取反
(四)指针
1. 指针基本定义
2. 指针修饰符 const
3. 指针修饰符 volatile
4. 指针修饰符 typedef
5. 指针运算符的加减操作
6. 指针运算符的越界访问
7. 指针运算符的逻辑操作
8. 多级指针
9.数组空间初始化
10.指针数组
(五)内存空间
1.结构体字节对齐
2.内存分布
2.1 内存分布之只读空间
2.2 内存分布之数据段
2.3 内存分布之堆空间
(六)嵌入式常用函数
1.函数概述
2.函数名举例
3.函数形参与实参
4.函数形参拷贝与实参拷贝
5.传递——函数值
6.传递——函数地址
7.传递——连续空间
8.字符空间操作
9.非字符空间操作
10.函数返回值
11.函数返回地址
Uboot系统移植
1.uboot的异常向量表,启动机制原理
2.objdump反汇编查看uboot的头部代码和异常向量表
3.CPSR寄存器设置
4.CP15协处理器基础,VBAR异常向量表基址映射
5.CP15子过程:Cache、分支预测、MMU操作
6.实验一:Uboot点亮LED
7.编译、链接、汇编过程概述
8.实验二:编写自己的MyBoot
9.芯片型号判断
10.IO保持、复位方式判断、中断初始化
11.UART分析
12.实验三:UART显示指定内存数据
13.DDR基本原理
14.DDR2基本原理
15.DDR2读写时序
16.DDR2初始化代码分析
17.实验四:编写自己的DDR初始代码
18.实验五:uboot.bin从SD卡搬运至DDR内存
19.uboot.bin连接镜像结构分析
20.board_init_f 板级初始化函数分析——前半部分
21.uboot自举实现和汇编自居代码分析
22.board_init_r 板级初始化函数分析——后半部分
23.main_loop uboot的主循环分析
24.bootm启动流程总体分析