3

IAR で STM32F100 バリュー ライン プロセッサを使用しています。未使用のコード メモリを Reset_Handler (または HardFault_Handler) へのジャンプで埋めたいと思います。IAR を使用してこれを行うにはどうすればよいですか?

4

2 に答える 2

3

ほとんどのhexファイル ジェネレーターは、要求があればメモリをいっぱいにします。おそらく IDE 内でそれを行うことができます。

ただし、未使用のフラッシュを空白 (0xffff) のままにしておくと、無効な命令例外が生成され、イメージ サイズが最小化されます。

リセット ハンドラへのジャンプは、リセットの実行と同じではないことに注意してください。ハードウェアの状態は非決定論的です。おそらくより良い方法は、ウォッチドッグを有効にして、メモリをB .(自己への分岐) 0xE7FE で満たすことです。ウォッチドッグはタイムアウトし、真のリセットを作成します。

于 2013-11-07T12:16:19.013 に答える
1

Embedded Workbench を使用していると仮定すると、[Project Options] -> [Linker] カテゴリの下に、未使用のメモリを埋めたり、メモリのチェックサムを計算したりするオプションを含む [Checksum] タブがあります。ハンドラアドレスでメモリを埋める必要があります。迷子の実行をトラップしたい場合は、メモリ保護ユニットが適しています。

于 2013-11-06T22:12:00.313 に答える