コードフラッシュ領域のあるアドレスを参照しているのにミラー領域を参照している?

こんにちは。

題目のとおり、コードフラッシュ領域のアドレス(例として0x01000番地)の値を参照していますが、0x01000番地に格納されている値ではなく、0xF1000番地の値を参照してしまっており、なぜこうなるのか悩んでおります。

 

マニュアルを見ていると、0x00000~0x05FFFのコードフラッシュ領域を0xF0000~0xFFFFFにミラーさせていて、ミラー先を参照することで短いコードで読出しを行えるとのことです。

このミラーしていることが関係していそうな気もするのですが、、、どうなのでしょうか。

 

①この機能はミラー先を参照するものであり、ミラー元(0x00000~0x05FFFF)を参照しても特に支障はないという認識なのですが、間違っているでしょうか。

②添付画像のように、0x01000番地の値を読みたいのに、0xF1000番地の値が読めてしまう原因は何が考えられるでしょうか。

 

よろしくお願いします。。。

Parents Reply Children
No Data