储存器和寄存器
儲(chǔ)存器和寄存器
(1)、儲(chǔ)存器映射
儲(chǔ)存器本身不具有地址信息,它的地址是由芯片廠商或用戶分配,給儲(chǔ)存器分配地址的過(guò)程稱為儲(chǔ)存器映射,如果再分配一個(gè)地址就叫重映射。
(2)、寄存器映射
通過(guò)#pragma預(yù)處理命令和DATA_SECTION將定義的寄存器指定到相應(yīng)的儲(chǔ)存單元內(nèi),然后即可通過(guò)C語(yǔ)言來(lái)操作這些寄存器。
例如:找到0X007010這個(gè)單元地址,那么可以通過(guò)查閱芯片數(shù)據(jù)手冊(cè)了解此單元是系統(tǒng)控制寄存器功能。因此為了更好區(qū)分此單元的功能和方便后續(xù)的程序開(kāi)發(fā),可以給這個(gè)單元取一個(gè)別名SysCtrlRegs,那么這個(gè)SysCtrlRegs就是寄存器,并且這個(gè)寄存器地址就是0X007010。這個(gè)過(guò)程就是寄存器映射。
(3)、如何訪問(wèn)F28335寄存器內(nèi)容
根據(jù)#pragma和DATA_SECTION的特點(diǎn),可以使#pragma和DATA_SECTION將定義的寄存器與實(shí)際的儲(chǔ)存單元對(duì)應(yīng)起來(lái),然后在使用C語(yǔ)言操作定義的寄存器,比如使用結(jié)構(gòu)體等。
假如我們要讓F28335的GPIO的第68管腳輸出低電平,我怎么使用C語(yǔ)言來(lái)處理?
首先要知道GPIO外設(shè)每類(lèi)寄存器所對(duì)應(yīng)儲(chǔ)存單元的首地址是哪個(gè),比如GPIO控制寄存器,通過(guò)查詢數(shù)據(jù)手冊(cè)可知其首地址是0X006F80,然后使用#pragma和DATA_SECTION將定義的寄存器與實(shí)際的儲(chǔ)存單元對(duì)應(yīng)起來(lái)。
(如何跳轉(zhuǎn)到函數(shù)的定義處:按住Ctrl+鼠標(biāo)點(diǎn)擊對(duì)應(yīng)的函數(shù))
總結(jié)
- 上一篇: 罗技推出新款 Brio 300 摄像头:
- 下一篇: 工程模板的创建