表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
59/61

9. Picocalc用 PSRAM ドライバ完成

PIOってなんて不安定なんだ。。。と思いながらあれこれやってきた。

その苦労がやっと報われました。


pio_asm で書いていた PSRAM アクセスプログラムのバグでした orz


色々試して、もうあきらめて「うまく動かないときは soft-resetしてね」という運用で逃げることに決めて、ソースのコメントとかを整理し始めた。

そして pio_asm で書いてる部分のコメントを整理しだしたら、気になる部分が見つかった。

直してみたら今までの苦労がウソのように安定した。


原因:

SPI通信のCLK信号は、平常時 CLK=LOであるべきだが、コマンド送信処理を CLK=HI で終了していた。

PSRAMの処理を打ち切り、次のコマンド開始時に CLK=HI でスタートするため、PSRAMの動作が不安定になった。


もしかしてPSRAMのクロックがあげられないのはそのせいか?

と思って PSRAM アクセス時のクロックを調整したら3倍まで上昇。

まぁそれでも CLK 15MHz なので、PSRAMのスペックに対しては全然足りてないけど。


ともあれ安定して使える CLK 10MHz まで落として github に push。


micropythonでできる範囲で性能改善かけたけど R/W 2Mbyte/s ぐらいがせいぜい。Cで書き直すと転用難しくなる。

動画プレイヤーの早送りならCで書き直してもいいけど、別のボードも手を付けたいので後回し(汗


ともあれPSRAM編はこれで終了です。

PIO,DMA対応PSRAMドライバはこちら

https://github.com/bjsoftab4/picocalc_viewer

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ