91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

ThreadX學習(一)--MPU內存保護單元與Cache配置

一、實驗平臺

1、STM32H750

2、軟件:KEIL、CUBEMX

3、參考資料:安富萊_STM32-V7開發板_用戶手冊,含BSP驅動包設計(V3.2)(23.24章節)、Cortex-M3權威指南(中文)(第十四章 存儲保護單元MPU)、STM32 MPU說明

二、學習內容:

使用CUBEMX進行MPU、Cache配置,并進行讀寫實驗。

2.1、CUBEMX配置:

1、時鐘配置

本次設計中采用外部25M高速時鐘,內核時鐘在480MHZ。

2、Cache配置

關于Icache和dcache的說明

首先對Dcache和icache分別進行使能。是能完成之后在配置MPU保護單元。

MPU保護單元配置

首先配置MPU的控制模式:背景區域使用特權模式訪問,同時硬件錯誤和NMI,FAULTMASK使能。(2.3、2.4、2.6)

之后對region進行配置,STM32H7共有16個region等級,這里我們只使用0等級。

下面是等級一的配置:

1、設置region的首地址和地址空間。

2、配置TEX的等級,即cache的模式配置。關于TEX field配置,一般選擇0就可以(詳見2.5)。

3、配置內存的通行許可,配置為特權寫,非特權讀(參考2.7)。

4、配置MPU的指令許可,使能即可。

5、關于cacheable和bufferable都開啟即可(2.8)。

2.2 關于cache的說明:

模式配置:

cache在STM32H7中主要為和MPU內存保護單元配合,同時cache可以提高sram的讀寫速度。在配置時,cache可以被配置為4種模式分別是:

其中在write through模式,為Write through,read allocate,no write allocate,即寫操作直接寫入sram,讀操作通過cache;而Write back模式讀寫的cache都是開啟的,no write allocat和 write allocat的區別,如果使用no write allocat的情況下,若cache中沒有相關區域則會直接寫入sram,而使用write allocat的話,會數據更新到sram后會將sram的數據再次寫入到cache中。

2.3 關于MPU部分解讀:

2.4 關于MPU的背景區域解讀:

關于背景區域,即全部的地址,可以被設置為只可以特權訪問和不能被訪問。同時需要注意,region的訪問等級從高到低排序。使用過程如下圖所示。

2.5 關于MPU的TEX配置:

2.6 關于NMI:

NMI不可屏蔽中斷,不可屏蔽中斷的一般使用方式見下。

2.7 關于特權設置

特權指的是在MPU的設置過程中要設置region,每個region都是特權。

2.8 關于緩沖配置

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 4
收藏 3
關注 11
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧
主站蜘蛛池模板: 灵宝市| 沧源| 黑山县| 珲春市| 天门市| 黄山市| 桂林市| 佛冈县| 东兰县| 麻阳| 离岛区| 湘潭市| 百色市| 湘阴县| 临安市| 正定县| 普洱| 长寿区| 乐至县| 南木林县| 三亚市| 白沙| 吉林市| 迭部县| 中西区| 秦皇岛市| 紫金县| 湄潭县| 奈曼旗| 石家庄市| 普洱| 潮安县| 沈阳市| 北川| 砀山县| 平山县| 金昌市| 定远县| 闽清县| 崇左市| 建阳市|