PSRAMをSTM32に追加してRAMを増やしたい.
なのですが、STM32H723のOCTOSPIでは無理かなと、bugがあったりして無理かなと、撤退しました. →第2期
こちらによると、STM32H750でメモリマップドでPSRAMが動いたらしい.OCTOSPIでなくQUADSPIなので不安がありますが、試してみます.
↓自作基板です
STM32H750はRAMが合計1MBなのが嬉しいのですが、意外なところに巨大な穴がありました.FLASHが128kBしか載ってない.これじゃ足りないよ.これじゃ使えないよ.というわけでH750を使ってみますけど、PSRAMの味見だけで終わる見込みです.ぎゃふん今夜はもう時間切れなので、明日以降ここから下に追記してゆきますのでー
ーーーー
夜.
PSRAMのID(0D5D)は読めた.ゆえにQUAD SPIは正常.
しかし、メモリマップドでPSRAM領域0x90000000にアクセスするとhung-upする.readもwriteもhung-upする.Coretex-M7のアクセス権は操作してある.
もしかしたら、こうなのかもしれない.
・QUADSPIはメモリマップドで読める(DMA read可能)
・QUADSPIはメモリマップドでは書けない(仕様からそんな匂いがする)
・メモリマップドで読み書きしたければOCTOSPIが必要
・STM32H7シリーズでOCTOSPIを装備しているのはH723だがbugだらけ
・STM32GやSTM32UならOCTSPI装備かもしれないがそれらは低速CPU
俺がやりたい前提が最初から崩れ去っているよな気がしてきた.明日辺り「ぎゃふん」ゆうてる自分の姿が瞼に浮かぶ....
ーーーー
翌朝.
非メモリマップドで動かしてみる.hung-upはしなくなったけど、読み書き出来てない.
上で書いた「QUADSPIはメモリマップドでは書けない」について.
QUADSPIはFLASHを読むためのものらしい.つまり、serial FLASHも、PSRAMも、読むコマンドは同じなのでPSRAMを読むのは可能という建て付け.だがPSRAMに書くのはできない.(非メモリマップドなアクセス方式でなら書ける)
メモリマップドで読み書きするにはOCTOSPIが必要だけどH7シリーズでその道は閉ざされていると思われるので、PSRAMを使う意欲が絶賛減退中.
かしこ
>QUADSPIはメモリマップドでは書けない
返信削除>こちら(STM32でQSPI接続のPSRAMを使いたい https://blog.haru3.me/posts/2024/20240513-stm32-qspi-psram/)
でも、
・書き込む際にはメモリマップドモードを解除した上で上記の関数などを用いる必要があります
って、書いてありますが・・・・
※要するに、(RAMだけど)「NORフラッシュ」のつもりで、メモリマップドモードで読むことが出来る。
(C言語からだと、配列ないしポインタアクセスできるから、使い道はありますね)
と言うことだと思います。
※「STM32H7Rx」「STM32H7Sx」
(「STM32H723」(H の後が、数字だけの奴)とは、「全く設計が違う」模様。最近発表されたシリーズ)
だと、「ESP-PSRAM64H」が、使えるようです。
community.st.com/t5/stm32-mcus-products/stm32h723-problem-with-serial-ram-in-memory-mapped-mode/td-p/229476/page/2?lightbox-message-images-663408=73247iDD1082B70AE58010
の、「QSPI SDR」が、「V」(Valid ?)になってます。
あ、でも、
削除・readもwriteもhung-upする
は、おかしいですね・・・
※この問題は「キャッシュがらみ」に見えるので、一回でも「write操作」を、行うと、「read もダメになる」のカモですが。
>メモリマップドモードを解除した上
削除これ、アリエール
>「STM32H7Rx」「STM32H7Sx」
削除これらは何か忘れたけど採用できない何かがあった記憶
PSRAMは損切りの手じまいかな
第4期は手じまい回になります
>採用できない何か
削除ひょっとして、
・FLASHが64kBしか載ってない
ですかね・・・?
※この辺のシリーズになると、「MCU」(Micro Controller Unit)ではなくて、ほぼ、
・汎用CPU(+ 周辺IO、グラフィックとか)
になって来てますね。
※内蔵 ROM / RAM は「ブート用くらい」と割り切っている。なので、必ず、「外付け Flash ROM」「RAM」が、必要になっている。
(部品点数が・・・)
>FLASHが64kBしか載ってない
削除それはわたしには致命傷
STM32のラインナップにはRAMリッチなのにFLASH貧乏な機種があります
RAMリッチは表示デバイスのフレームメモリを意識してるみたい
>RAMリッチは表示デバイスのフレームメモリ
削除そうなんですよね。「STM32H7Rx」って、
・2D GPU
まで載ってる始末・・・・
※まぁ、「車載GPS端末」とか、意識してんだろうな。ああいうのは、普通に「Youtube」とかも、見れたりするし。
ナンバリングは変だけど優秀じゃーん、H7R
削除>PSRAMは損切りの手じまい
返信削除何となくですが、
・8PIN DIP の、PSRAM
は、
・時代のあだ花
だったのかも知れませんね・・・・
※容量とスピードの兼ね合いで、
・CPU に内蔵するには大きすぎる
・外付けだと、スピードが遅い(シリアルの限界)
で、中途半端な位置付けになって、大容量化に伴う、
・ピン数を増やしてスピードアップ
も、できない(空きピンが無いから(笑)ので「放置された」)
※これ以後は、「OCTOSPI」とか、「多ピン」の方向へ進化(退化?)してるし。それならもう、ふつーのPC用「DDR RAM」で、いいじゃんとも思いますが・・・・
やはり、「ESP-PSRAM64H」は、その名の通り、
削除・ESP シリーズ専用
と、思ったほうが良いのかも知れないですね。
※「ソフトシリアル接続」で、「SDカード代わり」みたいには、使えますが。64M は、それだとちょっと少ないかな・・・・
STMさんRAMなんとかしてください
削除