ひでみのアイデア帳

くだらないことなんだけど、忘れないために・・・

JPEG DecoderでDMAの設定ミス

JPEG DecoderでDMAがスタートしないと思ってたら、LENGTHのビット幅を間違えていた。

![](./files/995447789439336.png" width="480)

14bit設定になっていたところに0x0010_0000のLENGTHを設定して、転送しようとしていた。

そりゃ、転送始まりませんよ。

全部,0xFFFF_FFFFを書いたら0x0000_3FFFが返ってきたのでようやく意味がわかった。

VivadoのAXI DMAの"Width of Buffer Length Register"はデフォルトで14bit設定になっている。

![](./files/68936978571829.png" width="480)

これを23bitに直して、"Generater Output Products"を実行して、モデルを更新する。

"Generater Output Products"もほとんど、おまじない。

設定を変更したのに何かが反映されなく、回路が前のままになっていることがあったので、今は変更したら常に実行するようにしている。

手動リセットを追加したいのでGPIOを付けよう。

今日はここまでで眠いので終了!

明日、デバッグアプリを書いて、そこそこ、動作したらドライバを作ろう。