LDF

なんだかLDFを睨んでいるだけで今日は終わりそうな気配がしています。LDFの頭には巨大なIFDEFの塊がありますが、これはワークアラウンドを避けるかどうか、FILEIOを使うかどうか、IEEE完全互換浮動小数点ライブラリにするかなどの決定に使います。RTOSの場合、アプリもろとも機械にフィッティングさせるので、用途不明なIFDEFなど不要です。そういうわけでばっさり切り取っています。
さて、ちょっと悩むのが物理メモリーです。ADSP-BF533のSRAMの容量をキャッシュを使うかどうかでまとめてみると:

キャッシュを使う

  • I : 64KB
  • DA: 16KB
  • DB: 16KB

キャッシュをわない

  • I : 80KB
  • DA: 32KB
  • DB: 32KB

となります。Rev 0.2のシリコンはアノーマリーの都合でデータキャッシュを使えませんからデータメモリーに関しては32KBを2面使えるとしても、命令キャッシュはどうしましょう。ライブラリなどが増えると困りますし命令キャッシュを使うつもりで組んだほうがよさそうですね。
と、いうことで方針です。

  • L1 I SRAM : 64KB (program 実行)
  • L1 SCRATCH : 1KB (イベントスタック)
  • L1 SCRATCH : 3KB (OS用データ)
  • L1 D SRAM A : 32KB (アプリケーションデータ)
  • L1 D SRAM B : 8KB (ヒープ)
  • L1 D SRAM B : 24KB (アプリケーションデータ)

この段階ではデュアルアクセス最適化までは考えていません。それは先の話です。