性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

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

一、實驗平臺

1、STM32H750

2、軟件:KEIL、CUBEMX

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

二、學習內容:

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

2.1、CUBEMX配置:

1、時鐘配置

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

2、Cache配置

關于Icache和dcache的說明

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

MPU保護單元配置

首先配置MPU的控制模式:背景區(qū)域使用特權模式訪問,同時硬件錯誤和NMI,F(xiàn)AULTMASK使能。(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的區(qū)別,如果使用no write allocat的情況下,若cache中沒有相關區(qū)域則會直接寫入sram,而使用write allocat的話,會數(shù)據(jù)更新到sram后會將sram的數(shù)據(jù)再次寫入到cache中。

2.3 關于MPU部分解讀:

2.4 關于MPU的背景區(qū)域解讀:

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

2.5 關于MPU的TEX配置:

2.6 關于NMI:

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

2.7 關于特權設置

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

2.8 關于緩沖配置

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉載。授權事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 4
收藏 3
關注 11
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧