分割された複数HEXファイルを1つにする方法
適用先: ARM 開発ツール
回答
この記事に含まれている情報の適用先:
- RealView MDK-ARM バージョン 2.50a
質問
uVision プロジェクトの中で、[Project]→[Options for Target]→[Target] ダイアログでさまざまな読み出し専用のメモリ領域を定義しました。[Project]→[Options for Target]→[Output] ダイアログのオプション [Create HEX File] も選択しています。アプリケーションを作成すると、アプリケーション全体に対する 1 つの HEX ファイルではなく、各メモリ領域に対する個別のファイルを含むフォルダが作成されます。どうしたら回避できますか?
回答
Intel Hex-32 ファイルを作成するために、uVision はオプション --i32 で fromelf ユーティリティを呼び出します。このオプションによって、個別の HEX ファイルが各メモリ領域に対して作成されます。これは、さまざまなフラッシュ デバイスまたはさまざまなアプリケーション パーツ(ブート/アプリケーション)のプログラミングに使用できます。
HEX ファイルを 1 つだけ生成する場合、fromelf ユーティリティをオプション --i32combined で呼び出す必要があります。これは [Options for Target]→[Output]→[After Make]→[Run User Program] ダイアログの中で行います。コマンド ラインは下記のようになります。
#KARMBIN30fromelf.exe #L.axf --i32combined --nodebug --output #H
同じダイアログのオプション [Create HEX File] は無効にする必要があります。
MDK-ARM バージョン 3.0 以降、uVision は初期設定でオプション --i32combined を fromelf ユーティリティに引き渡します。
詳細
- RV Linker/Utilities manual (KeilARMHLPRV_link.pdf), Using fromelf.