⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmonitor_func.c

📁 T-monitor监控程序
💻 C
📖 第 1 页 / 共 2 页
字号:
/*""FILE COMMENT""*************************************************************
*       System Name : RENESAS T-Engine/micro T-Engine
*       File Name   : tmonitor_func.c
*       Version     : 1.00.00
*       Contents    : T-Monitor command function
*       Model       : SH7145 micro T-Engine
*       CPU         : SH7145F
*       Compiler    : Renesas SH-C
*       OS          : T-Kernel
*       note        : The Software is being delivered to you "AS IS" 
*                   : and Renesas,whether explicitly or implicitly makes  
*                   : no warranty as to its Use or performance. 
*                   : RENESAS AND ITS SUPPLIER DO NOT AND CANNOT WARRANT 
*                   : THE PERFORMANCE OR RESULTS YOU MAY OBTAIN  BY USING 
*                   : THE SOFTWARE. AS TO ANY MATTER INCLUDING WITHOUT 
*                   : LIMITATION NONINFRINGEMENT OF THIRD PARTY RIGHTS,
*                   : MERCHANTABILITY, INTEGRATION, SATISFACTORY QUALITY, 
*                   : OR FITNESS FOR ANY PARTICULAR PURPOSE.
*
*       Copyright (c) 2004 RENESAS TECHNOLOGY CORP. All Rights Reserved.
*       AND RENESAS SOLUTIONS CORP. All Rights Reserved.
*       history     : 2006.03.27 ver.1.00.00
*""FILE COMMENT END""*********************************************************/

#include "sh7145.h"

/* Sys Common information */
typedef struct {
	void	        *iramtop;	/* SH7145 Internal RAM free space top */
	void            *iramend;	/* SH7145 Internal RAM free space end */
	void            *ramtop;	/* RAM free space top */
	void            *ramend;	/* RAM free space end */
	unsigned short	Sclk;		/* SH7145 system clock (MHz) */
	unsigned short	Pclk;		/* SH7145 peripheral clock (MHz) */
	unsigned char   *sysconf;	/* SYSCONF top */
	unsigned char   *devconf;	/* DEVCONF top */
} SystemInfo;

#define SysInfo	((SystemInfo *)0xFFFFE190)

/* function definition */
#define out_h(port, data)	*(volatile unsigned short*)port = data
#define out_b(port, data)	*(volatile unsigned char*)port = data
#define in_h(port)			*(volatile unsigned short*)port
#define in_b(port)			*(volatile unsigned char*)port


/*""FUNC COMMENT""*******************************************************
 * ID          : 
 * Outline     : Initialize system common information
 *-----------------------------------------------------------------------
 * Include     : 
 *-----------------------------------------------------------------------
 * Definition  : void init_scinfo(void)
 *-----------------------------------------------------------------------
 * Function    : Initialize system common information 
 *-----------------------------------------------------------------------
 * Argument    : None
 *-----------------------------------------------------------------------
 * Return      : None
 *-----------------------------------------------------------------------
 * Input       : None 
 * Output      : None 
 *-----------------------------------------------------------------------
 * Used Func   : None
 *-----------------------------------------------------------------------
 * Notice      : None
 *""FUNC COMMENT END""***************************************************/
void init_scinfo( void )
{
	/* Set SysCommonInfo */
	SysInfo->iramtop = (void *)0xFFFFE300; /* Inner SRAM */
	SysInfo->iramend = (void *)0xFFFFF000; /* Inner SRAM */
	
	SysInfo->ramtop = (void *)0x00302000;  /* Outer SRAM */
	SysInfo->ramend = (void *)0x00380000;  /* Outer SRAM */

	SysInfo->Pclk   = (unsigned short)0x19; /* Peripheral clock=25MHz */
	SysInfo->Sclk   = (unsigned short)0x32; /* System clock=50MHz */	
}

/*""FUNC COMMENT""*******************************************************
 * ID          : 
 * Outline     : Initialize SCI1 for T-Monitor service functions
 *-----------------------------------------------------------------------
 * Include     : 
 *-----------------------------------------------------------------------
 * Definition  : void init_sci(void)
 *-----------------------------------------------------------------------
 * Function    : Initialize SCI1 for T-Monitor service functions
 *             : set UART mode,115200bps
 *-----------------------------------------------------------------------
 * Argument    : None
 *-----------------------------------------------------------------------
 * Return      : None
 *-----------------------------------------------------------------------
 * Input       : None 
 * Output      : None 
 *-----------------------------------------------------------------------
 * Used Func   : None
 *-----------------------------------------------------------------------
 * Notice      : None
 *""FUNC COMMENT END""***************************************************/
void init_sci( void )
{
	volatile int i;

	out_b(SSR1, in_b(SSR1) & ~(SSR_ORER|SSR_FER|SSR_PER));
	out_b(SDCR1,0xF0);
	out_b(SCR1, 0x00);
	out_b(SMR1, 0x00); /* CKS1,0=0 -> P0 = 25MHz */
	out_b(BRR1, 0x06); /* 115200 bps  */

	for(i=0;i<0x100;i++) ;

	out_b(SCR1, (SCR_TE|SCR_RE));
}

/*""FUNC COMMENT""*******************************************************
 * ID          : 
 * Outline     : get character 1byte from SCI1
 *-----------------------------------------------------------------------
 * Include     : 
 *-----------------------------------------------------------------------
 * Definition  : int tm_exec_getchar(int wait) 
 *-----------------------------------------------------------------------
 * Function    : get 1byte data from SCI1
 *-----------------------------------------------------------------------
 * Argument    : int wait
 *-----------------------------------------------------------------------
 * Return      : >= 1byte data
 *-----------------------------------------------------------------------
 * Input       : None 
 * Output      : None 
 *-----------------------------------------------------------------------
 * Used Func   : in_b()
 *             : out_b()
 *-----------------------------------------------------------------------
 * Notice      : no check the wait parameter
 *""FUNC COMMENT END""***************************************************/
int tm_exec_getchar(int wait)
{
	char	c;
	unsigned char sio_status_flg;

	/* wait data is coming(check RDRF bit) */
#ifndef SIM
	do {
		sio_status_flg = in_b(SSR1);
	} while( !(sio_status_flg & SSR_RDRF) );
#endif

	/* read data */ 
	c = in_b(RDR1) & 0x00FF;

	out_b(SSR1,sio_status_flg & ~SSR_RDRF); /* bit clear */

	return(c);
}


/*""FUNC COMMENT""*******************************************************
 * ID          : 
 * Outline     : send 1byte character via SCI1
 *-----------------------------------------------------------------------
 * Include     : 
 *-----------------------------------------------------------------------
 * Definition  : int tm_exec_putchar(int nChar) 
 *-----------------------------------------------------------------------
 * Function    : send 1byte data to SCI1
 *-----------------------------------------------------------------------
 * Argument    : int nChar 
 *-----------------------------------------------------------------------
 * Return      : 1byte data
 *-----------------------------------------------------------------------
 * Input       : None 
 * Output      : None 
 *-----------------------------------------------------------------------
 * Used Func   : out_b()
 *-----------------------------------------------------------------------
 * Notice      : no check the Control-C code 
 *""FUNC COMMENT END""***************************************************/
int tm_exec_putchar(int cChar)
{
	/*  wait send enable bit(TDRE) */
#ifndef SIM
	while( (in_b(SSR1) & SSR_TDRE) == 0);
#endif

 
	/* set data to register */
	out_b(TDR1,0x00FF&cChar);

	/* clear SSR1's TDRE bit */
	out_b(SSR1,(in_b(SSR1) & ~SSR_TDRE));

	return 0;
}

/*""FUNC COMMENT""*******************************************************
 * ID          : 
 * Outline     : send characters via SCI1
 *-----------------------------------------------------------------------
 * Include     : 
 *-----------------------------------------------------------------------
 * Definition  : int tm_exec_putstring(unsigned char *)
 *-----------------------------------------------------------------------
 * Function    : send data until NULL code to SCI1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -