hew
*Renesas HEW tips #contents **暗黙の宣言 >__H8__ **ROM化支援(プログラムをRAM上で実行する方法) xyz.cで、RAM上で実行したい関数をセクション指定 >#pragma section XYZ >void run_at_ram(void)//セクションPXYZに配置される。 >{} >#pragma section//名前指定しないと、元に戻る。 ↓ dbsct.cのDTBLに、PXYZ,RXYZを追加 >static const struct { > _UBYTE *rom_s; /* Start address of the initialized data section in ROM */ > _UBYTE *rom_e; /* End address of the initialized data section in ROM */ > _UBYTE *ram_s; /* Start address of the initialized data section in RAM */ >}DTBL[]= { > {__sectop("D") , __secend("D") , __sectop("R")}, > {__sectop("PXYZ"), __secend("PXYZ"), __sectop("RXYZ")}, >// {__sectop("$ABS8D"), __secend("$ABS8D"), __sectop("$ABS8R")}, >// {__sectop("$ABS16D") , __secend("$ABS16D") , __sectop("$ABS16R") } >}; ↓ 最適化リンカ→カテゴリ→セクションでPXYZをROMの領域に配置。 ↓ 最適化リンカ→カテゴリ→セクションでRXYZをRAMの領域に作成。 ↓ 最適化リンカ→カテゴリ→出力で、オプション項目→ROMからRAMへマップするセクション(ROMオプション) |Rom|Ram |D|R |PXYZ|RXYZ **ワーニングL1500 sni出力指定すると、L1500が出る。 マニュアルにも書いてあるが、goptimizeオプション指定をすれば消える。 **ダウンロード後リセット デバッグ→デバッグの設定→オプション→ダウンロード後にCPUリセット &simg(hew_download_reset.png);
2025-03-31 22:21:56 32400