2017-05-09 25 views
0

ペリフェラルレジスタ(マルチI/O SPIインタフェース)のアドレスに値を書き込むと、自分のプログラムがデータアボート例外を発生させます。私は皮質A9コアとルネサスRZ/A1Lプロセッサを使用しています。興味深いことに、別のプロジェクトでは、同じソースコードと同じストア命令がそのような例外を発生させません。ペリフェラルレジスタへの書き込み時のデータアボート例外

ストア命令の実行前に、このアドレスへの書き込みを禁止するか、またはこのアドレスへのアクセスが競合することがあります。

興味深いことに、分解で重要な命令を1回実行すると、例外が発生せず、次の命令が実行されることがあります。しかし、同じメモリ領域内の次のレジスタとの間で書き込みまたは読み出し(ロード/ストア)しても、同じ動作が発生する可能性があります。

答えて

0

例外はMMUによって発生しました。マルチI/O SPIインターフェイスレジスタのアドレスを含むメモリセクションは、MMUで設定されていませんでした。

なぜ分解をシングルステップで実行してもMMUデータを呼び出さないのはなぜですか?例外はまだ解決されていません。

関連する問題