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

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

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

エラーが発生しました。

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

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

4. ファイルシステムとして組み込んだら性能が全然出てない

PSRAMを使うのに専用関数ってのも美しくないのでファイルシステムとして組み込んだ。調べてみると3つの関数を用意するだけで済むようだ。簡単だな。


さっそく組み込んで/psramとして使えるようにしたらMP3ファイルの再生がギリギリできる程度。SDより遅い??


ファイルを読み書きするだけのプログラムで計測したら、QSPI転送での理論値(2500kB/s)の40倍かかる。(60kB/s)

まあmicropythonのプログラムでデータを読み込んでるから仕方ない。と思ってDMAで転送して、だいぶ改善したが、それでも5倍かかる。(470kB/s)


何か妙な処理が動いてるのかね?と思いクロック変えながら計測してオーバーヘッドを算出してみるとclk信号5MHzのとき8割がオーバーヘッド。マジかよ。これじゃPSRAMとの通信クロックを上げても解決しない。(ちなみに配線が長いせいかclk信号で15MHzあたりが限界)


なおオーバーヘッドは連立方程式で簡単に求められるはずが、やり方を思い出せなかった。中学校レベルなのに。とほほ。


それはさておき

SDカードが遅いのもそのへんが理由?


micropython本体側のドライバには手を入れたくないので、PSRAMの方は地道に性能改善してかないと。

公式ドキュメントの改善方法を試してみて、最後はCで書き直すか悩みどころ。

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

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

↑ページトップへ