這幾天一直在搗鼓stm32h7b0 ospi外掛psram做映射讀寫,
群友“ART-Pi代言人”的測試平臺是stm32h730,他反復(fù)測試了psram映射,在映射寫的時候會進(jìn)入硬件錯誤,
這幾天我們兩人交流了一下發(fā)現(xiàn)是stm32h7系列的幾款單片機(jī)的ospi外的的一個bug導(dǎo)致的
(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,而在間接和映射讀時也要關(guān)閉DQS。
后續(xù)他的平臺可以運(yùn)行了。
我的stm32h7b0必須配置mpu關(guān)閉涉及cache的功能,總結(jié)如下:
對于psram映射的地址空間,mpu中TEX、C、B、S配置組合對應(yīng)表中的Other attributes一列必須是空的,
不然會導(dǎo)致大量寫入psram的數(shù)值存在錯誤。
下一步打算把程序存儲在spi flash中,由mcu內(nèi)部flash中的boot將spi flash中的程序拷貝到psram中運(yùn)行,
剩余多余的psram存儲空間就可以作為堆棧使用(不能配置cache,速度上會比較慢,希望后續(xù)的stm32型號能解決)。
目前已經(jīng)實(shí)現(xiàn)boot從spi flash拷貝程序到psram并跳轉(zhuǎn)到psram運(yùn)行的工作。在keil下調(diào)試也可以了(已實(shí)現(xiàn)spi flash的下載算法)。不過要注意boot和app的時鐘配置要合理,或者干脆一樣的配置,避免不必要的錯誤。keil下代碼重新編譯過后再調(diào)試,需要手動點(diǎn)下載燒錄,而不是調(diào)試的自動更新固件。
-
STM32
+關(guān)注
關(guān)注
2288文章
10999瀏覽量
362008 -
SPI
+關(guān)注
關(guān)注
17文章
1767瀏覽量
94523 -
PSRAM
+關(guān)注
關(guān)注
0文章
35瀏覽量
13674 -
stm32h7
+關(guān)注
關(guān)注
0文章
37瀏覽量
1753
發(fā)布評論請先 登錄
STM32H7B0通過QSPI地址映射外部flash開始使用正常,出現(xiàn)QSPI功能異常是什么原因?qū)е碌模?/a>
STM32H7b0設(shè)置Boot0引腳選項(xiàng)字節(jié)為0x1FF0,發(fā)送CAN幀后依舊無回復(fù)怎么解決?
stm32H7B0 的spi_dma傳輸怎么能傳輸更長的字節(jié)?
STM32H7B0和STM32H730系統(tǒng)自帶Bootloader的起始地址是什么?
請問STM32H730 OSPI在內(nèi)存映射模式下單次讀寫長度是多少?
基于STM32H7B0軟件開發(fā)入門教程
如何使用STM32H7A3/7B3和STM32H7B0微控制器內(nèi)存和外圍設(shè)備
STM32H7A3/7B3和STM32H7B0微控制器參考手冊
如何使用USB3300的STM32H7B0上的ULPI?
STM32H735多路復(fù)用內(nèi)存映射OSPI Hyperram硬故障問題如何解決?
AN5450_STM32H7A3/7B3 系列和 STM32H7B0 Value 系列智能電源管理 STM32Cube 擴(kuò)展包

AN5307_STM32H7A3/7B3系列和STM32H7B0超值系列微控制器硬件開發(fā)入門

RM0455_STM32H7A3/7B3 和 STM32H7B0 超值系列基于 Arm? 的高級32位 MCU

STM32H7A3/7B3和STM32H7B0超值系列先進(jìn)的基于臂?的32位MCU

ES0478_STM32H7A3xI/G和STM32H7B0xB和STM32H7B3xI單片機(jī)的局限性

評論