6.4 Thumb 状態からのアクセス

ARMv6T2 以前のアーキテクチャでは、Thumb コプロセッサ命令がないので、プロセッサが Thumb ステートの間はデバッグ通信チャネルを使用できません。

この問題の解決策としては以下の方法があります。

  • 各ポーリングルーチンを SVC ハンドラ内に記述することができます。これは、ARM 状態または Thumb 状態のときに呼び出されます。SVC ハンドラに入るとプロセッサがすぐに ARM 状態になるため、コプロセッサ命令を使用できるようになります。

  • Thumb コードで、ポーリングを実装する ARM サブルーチンへのインターワーク呼び出しを発生させることができます。

  • ポーリング通信ではなく、割り込み駆動型通信を使用します。割り込みハンドラを ARM 状態で実行することにより、コプロセッサ命令に直接アクセスできます。

関連する参考文書
4 ARM と Thumb のインターワーク
5 プロセッサ例外処理
非機密扱いPDF file icon PDF 版ARM DUI0471JJ
Copyright © 2010-2013 ARM.All rights reserved.