複数のメモリが隣接している際のリンカ設定

テクニカル・ノート 180515J

アーキテクチャ:

ARM

コンポーネント:

linker

更新日:

2018/09/04 5:04

はじめに

このテクニカルノートは、複数のメモリが隣接している際のリンカ設定について説明します。

 

解説

複数のメモリをが隣接している場合、境界をまたいで以下のようなデータを配置できない場合があります。

[例]

Cortexシリーズの、

32ビットデータの上位16ビットと下位16ビット

32ビットのThumb2命令の前半と後半

 

この場合、以下のように region を定義することにより、境界への配置を回避できます。

define region RAM12_region = mem:[from 0x1FFF8000 to 0x1FFFFFFF] | mem:[from 0x20000000 to 0x20007FFF];

 

境界への命令語、データの配置の可否等の詳細については、デバイスメーカにお問い合わせください。

.

まとめ

複数のメモリが隣接している場合、define region ディレクティブを使うことで、境界への配置を回避することができます。

 

全ての製品名は、それぞれの所有者の商標または登録商標です

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。