stlと申します。
プロジェクトを複製したところ、ビルドのたびにSRECファイルが変更される現象が発生しています。
このような場合、SRECファイルがビルドごとに変更される原因としてどのような可能性が考えられるでしょうか?また、解決のために試すべきことがあれば教えてください。
よろしくお願いいたします。
SRECファイルが何か?を考えたことありますか?
ビルドしたら生成物としてELFファイルができます。その後、FlashROMに書き込む専用として余分なデバッグ情報などがなくなったROMデータが設定次第で生成されます。最近ではROMファイルはセキュリティ情報を含むため単純に生成しなくてクリプトされたりCRC情報がファイルヘッダに入ったりなどその製品に合わせたROMファイル生成があります。ビルド後に何をするのか?がビルド設定に入っているはずですのでそれを確認してみてください。
ビルド後に何をするのか、についての設定は、どこで確認できるのでしょうか?
また、プロジェクトを複製した場合に、そのあたりの設定が勝手にかわってしまうことがあるのでしょうか?
stlさん、こんにちは。最近の環境で効果があるか分かりませんが、過去の知見から試すポイントを共有します。
ReKawashimaさん
「C/C++ビルド」を開いても、「振る舞い」という項目が見つからないのですが、どこにあるのでしょうか?
添付されている画像では、「C/C++ビルド」下の「環境」を開いています。「C/C++ビルド」をクリックして表示された画面にございます。
>>プロジェクトのプロパティを開く => 「C/C++ビルド」 => 「振る舞い」 => 「リソース保管時にビルド」にチェックを入れる => 「適用」(「適用して閉じる」ではない) => 「リソース保管時にビルド」からチェックを外す => 「適用して閉じる」 => ビルド => ビルド(全ビルド現象が解消したか確認)
こちらの方法を確認すると解決しました。
ありがとうございました。
> 「リソース保管時にビルド」からチェックを外すeclipseのいわゆるauto buildですが、eclipseコミュニティでは非常に評判が悪い一方で、便利だから使うという一派もいるので外されずにいる機能です。コンフィグレータがファイルを書き換え終わる前にビルドが呼ばれてしまうから意図しない動きになるのだと思います。この現象に限らず切っておいた方が無難です。