Cortex用のARMアセンブリで定義された2つのセグメントがあります-M4、1つはコード(読み取り専用)、もう1つはデータ(読み取り書き込み)です。読み取り専用メモリはアドレス 0x08000000 で開始し、RW メモリは 0x20000000 で開始するように定義されています。各セグメントは独自のアセンブリ ファイルで定義され、ラベル名は正しくエクスポート/インポートされます。
データ セグメントは次のように記述されます。
AREA myData, Data, READWRITE
EXPORT myString
myString DCB "To be or not to be, that is the question"
END
コードでは、LDR R0, =myString を使用して文字列のアドレスを読み込んでいます
R0 はアドレス 0x20000000 を R0 に正しくロードします。しかし、Keil uVision IDE メモリ ビューを使用すると、そのアドレスのメモリが空になります。代わりに、読み取り専用領域のコードの直後に文字列を見つけました。文字列をメモリ内の正しい場所に配置する方法を教えてください。
ありがとう