マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

Cortex M3のマルチタスクに向けて

ARMのアセンブリを勉強しないといけないのだが、割り込みの仕組みも勉強する必要がある。PendSVを攻略できればマルチタスクができそうだ。実践したい。でも勉強しなければ何もできない。というわけで勉強。とりあえず割り込み発生時のスタックの状態を調べる。どうやら

  • xPSR
  • R15
  • R14
  • R12
  • R3
  • R2
  • R1
  • R0

の順番でスタックにプッシュされるらしい。あとはR4-R11とR13を自分で退避すればいいのかな?R13がスタックポインタ、R14がリンクレジスタ、R15がプログラムカウンタ。もう覚えておかないとまずい時期。とにかく覚えてる。そして実践。この繰り返し!さぁ、頑張ろう!