CS+でシュミレータ動作確認とE1エミュレータでデバッグしていますが、RAM変数の動作が違います。
タイマー割り込みと、メインルーチンで簡単なプログラムを確認しています。
タイマー割恋でRAM変数にセットしますが、メインに戻りIOポートをアクセスすすると
RAM変数がクリアーされます。
CS+の設定の問題なのでしょうか。
教えてください。
以下。テストプログラムです。
/***********************************************************************//* *//* FILE :Main.c *//* DATE : *//* DESCRIPTION :Main Program *//* CPU TYPE : *//* *//* NOTE:THIS IS A TYPICAL EXAMPLE. *//* *//***********************************************************************/#include "iodefine.h"
#define DI __DI#define EI __EI
#define RXDDT P0_bit.no0#define LEDBIT P0_bit.no1#define HARISW P0_bit.no2#define PWBIT P0_bit.no3#define BUZZPT P0_bit.no4#define HIMO_SW P13_bit.no7
int Sycnt1;
void mainjob(void);void R_TAU0_Channel0_Start(void);
void timerjob(void){ if(Sycnt1-- == 0) { Sycnt1 = 1000; } }
void mainjob(void){ R_TAU0_Channel0_Start(); EI(); for(;;) { if(PWBIT == 1) // 電源? { if(HARISW == 1) // 貼り付けSW ON? { P0_bit.no1 = 1; } } }}
NoMaYさん
おはようございます。
timerjob()の逆アセンブルウィンドウの画面コピーを送ります。
きたさん、おはようござます。NoMaYです。逆アセンブルウィンドウの画面コピー、どうも有難う御座いました。命令コード列としては、こういう奇妙な症状と結び付きそうな点は存在しないですね、、、次は、timerjob()の以下の行をステップ実行する時の、ステップ実行前とステップ実行後の、CPUレジスタウィンドウでのレジスタ値表示の画面コピーを見せて頂けないでしょうか?
LEDBIT ^= 1;
ステップ実行前とステップ実行後の、CPUレジスタウィンドウでのレジスタ値表示の画面コピーを送ります。
宜しくお願い致します。
実行前
実行後
きたさん、こんにちは。NoMaYです。レジスタ値の変化も普通(感覚的な表現ですが値がぐちゃっと壊れたりもしていない)ですね。では、次は、以下の2つのケースで、同じくその行での、ステップ実行前とステップ実行後の、今度はメモリウィンドウでの0xFFCE0~0xFFCEFあたりまでのメモリ内容の表示が見たいです。ケース1) 普通に(先ほどのリプライ時と同様に)その行のステップ実行前とステップ実行後の画面コピーケース2) その行のステップ実行前にメモリウィンドウで0xFFCE0~0xFFCEFを0x55で埋めておいて、その様子の画面コピーと、そうしてからその行をステップ実行した後の画面コピー
きたさん、こんにちは。NoMaYです。> C言語としてあり得ない状態なので、CPUに種類を変えてみました。> R5F10Y17 4KROM から R5F10Y16 2KROM R5F10Y14 1KROM とCPUの種類だけ変えて> ソースはそのままで、動作させると予定通りの動作をしました。デバイスの実物の方も変えていますか?それとも、CS+のデバイス選択のみ変えましたか?デバイスの実物は変えずにCS+のデバイス選択のみ変えて動作するようになったのであれば、以下のスレッドのようにデバイスの実物が違っていないかという可能性が気になります。もしかして、デバイスの実物がR5F10Y16 2KROMだったりしないでしょうか?switch 文使用時の挙動 (最適化なし時)japan.renesasrulz.com/cafe_rene/f/forum18/6147/switch/34076#34076
きたさん、こんにちは。NoMaYです。> 基板実装CPUは R5F10Y17 を確認しています。そうですか。すみません。私では、ちょっと、これ以上は分からないです。他の方からのアドバイスを待って頂けますか。