日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

储存器和寄存器

發(fā)布時(shí)間:2023/12/15 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 储存器和寄存器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

儲(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)。

#pragma DATA_SECTION(GpioCtrlRegs,"GpioCtrlRegsFile"); 該定義可在DSP28335x_GlobalVariableDefs.c文件中查找到volatile struct GPIO_CTRL_REGS GpioCtrlRegs; GpioCtrlRegsFile是SECTIONS內(nèi)定義的,該定義可在DSP28335_Headers_nonBIOS.cmd文件中查找到。

(如何跳轉(zhuǎn)到函數(shù)的定義處:按住Ctrl+鼠標(biāo)點(diǎn)擊對(duì)應(yīng)的函數(shù))

總結(jié)

以上是生活随笔為你收集整理的储存器和寄存器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。