Renesas Synergy™

FAQ 3000022 : 2つのエリアに対するCRCの計算(CC-RL)

Q: 質問

RL78コンパイラCC-RLを使用しています。CRCの計算を2つのエリアに対して行い、それぞれのCRC計算結果を格納したいのですが、どのようにすればよいでしょうか?

 


A:回答

リンク時には、1つのエリアのCRC計算結果しか埋め込むことはできません。
次のように複数回のリンク処理をすることで実現できます。
(1) エリア1のCRC計算とヘキサファイル出力
(2) エリア2のCRC計算とヘキサファイル出力
(3) エリア1のヘキサファイルとエリア2のヘキサファイルの結合

CC-RLの最適化リンカでは、サブコマンドファイルを指定し、その中で-endオプションを記述することにより、複数回のリンクを指定することが可能です。
(例)
次の条件とします。
・CRC演算方法:16-CCITT-LSB
・CRCのエンディアン:LITTLE
・出力形式: インテル拡張ヘキサ・ファイル
・エリア1の範囲:1000h~affdh
・エリア1のCRC計算結果埋め込みアドレス:affeh
・エリア2の範囲:b000h~fffdh
・エリア2のCRC計算結果埋め込みアドレス:fffeh

次のサブコマンドファイルを作成して、リンカに入力してください。

-Input=sample.abs
-OUtput=area1.hex=0-afff
-FOrm=Hexadecimal
-CRc=affe=1000-affd/16-CCITT-LSB
-SPace=ff
-end

-Input=sample.abs
-OUtput=area2.hex=b000-ffff
-FOrm=Hexadecimal
-CRc=fffe=b000-fffd/16-CCITT-LSB
-SPace=ff
-end

-Input=area1.hex
-Input=area2.hex
-OUtput=sample.hex
-FOrm=Hexadecimal
-exit

適用製品

e2 studio
CS+ (旧 CubeSuite+)
RL78ファミリ用Cコンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください