STM32に関するメモ書きを集めた.ほぼ備忘録である. あくまでもメモ書きであるので情報は完全でなく,筆者以外が読むときには誤解しないように注意.
DMACの設定の基本は下記3点である.
DMAを起動できるトリガは複数(最大8チャネル)あるが, Figure 35. Channel selection (RM0090 Rev7, p.164)にあるように一つを選択する必要がある. CH0からCH7が具体的に何なのかはStream毎に異なり, Table 42. DMA1 request mapping,Table 43. DMA2 request mappingのとおりである. これによると, TIM1-CH1でDMA2_Stream1を起動するためにはChannel6を選択すればよいことになる.
目的のメモリにDMACがアクセスできるかどうかは, Figure 5. STM32F40x block diagram (Datasheet Rev4, p.18)および Figure 33. System implementation of the two DMA controllers (RM0090 Rev4, p.302)を参照し, バスが接続されているかどうかを見ればよい. 例えば, GPIOはAHBにつながっているので,DMA2でアクセスできることがわかる.
Figure 21. Clock tree (RM0090 Rev7, p.212)参照.注意点は,
上記説明中で参照している資料は下記のとおりである.