這幾天一直在搗鼓stm32h7b0 ospi外掛psram做映射讀寫,
群友“ART-Pi代言人”的測試平臺是stm32h730,他反復測試了psram映射,在映射寫的時候會進入硬件錯誤,
這幾天我們兩人交流了一下發現是stm32h7系列的幾款單片機的ospi外的的一個bug導致的
(es0478-stm32h7a3xig-stm32h7b0xb-and-stm32h7b3xi-device-errata-stmicroelectronics.pdf)
(see errata 2.7.8 “Memory-mapped write error response when DQS output is disabled”)
,原文的意思是即使器件沒有DQS引腳,在間接和映射寫時也要開啟DQS,而在間接和映射讀時也要關閉DQS。
后續他的平臺可以運行了。
我的stm32h7b0必須配置mpu關閉涉及cache的功能,總結如下:
對于psram映射的地址空間,mpu中TEX、C、B、S配置組合對應表中的Other attributes一列必須是空的,
不然會導致大量寫入psram的數值存在錯誤。
下一步打算把程序存儲在spi flash中,由mcu內部flash中的boot將spi flash中的程序拷貝到psram中運行,
剩余多余的psram存儲空間就可以作為堆棧使用(不能配置cache,速度上會比較慢,希望后續的stm32型號能解決)。
目前已經實現boot從spi flash拷貝程序到psram并跳轉到psram運行的工作。在keil下調試也可以了(已實現spi flash的下載算法)。不過要注意boot和app的時鐘配置要合理,或者干脆一樣的配置,避免不必要的錯誤。keil下代碼重新編譯過后再調試,需要手動點下載燒錄,而不是調試的自動更新固件。
-
STM32
+關注
關注
2270文章
10914瀏覽量
356726 -
SPI
+關注
關注
17文章
1716瀏覽量
91832 -
PSRAM
+關注
關注
0文章
35瀏覽量
13374 -
stm32h7
+關注
關注
0文章
37瀏覽量
1753 -
單片機
+關注
關注
0文章
216瀏覽量
16658
發布評論請先 登錄
相關推薦
STM32H7B0通過QSPI地址映射外部flash開始使用正常,出現QSPI功能異常是什么原因導致的?
STM32H7b0設置Boot0引腳選項字節為0x1FF0,發送CAN幀后依舊無回復怎么解決?
stm32H7B0 的spi_dma傳輸怎么能傳輸更長的字節?
STM32H7B0和STM32H730系統自帶Bootloader的起始地址是什么?
請問STM32H730 OSPI在內存映射模式下單次讀寫長度是多少?
如何使用STM32H7A3/7B3和STM32H7B0微控制器內存和外圍設備
STM32H7A3/7B3和STM32H7B0微控制器參考手冊
如何使用USB3300的STM32H7B0上的ULPI?
STM32H735多路復用內存映射OSPI Hyperram硬故障問題如何解決?
AN5450_STM32H7A3/7B3 系列和 STM32H7B0 Value 系列智能電源管理 STM32Cube 擴展包
![AN5450_<b class='flag-5'>STM32H7</b>A3/<b class='flag-5'>7B</b>3 系列和 <b class='flag-5'>STM32H7B0</b> Value 系列智能電源管理 <b class='flag-5'>STM32</b>Cube 擴展包](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AN5307_STM32H7A3/7B3系列和STM32H7B0超值系列微控制器硬件開發入門
![AN5307_<b class='flag-5'>STM32H7</b>A3/<b class='flag-5'>7B</b>3系列和<b class='flag-5'>STM32H7B0</b>超值系列微控制器硬件開發入門](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RM0455_STM32H7A3/7B3 和 STM32H7B0 超值系列基于 Arm? 的高級32位 MCU
![RM0455_<b class='flag-5'>STM32H7</b>A3/<b class='flag-5'>7B</b>3 和 <b class='flag-5'>STM32H7B0</b> 超值系列基于 Arm? 的高級32位 MCU](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32H7A3/7B3和STM32H7B0超值系列先進的基于臂?的32位MCU
![<b class='flag-5'>STM32H7</b>A3/<b class='flag-5'>7B</b>3和<b class='flag-5'>STM32H7B0</b>超值系列先進的基于臂?的32位MCU](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
ES0478_STM32H7A3xI/G和STM32H7B0xB和STM32H7B3xI單片機的局限性
![ES0478_<b class='flag-5'>STM32H7</b>A3xI/G和<b class='flag-5'>STM32H7B0</b>xB和<b class='flag-5'>STM32H7B</b>3xI單片機的局限性](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論