早速ですが、掲題の件に関してご教授頂きたく投稿しました。
RX111 + E1デバッガ +E2studioの構成にてソフトウェアスタンバイ突入・復帰0のデバッグを行っており、
現在下記のような状態でIRQ要因では復帰できるものの、USBレジューム要因では復帰が出来ません。
USBレジューム割り込みをイネーブルに設定しており、割り込みルーチンに突入することは
確認できており、r_usb_basic_miniおよびr_usb_pdcd_miniコンポーネントを使用し、
マイコンをペリフェラル側にしたUSB通信は確認できているのでUSB関係の初期設定は問題ないと考えています。
クロックは、外部水晶12MHzを2分周8逓倍し48MHzとし、これを2分周してシステムクロック・周辺クロック等で
使用しています。
設定漏れ等、復帰できない原因と考えられる部分はございますでしょうか。
■状況
・IRQ端子からの割り込み要因使用時
ディープスリープからの復帰OK
ソフトウェアスタンバイからの復帰OK
・USBレジューム割り込み(USBR0)要因使用時
ソフトウェアスタンバイからの復帰NG ←この条件が動かない
■ソース (ソフトウェアスタンバイ突入部分抜粋)
R_USB_Open(&ctrl, &cfg); R_USB_PullUp(USB_ON); //FullSpeed(12Mbps)設定 D+=PU,D-=PD
SYSTEM.PRCR.WORD = 0xA501;
//DTCモジュールオフ DTC.DTCST.BIT.DTCST = 0;
//発振停止検出許可ビットをオフ SYSTEM.OSTDCR.BIT.OSTDE = 0;
//レジューム割り込み有効 USB0.INTENB0.BIT.RSME = 1;
//USBI0割り込み禁止 IR(USB0,USBI0)=0; IPR(USB0,USBI0)=0x0; IEN(USB0,USBI0)=0;
//USBROレジュームを割り込み要因(復帰要因)に設定 IR(USB0,USBR0)=0; IPR(USB0,USBR0)=0xF; IEN(USB0,USBR0)=1;
//PSW.I=0に設定 clrpsw_i();
//ディープスリープにしない SYSTEM.MSTPCRC.BIT.DSLPE = 0;
//ソフトウェアスタンバイ SYSTEM.SBYCR.BIT.SSBY = 1; while(SYSTEM.SBYCR.BIT.SSBY != 1){nop();}
wait();
こんにちは
とりあえずデバッガの制限事項に該当しないとなると、以下マニュアル抜粋にある「発信安定待ち時間」が十分か、USB割り込み要求が発生しておりそれを読み込めているか、などが要チェックでしょうか。
具体的なアドバイスができず申し訳ないです。他の方からアドバイスがあると良いですがRenesasの技術サポートへ問い合わせてみるという手もあります。
”サポート問い合せ先”メールフォーム:ja-support.renesas.com/dashboard