未使用領域のフィルを指定したが、追加出力したファイルに反映されない

Technical Note 180513J

Targets:
ARM

Component:
Linker

Updated:
6/21/2018 10:25 AM

はじめに

このテクニカルノートでは、未使用領域のフィルを指定したにもかかわらず、追加出力したファイルに反映されない場合の原因と対策について説明します。

 

解説

ヘキサファイルを、

プロジェクトメニュー > オプション > 出力コンバータ

で作成すると、ヘキサファイルの作成が、ポストビルドアクションより前に行われます。

 

ビルドウィンドウで、右クリック > オプションを開き、ビルドメッセージの表示のドロップダウンリストで「全て」を選択して、再ビルドすると、ielftoolが呼び出される順番を確認することができます。

 

この順番は変更することはできませんから、0xff をフィルする呼び出しとチェックサムを作成する呼び出しを一つのバッチファイルに入れて、呼び出すようにしてください。

 

[例]

 

ポストビルドコマンド

$PROJ_DIR$\ielf.bat  $TARGET_PATH$ $TARGET_BPATH$

 

ielf.bat

ielftool --fill 0xFF;0x00000000-0x0000FFFD --checksum __checksum:2,crc16,0x0;0x0000000-0x0000FFFD --verbose  %1 %1
ielftool --ihex --verbose  %1  %2.hex

 

まとめ

プロジェクトメニュー > オプション > 出力コンバータ によって、ヘキサファイルを生成すると、未使用領域のフィルが行われる前にヘキサファイルが生成されます。

ポストビルドコマンドでフィルをした後にヘキサファイルを生成するようにしてください。

 

 

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

© IAR Systems 1995-2018 - All rights reserved.

We use cookies on this website to provide you with a better experience. You need to accept cookies to continue using this site. Cookies