原文鏈接:http://blog.sina.com.cn/s/blog_574d08530100hzo2.html
英文縮寫
ARM:Advanced RISC Machine 高級精簡指令集機器
AAPCS:ARM Architecture Process callstandard 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 andbreakpoint 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 InterruptController
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:IOport 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 debugport 串行 調試接口
JTAG-DP:JTAG debugport 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-preformanceBus-access port
APB:advanced peripheral bus
APB1: low speedAPB
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 programmedon-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 Symbolsegment)通常是指用來存放程序中未初始化的全局變量的一塊內存區域,一般在初始化時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的效率大爲提高。