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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Cortex-M3存储器系统

發布時間:2025/3/15 windows 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cortex-M3存储器系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


一、存儲器系統的功能概覽

? 1、Cortex-CM3存儲器系統功能

?? 1)、存儲器映射是預定義的,并且還規定好了那個位置使用那條總線。

?? 2)、Cortex-CM3的存儲器系統支持“位帶”操作。

?? 3)、Cortex-CM3存儲器系統支持非對齊訪問和互斥訪問。

?? 4)、Cortex-CM3的存儲器系統支持both大端配置和小端配置。



二、存儲器映射

? 1、Cortex-CM3只有一個單一固定的存儲器映射。這極大方便了軟件在各種Cortex-CM3單片機間的移植。


? 2、存儲器的一些位置用于調試組件等私有外設,這個地址被稱為“私有外設區”。私有外設區的組件包括:

?? 1)、閃存地址重載及斷點單元(FPB)。

?? 2)、數據觀察點單元(DWT)。

?? 3)、指令跟蹤宏單元(ITM)。

?? 4)、嵌入式跟蹤宏單元(ETM)。

?? 5)、跟蹤端口接口單元(TPIU)。

?? 6)、ROM表。


? 3、Cortex-CM3的地址空間是4GB,程序可以在代碼區,內部SRAM區以及RAM區執行。4GB粗線條劃分:

?? 1)、內部SRAM區的大小是512MB,用于讓芯片制造商連接片上的SRAM,這個區通過系統總線來訪問。在此區的下部,有一個1MB的位帶區,該位帶區還有一個對應的

???????????? 32MB的“位帶別名區”,容納了8M個“位變量”。位帶區對應的是最低的1MB地址范圍,而位帶別名區里面的每個字對應位帶區的一個比特。位帶操作只適用于數據訪問,

???????????? 不適用與取指操作。

?? 2)、地址空間另一個512范圍由片上外設(的寄存器)使用。這個區也有一條32MB的位帶別名,以便于快捷的訪問外設寄存器。

?? 3)、還有兩個1GB的范圍,分別用于連接外部RAM和外部設備,它們之間沒有位帶。兩者的區別在于外部RAM區允許執行指令,而外設設備區則不允許。

?? 4)、最后剩下0.5GB的地帶是Cortex-CM3內核所在區域,包括系統級組件,內部私有外部總線S,外部私有外部總線S,以及由提供者定義的系統外設。

?? 5)、私有外部總線有兩條

??? I、AHB外設總線,只用于Cortex-CM3內部的AHB設備,它們是:NVIC,FPB,DWT和ITM。

??? II、APB外設總線,即用于Cortex-CM3內部的APB設備,也用于外部設備

?? 6)、NVIC所處的區域叫做“系統控制空間(SCS)”在SCS里面還有SysTick、MPU以及代碼調試控制所用的寄存器:



三、存儲器訪問屬性S

? 1、Cortex-CM3為存儲器做了映射之外,還為存儲器的訪問規定了4中屬性:

?? 1)、可否緩沖(Bufferable)

?? 2)、可否緩存(Cacheable)

?? 3)、可否執行(Executable)

?? 4)、可否共享(Shareable)


? 2、如果配置了MPU,則可以通過它配置不同的存儲區,并且覆蓋缺省的訪問屬性。



四、存儲器的缺省訪問許可

? 1、Cortex-CM3有一個缺省的訪問許可,它能防止使用戶代碼訪問系統控制存儲空間,保護NVIC,MPU等關鍵組件。缺省訪問許可在以下條件時生效:

?? 1)、沒有配置MPU。

?? 2)、配置了MPU,但是MOPU被除能。


? 2、存儲器的缺省訪問許可


四、位帶操作

?一)、簡介

? 1、支持位帶操作后,可以使用普通的加載/存儲指令來對單一的比特進行讀寫。在Cortex-CM3中,有兩個區實現了位帶。其中一個是SRAM區的最低1MB,第二個則是片內外

??????? 設區的最低1MB范圍。這兩個區的地址除了可以像普通的RAM使用外,它也都有自己的“位帶別名區”,位帶別名區把每個比特膨脹成一個32位的字。

??1)、位帶區與別名區的膨脹對應關系圖A

?? 2)、位帶區與別名區的膨脹對應關系圖B


? 2、Cortex-CM3用如下術語來表示位帶存儲的地址區

?? 1)、位帶區:支持位帶操作的地址區。

?? 2)、位帶別名:對別名地址的訪問最總作用到位帶區的訪問上。(注意:這中途有一個地址映射過程)


? 3、在位帶區中每個比特都都映射到別名地址區的一個字——這是只有LSB有效的字。當一個別名地址被訪問時,會先把改地址變換成位帶地址。

?? 1)、對于讀操作,讀取位帶地址中的一個字,再把需要的位右移到LSB,并把LSB返回。

?? 2)、對于寫操作,把需要寫的位左移到對應的位序號處,然后執行一個原子的“讀-改-寫”過程。


? 4、支持位帶操作的兩個內存區的范圍是:

?? 1)、0x2000_0000-0x000F_FFFF(SRAM區中的最低1MB)和0x4000_0000-0x400F_FFFF(片上外設區中的最低1MB)。

?? 2)、對于SRAM位帶區的某個比特,記它所在字節地址為A,位序號為n,則該比特在別名區的地址是:

?? 3)、對于片上外設位帶區的某個比特,記它所在字節地址為A,位序號為n,則該比特在別名區的地址是:


? 5、位帶地址映射

?? 1)、SRAM區中的位帶地址映射

?? 2)、片上外設區中的位帶地址映射



?二)、位帶操作的優越性

?? 1、位帶操作對硬件I/O密集型的底層程序提供了很大方便。

?

?? 2、位帶操作可用來化簡跳轉的判斷。是代碼更整潔。


? 3、在多任務中用于實現共享資源在任務間的“互鎖”訪問。


?三)、其他數據長度上的位帶操作

? 1、位帶操作并不限于以字為單位的傳送。亦可以按半子節和字節為單位傳送。




五、在C語言中使用位帶操作

? 1、C編譯器中并沒有直接支持位帶操作。欲在在C中使用位帶操作,最簡單的做法就是#define一個位帶別名區的地址。為了簡化位帶操作,也可以定義一些宏。


? 2、當使用位帶功能時,要訪問的變量必須用vollatile來定義。



六、非對齊數據傳送

? 1、Cortex-CM3支持在單一的訪問中使用非(地址)對齊的傳送,數據存儲器的訪問無需對齊。


? 2、非對齊傳送實例

? 3、在Cortex-CM3中,非對齊的數據傳送只發生在常規的數據傳送指令中,其他的指令則不支持:

?? 1)、多個數據的加載存儲(LDM/STM)。

?? 2)、棧堆操作(PUSH/POP)。

?? 3)、互斥訪問(LDREX/STREX)。

?? 4)、位帶操作。


? 4、應該養成好習慣,總是保持地址對齊。為此可以變成NVIC,使之監督地址對齊。



七、互斥訪問

? 1、在Cortex-CM3中,用互斥體訪問取代了ARM處理器中的SWP指令。


? 2、互斥訪問的理念同SWP非常相似,不同點在于:在互斥訪問操作下,允許互斥體所在的總線被其他master訪問,也允許被其他運行在本機上的任務訪問,但是Cortex-CM3

??????? 能駁回有可能導致竟態條件的互斥訪問。


? 3、互斥訪問分為加載/存儲,相應的指令為LDREX/STREX,LDREXH/STREXH,LDREXB/STREXB,分別對應于字/半字/字節


? 4、使用方式(以LDREX/STREX為例)

?? 1)、語法格式

?? 2)、LDREX指令與LDR相同。而STREX不同,STREX指令的執行是可以被駁回的。

??? I、當處理器同意執行STREX,Rxf的值會被存儲到(Rn+Offset)處,并且把Rd的值更新。

??? II、若處理器駁回了STREX的執行,則不會發生存儲動作,并且把Rd的值更新為1。

?? 3)、駁回規則:只有在LDREX執行后最近的一條STREX才能成功執行。其他情況下,駁回此STREX

??? I、中途有其他STR指令執行。

??? II、中途有其他的STREX執行。

?? 4)、當時用互斥訪問時,LDREX/STREX指令必須成對使用。



八、端模式

? 1、Cortex-CM3支持both小端模式和大端模式。在絕大多數情況下,Cortex-CM3都是用小端模式——為了避免不必要的麻煩,推薦使用小端模式。


? 2、Cortex-CM3中對大端模式的定義與ARM7的不同(小端定義都相同)。在ARM7中大端模式稱為“字不變大端”,而在Cortex-CM3中,使用的是“字節不變大端”。

?? 1)、Cortex-CM3的字節不變大端:存儲器視圖

?? 2)、Cortex-CM3的字節不變大端:在ABH上的數據

?? 3)、ARM7字節不變大端:在ABH上的數據


? 3、在Cortex-CM3,是在復位時確定使用那種端模式的,且運行時不得改變。指令預取永遠使用小端模式,在配置控制存儲空間的訪問也永遠小端模式(包括NVIX,FPB之

??????? 流)。另外外部私有總線地址區0xE0000000至0xE00FFFFF也永遠使用小端模式。

總結

以上是生活随笔為你收集整理的Cortex-M3存储器系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品国产91久久久久久 | 国产三级国产精品国产专区50 | 奇米色影视 | 精品一区二区三区免费毛片 | 精品动漫一区二区三区在线观看 | 午夜国产福利在线 | 少妇一夜三次一区二区 | 黄色性视频 | 在线se| 国产卡一卡二在线 | 欧美色图激情小说 | 欧美精品一区二区三区久久久竹菊 | 国产在线最新 | 日本中文视频 | 黄色片亚洲 | hs网站在线观看 | 中文字幕成人在线观看 | 91精品国产综合久久香蕉922 | 丁香激情综合 | www.久久av.com| 日韩免| 天天综合网天天综合 | 日韩欧美久久精品 | 2025国产精品 | 天天色综合久久 | 亚洲精视频 | 偷拍亚洲另类 | 久久久精品人妻一区二区三区 | 国产成人三级一区二区在线观看一 | 天天操操操 | 欧美 日韩 国产 激情 | 伊人激情综合 | 成人免费视 | 久久人妻一区二区 | 91视频社区 | 三级av在线播放 | av在线首页 | 国产人妖在线播放 | 极品粉嫩小仙女高潮喷水久久 | 久久.com| 亚洲五级片 | 狠狠影院 | 91国在线观看 | 成人激情五月天 | 国产乱淫av麻豆国产 | 99视频99 | a国产在线| 日本免费中文字幕 | videos亚洲| 成人一区二区精品 | 成人宗合网 | 调教丰满的已婚少妇在线观看 | 91色在线观看| 欧洲三级视频 | www.在线观看av | 午夜在线视频观看 | 成人免费激情视频 | 极品美妇后花庭翘臀娇吟小说 | 两口子交换真实刺激高潮 | 丰满少妇久久久久久久 | 国产精品无码无卡无需播放器 | av在线电影观看 | 九色自拍视频 | 久久大香焦| 美女露出粉嫩尿囗让男人桶 | 中文字幕一区二区三区乱码人妻 | 日日夜夜一区 | 欧美一区二区三区久久精品 | 传媒av在线 | 寂寞d奶大胸少妇 | av不卡免费观看 | 欧洲成人综合网 | 久久综合色视频 | 污污污www精品国产网站 | 免费污网站在线观看 | 欧美熟妇交换久久久久久分类 | 亚洲av成人一区二区 | av福利片| 免费午夜人成电影 | 无码国产精品一区二区高潮 | 欧美一区二区三区婷婷月色 | 久久日本精品字幕区二区 | 国产精品久久久爽爽爽麻豆色哟哟 | 丝袜综合网 | 国产xxxx做受视频 | 自拍一级片 | 男女视频免费网站 | 椎名空在线观看 | 九九九九精品 | 九九av | 亚洲国产中文字幕在线 | 亚洲小视频网站 | 中国国语农村大片 | 欧美亚洲在线视频 | 国产对白羞辱绿帽vk | 国产精品国产三级国产专区51 | 亚洲AV无码成人精品区明星换面 | se94se欧美 | 狠狠干狠狠爱 |