Renesas Synergy™

FAQ 1011546 : RL78コンパイラCC-RLを使用していますが、すべてのROM領域を読み出すにはどのようにすればよいでしょうか?

Q: 質問

RL78コンパイラCC-RLを使用していますが、すべてのROM領域を読み出すにはどのようにすればよいでしょうか?


A: 回答

マイコンとして、ROMにミラー領域とミラー領域でない領域が混在するため、far属性でアクセスする必要があります。また、CコンパイラCC-RLでは、farポインタの加減算は下位2バイトのみ変化する仕様です。そのため、アクセスするアドレスはunsigned long型で定義し、farポインタへキャストしてアクセスしてください。

(例)
#define TOPADDR 0x00000
#define ENDADDR 0x20000
unsigned char sumdata;
void chksum(void)
{
  unsigned long addr = TOPADDR;
  unsigned char sum = 0x00;
  do{
   

sum += *(__far const unsigned char *)addr;

    addr++;
  }while(addr !=ENDADDR);
  sumdata = sum;
}

 

適用製品

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