RF5F100PJにてCS+ for CA、CXとE1を使用してプログラムを組んでいます。
2日前より実行時にソフトウエア・ブレークにより動作が停止しましたと出力されるようになりました。
このエラーが出る前の状態に戻し、少しずつプログラムを追加していくとある段階で症状が出るようになります。
サイズの問題なのか、全く別の問題なのか特定出来ずに困っています。
このような症状はどういった場合に出るのか教えて頂けないでしょうか。
-----------------------------
なお、下記は不具合の出るプログラムのmapファイルです。
78K0R Linker V1.80 Date:31 Aug 2019 Page: 1
Command: -yC:\Program Files\Renesas Electronics\CS+\CACX\Device\RL78\D evicefile -_msgoff -oDefaultBuild\TWS100_V_M1.lmf -gi00000000 000000000000h -mi0 -pDefaultBuild\TWS100_V_M1.map DefaultBuil d\op.rel DefaultBuild\TWS100_V_M1_K.relPara-file:Out-file: DefaultBuild\TWS100_V_M1.lmfMap-file: DefaultBuild\TWS100_V_M1.mapDirec-file:Directive:
*** Link information ***
17 output segment(s)1A255H byte(s) real data 3626 symbol(s) defined
*** Memory map ***
SPACE=REGULAR
MEMORY=ROM BASE ADDRESS=00000H SIZE=40000H OUTPUT INPUT INPUT BASE SIZE SEGMENT SEGMENT MODULE ADDRESS TVECT1 00000H 00002H CSEG AT TVECT1 TWS100_V_M1_K 00000H 00002H ??NMIROM 00002H 00002H CSEG TVECT2 00004H 0001AH CSEG AT TVECT2 TWS100_V_M1_K 00004H 0001AH TVECT3 0001EH 00014H CSEG AT TVECT3 TWS100_V_M1_K 0001EH 00014H TVECT4 00032H 00014H CSEG AT TVECT4 TWS100_V_M1_K 00032H 00014H TVECT5 00046H 0002AH CSEG AT TVECT5 TWS100_V_M1_K 00046H 0002AH* gap * 00070H 0000EH TVECT6 0007EH 00002H CSEG AT TVECT6 TWS100_V_M1_K 0007EH 00002H* gap * 00080H 00040H XOPTB 000C0H 00004H CSEG OPT_BYTE XOPTB op 000C0H 00004H ?CSEGSI 000C4H 0000AH CSEG ?OCDSTAD 000CEH 0000AH CSEG* gap * 000D8H 00FE8H OPT2 010C0H 00004H CSEG AT OPT2 op 010C0H 00004H* gap * 010C4H 01F3CH XCHRDATA 03000H 01E04H CSEG MIRRORP XCHRDATA TWS100_V_M1_K 03000H 01E04H XMAIN 04E04H 181C3H CSEG XMAIN TWS100_V_M1_K 04E04H 181C3H* gap * 1CFC7H 22E39H ??OCDROM 3FE00H 00200H CSEG
MEMORY=RAM BASE ADDRESS=FAF00H SIZE=05100H OUTPUT INPUT INPUT BASE SIZE SEGMENT SEGMENT MODULE ADDRESS DSTK FAF00H 00080H DSEG BASEP DSTK TWS100_V_M1_K FAF00H 00080H KADATA FAF80H 011B6H DSEG KADATA TWS100_V_M1_K FAF80H 011B6H* gap * FC136H 03CEAH DMAIN FFE20H 000ADH DSEG SADDR DMAIN TWS100_V_M1_K FFE20H 000ADH* gap * FFECDH 00033H* gap (Not Free Area) * FFF00H 00100H
Target chip : R5F100PJ Device file : V1.14
KOBAさん、こんにちは。NoMaYです。アセンブラで組んでおられたのですね。ということは、変な箇所へ飛んでいってしまう、という命令は以下の何れかですよね?(アセンブラやリンカでワーニング無しであれば、CALL先 or BR先 をラベルで書いていて、そうなってしまうのなら、アセンブラやリンカのバグであろう、と思いましたので、、、) ならば、全然違う理由の可能性も高い、です。以下の(1)と(3)であれば、CSレジスタの考慮漏れ、の可能性が高いですし、(2)であれば、(追加コード(アセンブラ)に新規CALLT命令があってペアとなる)CALLTベクタの設定忘れ、の可能性が高いです、、、なお、(4)に関しては、私の前のリプライの内容の可能性は高いです、、、(1) CALL rp(2) CALLT [addr5](3) BR AX(4) RET/RETI/RETBちなみに、以下の0xFFというのは(フラッシュメモリ上のコードではなく)アドレス(つまり0x000FF番地)ですか?> ステップ実行していくと定義のない割り込み(0XFF)に飛んで停止