• マイコン上でCPUやDMAがどのように動くかをアニメーションで見せるアプリを作ってみた
  • CPUやDMAがバッファにアクセスするタイミングなどのイメージをつかむことが目的
  • https://muid7989.github.io/dma-buffer-sim/

説明

  • トレイはDMAバッファを示している
  • DMAはサーキュラモードで、バッファの半分を転送し終わるごとにCPUがバッファを埋めに行く形
  • 出力はUARTやPWMなど、一定周期でデータ要求するものをコンベアの形で表している
  • 速度が速くなるとデータ要求の間隔が短くなる

操作方法

  • CPUがトレイを埋めていくので、全部埋まったらDMAを開始する
  • CPUと出力の速度をそれぞれ調整して動きを見る
    • CPUの速度よりも出力速度の方が速いと、DMAが追い付いてしまって無効データを出力することになる