原文链接:http://blog.sina.com.cn/s/blog_574d08530100hzo2.html
英文缩写
ARM:Advanced RISC Machine
AAPCS:ARM Architecture Process call standard ARM体系结构过程调用标准
RISC: Reduced Instruction Set Computer 精简指令集计算机
RTOS:Real Time Operating System 实时操作系统
DMA:Direct Memory Access 存储器直接访问
EXTI: External Interrupts 外部中断
FSMC: Flexible static memory controller 可变静态存储控制器
FPB:flash patch and breakpoint FLASH 转换及断电单元
HSE:Hign speed external
HSI: High speed internal
LSE: Low Speed external
LSI: Low Speed Internal
LSU: load store unit 存取单元
PFU: prefetch unit 预取单元
ISR:Interrupt Service Routines 中断服务程序
NMI: Nonmaskable Interrupt 不可屏蔽中断
NVIC: Nested Vectored Interrupt Controller
MPU: Memory Protection Unit
MIPS:million instructions per second 每秒能执行的百万条指令的条数
RCC:Reset and clock control 复位和时钟控制
RTC: Real-Time Clock 实时时钟
IWDG: independent watchdog
WWDG:Window watchdog
TIM:timer 定时器
端口
AFIO:alternate function IO 复用IO端口
GPIO:general purpose input/output 通用IO端口
IOP(A-G):IO port A - IO port G (例如:IOPA:IO port A)
CAN:Controller area network
FLITF:The Flash memory interface 闪存存储器接口
I2C: Inter-integrated circuit
IIS: integrate interface of sound 集成音频接口
JTAG:joint test action group 联合测试行动小组
SPI:Serial Peripheral InterfaceSDIO: SD I/O
UART: Universal Synchr./Asynch. Receiver Transmitter
USB: Universal Serial Bus
寄存器相关
CPSP: Current Program Status Register 当前程序状态寄存器
SPSP: saved program status register 程序状态备份寄存器
CSR:clock control/status register 时钟控制状态寄存器
LR: link register 链接寄存器
SP: stack pointer 堆栈指针
MSP: main stack pointer 主堆栈指针
PSP:process stack pointer 进程堆栈指针
PC: program counter 程序计数器
调试相关
ICE:in circuit emulator 在线仿真
ICE Breaker 嵌入式在线仿真单元
DBG:debug 调试
IDE:integrated development environment 集成开发环境
DWT: data watchpoint and trace 数据观测与跟踪单元
ITM: instrumentation trace macrocell 测量跟踪单元
ETM: embedded trace macrocell 嵌入式追踪宏单元
TPIU:trace port interface unit 跟踪端口接口单元
TAP: test access port 测试访问端口
DAP: debug access prot 调试访问端口
TP: trace port 跟踪端口
DP:debug port 调试端口
SWJ-DP: serial wire JTAG debug port 串行-JTAG 调试接口
SW-DP: serial wire debug port 串行 调试接口
JTAG-DP:JTAG debug port JTAG 调试接口
系统类
IRQ: interrupt request 中断请求
FIQ: fast interrupt request 快速中断请求
SW:software 软件
SWI: software interrupt 软中断
RO:read only 只读(部分)
RW:read write 读写(部分)
ZI:zero initial 零初始化(部分)
BSS:Block Started by Symbol 以符号开始的块(未初始化数据段)
总线
Bus Matrix 总线矩阵
Bus Splitter 总线分割
AHB-AP:advanced High-preformance Bus-access port
APB:advanced peripheral bus
APB1: low speed APB
APB2: high speed APB
PPB: Private Peripheral Bus 专用外设总线
杂类
ALU:Arithmetic Logical Unit 算术逻辑单元
CLZ: count leading zero 前导零计数(指令)
SIMD: single instruction stream multiple data stream 单指令流,多数据流
VFP: vector floating point 矢量浮点运算
词汇/词组
Big Endian 大段存储模式
Little Endian 小段存储模式
context switch 任务切换(上下文切换)(CPU寄存器内容的切换)
task switch 任务切换
literal pool 数据缓冲池
词汇类/单词
arbitration 仲裁
access 访问
assembler 汇编器
disassembly 反汇编
binutils 连接器
bit-banding 位段(技术)
bit-band alias 位段别名
bit-band region 位段区域
banked 分组
buffer 缓存/
ceramic 陶瓷
fetch 取指
decode 译码
execute 执行
Harvard 哈佛(架构)
handler 处理者
heap 堆
stack 栈
latency 延时
load (LDR) 加载(存储器内容 加载到 寄存器Rn)
store (STR) 存储(寄存器Rn内容 存储到 存储器)
Loader 装载器
optimization 优化
process 进程/过程
thread 线程
prescaler 预分频器
prefetch 预读/预取指
perform 执行
pre-emption 抢占
tail-chaining 尾链
late-arriving 迟到
resonator 共振器
指令相关
instructions 指令
pseudo-instruction 伪指令
directive 伪操作
comments 注释
FA full ascending 满栈递增(方式)
EA empty ascending 空栈递增(方式)
FD full desending 满栈递减(方式)
ED empty desending 空栈递减(方式)
翻译
1.number of wait states for a read operation programmed on-the-fly
动态设置(programmed on-the-fly)的 读操作的 等待状态数目
参考文章
1.BSS的参考:http://baike.baidu.com/view/453125.htm?fr=ala0_1
BSS是Unix链接器产生的未初始化数据段。其他的段分别是包含程序代码的“text”段和包含已初始化数据的“data”段。BSS段的变量只有名称和大小却没有值。此名后来被许多文件格式使用,包括PE。“以符号开始的块”指的是编译器处理未初始化数据的地方。BSS节不包含任何数据,只是简单的维护开始和结束的地址,以便内存区能在运行时被有效地清零。BSS节在应用程序的二进制映象文件中并不存在。
在采用段式内存管理的架构中(比如intel的80x86系统),bss段(Block Started by Symbol segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域,一般在初始化时bss 段部分将会清零。bss段属于静态内存分配,即程序一开始就将其清零了。
比如,在C语言之类的程序编译完成之后,已初始化的全局变量保存在.data 段中,未初始化的全局变量保存在.bss 段中。
text和data段都在可执行文件中(在嵌入式系统里一般是固化在镜像文件中),由系统从可执行文件中加载;而bss段不在可执行文件中,由系统初始化。
2.ISR的参考: http://baike.baidu.com/view/32247.html?fromTaglist
3.DMA的参考: http://baike.baidu.com/view/32471.htm?fr=ala0_1
在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。
一个完整的DMA传输过程必须经过下面的4个步骤。
1.DMA请求 CPU对DMA控制器初始化,并向I/O接口发出操作命令,I/O接口提出DMA请求。
2.DMA响应 DMA控制器对DMA请求判别优选级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O接口开始DMA传输。
3.DMA传输 DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制RAM与I/O接口进行DMA传输。
4.DMA结束当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O接口发出结束信号。当I/O接口收到结束信号后,一方面停止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。最后,带着本次操作结果及状态继续执行原来的程序。
由此可见,DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU的效率大为提高。