こんにちは。
題目のとおり、コードフラッシュ領域のアドレス(例として0x01000番地)の値を参照していますが、0x01000番地に格納されている値ではなく、0xF1000番地の値を参照してしまっており、なぜこうなるのか悩んでおります。
マニュアルを見ていると、0x00000~0x05FFFのコードフラッシュ領域を0xF0000~0xFFFFFにミラーさせていて、ミラー先を参照することで短いコードで読出しを行えるとのことです。
このミラーしていることが関係していそうな気もするのですが、、、どうなのでしょうか。
①この機能はミラー先を参照するものであり、ミラー元(0x00000~0x05FFFF)を参照しても特に支障はないという認識なのですが、間違っているでしょうか。
②添付画像のように、0x01000番地の値を読みたいのに、0xF1000番地の値が読めてしまう原因は何が考えられるでしょうか。
よろしくお願いします。。。
fujita nozomuさん
ありがとうございます。
もともとfar指定していたのですが、添付画像のようにindexポインタ変数のアドレス値が範囲外に設定されてしまい、nearにしておりました。
コードフラッシュ領域にアクセスするときはfar指定するのが原則ということなのでしょうか。