(toppers-users 2363) Re: EZ-ARM移植での割り込み処理について

ykominami ykominami @ nifty.com
2006年 3月 29日 (水) 17:40:43 JST


小南です。

On Wed, 29 Mar 2006 16:22:02 +0900
屋敷光宏 <yashiki.mitsuhi @ pfu.fujitsu.com> wrote:

> こんにちは、小南さん
> 
> r2の値を調べられればいいのですが、ICEが無いもので^^;
> このループはr2が0の場合は回りつづけるとのことですが、
> add r0, r0, #1
> bpl find_bit_loop
> の部分で抜けないのでしょうか?
> (実際に、無限ループしてるってことは抜けないのか^^;)

addの実行により、CPSRの条件フラグが設定され,それが0か正の
ときに分岐するようですから、r0はずっと+1されつづけ、ずっと
分岐しつづけると思います。

この場合はICEを持ち出さないでも、このループに入る前にr2の
値を判定して、0であったことが確認できるだけでもよいのでは。
よく使われるのがLEDを光らせるとか、メモリのどこかに値を書き
込むとかだと思います。

r2が0ならばループには入らないほうがよいでしょうし、該当ループ
の後に、r2が0の場合の処理も追加する必要があると思います。

> 参考ソースそのままだったのですが、問題あるコードなのかな。
> ちょっと調べてみます。
問題というか,r2が0にならないことを前提にしていると思います。

今回、r2が0になっていることが分かったならば,今度はなぜr2が
0になったのかを調べないといけないと思います。

私には,r2が0になることがそもそも問題なのか、それとも単に処理
が抜けているだけなのかは分かりません。


----------------------------------- 
小南 ykominami @ nifty.com