ARM Flash 输入输出设备
ARM的最小系统
电源 时钟 (晶振) 复位 内存
CPU(ARM920T)
运算器
R0
R1
R12
PC
PC:程序计数器,指向正在执行的下下条指令,默认做自增运算
LR:链接寄存器, 存储函数的返回地址
SP:栈指针寄存器,指向栈顶
CPSR: 当前程序状态寄存器, 存储进位,借位,溢出,结果为0,工作模式,大小端,中断使能等等。
SPSR: 保存程序状态寄存器,是CPSR的备份
MMU: 内存管理单元,虚拟地址到物理地址的转换
I-Chche: 指令缓存 D-Chche: 数据缓存
栈的类型: 满增 满减 空增 空减
多核异构
AHB: 高速总线
APB: 低速总线
三大总线:
地址总线
数据总线
控制总线: 读写信号
CPU : 中央处理单元
MCU : 微控制器
MPU : 微处理器
SOC : 片上系统
RISC:精简指令集
CISC:复杂指令集
复杂指令集
精简指令集
ARM 7/9/11
Cortex-A 低功耗,消费类电子
Cortex-R 高实时性
Cortex-M 高性能,偏控制
Printf(“ret = %d %s %d\n”, ret, __FILE__, __LINE__);
预处理:1.头文件展开 2.宏替换 3.特殊符号处理 4. 去掉注释
文本到汇编的转换
汇编到二进制文件(不可直接执行)
多个文件的合并
寄存器 快 贵
Cache
内存
Flash 慢 便宜
指令集架构: ArmV4
冯 诺伊曼结构
哈佛结构