RXシリーズにはE1デバッガ経由でデータを交換できる機能があるようです。この機能を使ってprintf(),scanf()などの標準入出力を動作させることができます。
e2 studio上で[Renesas デバッグ仮想コンソール]をクリックするとコンソールが開きターゲットと通信できます。
![](https://blogimg.goo.ne.jp/user_image/14/b5/d416f16dd2243e04c84b5de120044e66.png)
ターゲット側にも仕掛けが必要です。次のファイルをルネサスエレクトロニクス社のサンプルプログラムから手に入れます。ファイルが入っているのは「RX ファミリ ボードサポートパッケージモジュール Firmware Integration Technology」です。
各ファイは少し書き直さないとビルドできません。
lowlvl.c抜粋
lowsrc.c抜粋
reset_program.c抜粋
e2 studio上で[Renesas デバッグ仮想コンソール]をクリックするとコンソールが開きターゲットと通信できます。
![](https://blogimg.goo.ne.jp/user_image/14/b5/d416f16dd2243e04c84b5de120044e66.png)
ターゲット側にも仕掛けが必要です。次のファイルをルネサスエレクトロニクス社のサンプルプログラムから手に入れます。ファイルが入っているのは「RX ファミリ ボードサポートパッケージモジュール Firmware Integration Technology」です。
- lowlvl.c
- lowsrc.c
各ファイは少し書き直さないとビルドできません。
lowlvl.c抜粋
/*********************************************************************************************************************** Includes <System Includes> , "Project Includes" ***********************************************************************************************************************/ /* r_bsp access. */ //#include "platform.h" コメントアウト typedef unsigned int uint32_t; //追加 /*********************************************************************************************************************** Macro definitions ***********************************************************************************************************************/ #define E1_DBG_PORT (*(volatile struct st_dbg __evenaccess *)0x84080) #define TXFL0EN 0x00000100 // debug tx flow control bit #define RXFL0EN 0x00001000 // debug RX flow control bit
lowsrc.c抜粋
/*********************************************************************************************************************** Includes <System Includes> , "Project Includes" ***********************************************************************************************************************/ //#include "r_bsp_config.h" コメントアウト #define BSP_CFG_IO_LIB_ENABLE 1 //追加 /* Do not include this file if stdio is disabled in r_bsp_config. */ #if (BSP_CFG_IO_LIB_ENABLE == 1)
reset_program.c抜粋
略 (下の行のコメントを外す) #ifdef __cplusplus // Use SIM I/O extern "C" { #endif extern void _INIT_IOLIB(void); //extern void _CLOSEALL(void); #ifdef __cplusplus } #endif 略 _INITSCT(); _INIT_IOLIB(); // Use SIM I/O コメントを外す // errno=0; // Remove the comment when you use errno // srand((_UINT)1); // Remove the comment when you use rand() 略
※コメント投稿者のブログIDはブログ作成者のみに通知されます