忘備録-備忘録

技術的な備忘録

e2 studioのデバック仮想コンソールを使う

2016-02-01 18:00:16 | RX210
RXシリーズにはE1デバッガ経由でデータを交換できる機能があるようです。この機能を使ってprintf(),scanf()などの標準入出力を動作させることができます。
e2 studio上で[Renesas デバッグ仮想コンソール]をクリックするとコンソールが開きターゲットと通信できます。


ターゲット側にも仕掛けが必要です。次のファイルをルネサスエレクトロニクス社のサンプルプログラムから手に入れます。ファイルが入っているのは「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()
       略


最新の画像もっと見る

コメントを投稿