更新时间:2025-01-16 18:00:17
封面
版权信息
内容提要
前言
基础篇
第1章 CPU与ARM
1.1 CPU
1.1.1 CPU概述
1.1.2 计算机结构
1.1.3 CPU的组成
1.1.4 指令的运行
1.2 ARM
1.2.1 ARM的发展史
1.2.2 ARM架构
1.2.3 ARM处理器
1.3 SoC
第2章 搭建环境
2.1 KEIL软件安装
2.1.1 KEIL、µVision、MDK之间的关系
2.1.2 安装KEIL
2.1.3 创建工程
2.1.4 编译程序
2.1.5 如何debug程序
2.2 编译环境搭建
2.2.1 安装VMware Workstation
2.2.2 安装ubuntu
2.3 交叉编译工具安装
第3章ARM编程
3.1 ARM指令格式
3.2 数据处理指令
3.2.1 mov指令
3.2.2 移位操作
3.2.3 cmp比较指令
3.2.4 tst条件指令
3.2.5 运算指令
3.3 跳转指令
3.4 访问程序状态寄存器指令
3.4.1 mrs指令
3.4.2 msr指令
3.4.3 综合实例
3.5 访问外部寄存器指令
3.5.1 ldr指令
3.5.2 str指令
3.5.3 ldrb指令
3.5.4 ldrh指令
3.6 ARM寻址方式
3.7 GNU书写风格
3.7.1 MDK书写风格与GNU书写风格
3.7.2 标号symbol(或label)
3.7.3 语句格式
3.7.4 分段
3.8 伪操作
3.8.1 数据定义伪操作
3.8.2 汇编控制伪操作
3.8.3 .if.else.end if
3.8.4 杂项伪操作
3.9 GNU程序的编译
3.9.1 交叉编译工具
3.9.2 交叉编译工具命名规则
3.9.3 程序编译过程
3.9.4 编译选项
3.9.5 elf与bin文件
3.9.6 编译举例
3.10 ATPCS和AAPCS
3.11 内联汇编
3.12 C语言和汇编语言相互调用举例
第4章 异常
4.1 异常基础知识
4.2 异常处理
4.2.1 异常发生后硬件操作
4.2.2 异常向量表
4.2.3 保存执行现场
4.2.4 异常处理的返回
4.2.5 异常恢复
4.3 中断异常
4.3.1 中断概念
4.3.2 中断处理流程
4.4 软中断
4.4.1 swi指令
4.4.2 bkpt指令
4.4.3 举例
4.4.4 同时执行跳转指令并切换模式
4.4.5 获取中断号
编程篇
第5章 GPIO及LED
5.1 GPIO
5.1.1 Exynos 4412 GPIO的特性
5.1.2 LED电路图
5.1.3 如何操作GPIO
5.2 LED驱动程序编写
5.2.1 汇编程序
5.2.2 C语言程序实现
5.2.3 烧写程序
第6章 PWM
6.1 Exynos 4412 PWM
6.1.1 PWM基础知识
6.1.2 Exynos 4412 PWM的特性
6.1.3 PWM的工作步骤
6.2 蜂鸣器驱动程序编写
6.2.1 参考电路