目录
S5PV210 嵌入式学习笔记(朱有鹏课程) .................................................................................................2
一.零碎的前提知识 .............................................................................................................................................2
1.1 IO 与内存统一编址和独立编址 ....................................................................................................2
1.2 冯诺依曼结构和哈佛结构 ..............................................................................................................2
1.3 CPU 和外部存储器接口 ....................................................................................................................2
1.3.1 内存和外存的区别 ..............................................................................................................2
1.3.2 常用的 RAM 和 Flash 和电子设备常用的组合方式 ..................................................3
1.3.3 S5PV210 的启动方式 ..........................................................................................................3
1.4 擦除和烧录 uboot .............................................................................................................................7
1.4.1 SD 卡/iNand 操作指令 movi 擦除 uboot ......................................................................7
1.4.2 linux 和 android 系统下擦除 uboot ...........................................................................8
1.4.3 fastboot 命令烧录 uboot ................................................................................................8
二.ARM 简介 ...........................................................................................................................................................9
2.1 ARM 的模式和对应的通用寄存器 .................................................................................................9
2.2 中断向量表 ........................................................................................................................................ 10
2.3 ARM 在 Linux 的汇编指令集 ....................................................................................................... 11
2.3.1 八种寻址 ............................................................................................................................. 11
2.3.2 指令后缀 ............................................................................................................................. 11
2.3.3 条件执行后缀 .................................................................................................................... 12
2.3.4 数据传输指令 .................................................................................................................... 12
2.3.6 逻辑运算指令 .................................................................................................................... 12
2.3.7 比较运算指令 .................................................................................................................... 12
2.3.8 CPSR、SPSR 操作指令 ..................................................................................................... 13
2.3.9 跳转指令 ............................................................................................................................. 13
2.3.10 访问内存指令 .................................................................................................................. 13
2.3.11 协处理器 CP15 ................................................................................................................. 13
2.3.12 栈处理指令 ...................................................................................................................... 13
2.3.13 伪指令 ................................................................................................................................ 14
2.4 多级流水线 ....................................................................................................................................... 14
三.linux 知识点 ............................................................................................................................................... 15
3.1 环境变量 ........................................................................................................................................... 15
3.1.1 PATH 环境变量 ................................................................................................................... 15
3.2 linux 里的文件............................................................................................................................... 15
3.2.1 .bashrc 文件 ..................................................................................................................... 15
四.Makefile 介绍 ............................................................................................................................................ 16
4.1 编译链接 ........................................................................................................................................... 16
五.裸机程序 ....................................................................................................................................................... 20
5.1 启动阶段的设置 ............................................................................................................................. 20
5.1.1 关开门狗 ............................................................................................................................. 20
5.1.2 设置栈调用 C 语言 ........................................................................................................... 20
5.1.3 cache 高速缓存 ................................................................................................................. 21