亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ctc.cpp

?? PNX系列設備驅動 PNX系列設備驅動
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/*
COPYRIGHT (c) 1996 by Philips Semiconductors

THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED AND COPIED IN 
ACCORDANCE WITH THE TERMS AND CONDITIONS OF SUCH A LICENSE AND WITH THE 
INCLUSION OF THE THIS COPY RIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES 
OF THIS SOFTWARE MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER
PERSON. THE OWNERSHIP AND TITLE OF THIS SOFTWARE IS NOT TRANSFERRED. 

THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT ANY PRIOR NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY Philips Semiconductor. 

PHILIPS ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF THIS SOFTWARE
ON PLATFORMS OTHER THAN THE ONE ON WHICH THIS SOFTWARE IS FURNISHED.
*/




/*
	Copyright (c) 1996 Philips Semiconductors - TriMedia. All rights reserved.

FILE	ctc.c

HISTORY	:
	#define TR 		Tilakraj Roy
	960201 TR		Created  ( Tilakraj Roy )
	960213 TR		Added stuff for calling vtmman - the to be TriMedia manager
	960217 TR		Added thread for waiting for exit code and printf
	960218 TR		Added PCI register configuration stuff
	960221 TR		Added flags for SDRAM size and hardware emulation
	960222 TR		Added the TE command ( Jim's request )
	
	Release 1.00

	960222 TR		Pass linear addx instead of physical addx to TaskTest
	960222 TR		All a halGetSDRAMLen function.
	960222 TR		BUG: Go does not check for first time running.
	
	Release 2.00

	960223 TR		hal to allocate virtual mem for SDRAM emulation.
	960223 TR		Disabled ThreadFunc during TE command.
	960223 TR		Changed GetNextToken to allow any character in a string.

	Release 3.00

   	960223 JS		Added function ctc_output ( Jim Schimandle )
	960223 JS		Made Parser as a global structure.
	960223 JS		Changed printfs to fprintf ( stdout )
	960223 TR		Changed ThreadFunc to destroy itself when debugger exits.

	Release 4.00

	960232 TR		Added the set param function to set the bus, dev and func
	960223 TR		Check for PCI return status.
	960223 TR		Include Bus Dev and Func in PCI read.
	960223 TR		Change printf after halInit to fprintf (stdout)
	960223 TR		Go ahead even if halInit fails.

	Release 5.00

	960228 TR	 	Added parameters to TE command
	960228 TR		Command can be terminated by CR and LF.

	Release 10.00

	960229 TR		Fixed a communicaiton bug resulting in missing character.
	960229 TR		Initialization of PCi transfer address.

	Release 11.00

	960229 TR 		Decreased EXIT_VALUE, PRINT_SEMAPHORE,PRINT_value offsets.

	Release 12.00

	960305 TR		Added version information
	960305 TR		Initialized parser->dwExitValue with 0x7fffffff

	Release 13.00
	
	960306 TR		Added reset using LPT and IIC interface.
	960306 TR		Added re-writing of saves PCI configuration.
	960306 TR		Started adding the system call routines 
	
	Release 14.00

	960308 TR		Added code for clearing BSS at loading time.
	960309 TR		Completed adding the system call routines.		
	960309 TR		Added command for examining DMA memory on PC
	960329 TR		Added code for isatty and link
	960405 TR		Added the SI,EI, SO,EO commands
	960406 TR		Removed support for legacy features
	960406 TR		Introduced vtmman version checking.

	Release 15.00

	960506 TR		Exit code monitoring thread disabled.
	960506 TR		pe command added to print exit code.
	960508 TR		Support for new TD format.

	ASR 2.0 

	Version 4.1.27
	961113 TR		State Machine for image loading, running and stopping
	961114 TR		Added GetComputerName() for trace file
	961114 TR		Added reading of SDRAM and MMIO locations modified.
	961114 TR		Added killing RPCServ threads in ST_CMD

	Version 4.1.27
	961202 TR		Added back SS_CMD support.

	
COMMNETS
	Developed for the CTC test program for TriMedia. 
	Uses Win32 calls for File I/O and Communicaitons.
	Uses stdio calls for Con I/O.
	For JTAG specific interface change pcihal.c
	PCI interface requires file vtmman.vxd to run.
*/

#define TMMAN_MAJOR_VERSION	4
#define TMMAN_MINOR_VERSION	0


#include "stdafx.h"

//#include "tmman32.h"

//#include "pcihal.h"

//#include "tmhd.h"
#include "verinfo.h"

#include "ctc.h"
#include "memview.h"
#include "tmgmon.h"

#include "tmmanapi.h"
#include "tmcrt.h"
#include "verinfo.h"
#include "tmmon.h"

#undef USE_RPCSERV


#define TM_IRQ_GO 			28

#define	L2_STDIN_HANDLE		0
#define	L2_STDOUT_HANDLE	1
#define	L2_STDERR_HANDLE	2


CTmmon cTmmon;

PCHAR CPUType[] = {
	"CTC/TM1\0",
	"TM1S\0",
	"TM1C\0",
	"Unknown\0"
};

PCHAR FabType[] = {
	"ST\0",
	"MOS4\0",
	"TSMC\0",
	"Unkown\0"
};

#define	PROG_STATE_NOTINIT	1
#define	PROG_STATE_LOADED	2
#define	PROG_STATE_STARTED	3
#define	PROG_STATE_STOPPED	4

// DECLERATIONS 

typedef struct _CMD_ENTRY
{
	PSTR 	pszCmd;			/* command strings for debug commands */
	WORD	wCmdState;		/* initial state for mythis command */
}	CMD_ENTRY, *PCMD_ENTRY;

typedef struct _EXE_VERSION
{
	  // new fields to be added for version control
	  DWORD	dwMagicNumber; // TM1[0xaa] 0x544d31aa
	  WORD	wFlags;
	  BYTE bMinorVersion; //0x00
	  BYTE bMajorVersion; //0x01
}	EXE_VERSION, *PEXE_VERSION;

typedef struct _EXE_HEADER
{
	  DWORD	dwPtrArgc;
	  DWORD	dwPtrArgv;
	  DWORD	dwPtrMMIOBase;
	  DWORD	dwPtrBeginHeap;
	  DWORD	dwPtrEndHeap;
	  DWORD	dwPCIXferAddress;
	  DWORD	dwBSSEnd;
}	EXE_HEADER, *PEXE_HEADER;

typedef struct _EXE_HEADER0
{
	DWORD	dwStartAddress;
	DWORD	dwPtrArgc;
	DWORD	dwPtrArgv;
	DWORD	dwPtrMMIOBase;
	DWORD	dwPtrBeginHeap;
	DWORD	dwPtrEndHeap;

	DWORD	dwPtrPCIXferAddress;
	DWORD 	dwPtrPCIXferLength;

	DWORD 	dwPtrSystemXferAddress;
	DWORD 	dwPtrSystemXferLength;

	DWORD 	dwPtrCRTXferAddress;
	DWORD 	dwPtrCRTXferLength;

	DWORD	dwExitAddress;

	DWORD	dwBSSEnd;// additional fields required

}	EXE_HEADER0, *PEXE_HEADER0;


/* update mythis when command table size changes */

CMD_ENTRY	CmdTable[] = {

	/* implemented */

	{ "RB", RB_CMD }, /* Read Memory */
	{ "RW", RW_CMD },
	{ "RD", RD_CMD },
	{ "WB", WB_CMD }, /* Write Memory */
	{ "WW", WW_CMD },
	{ "WD", WD_CMD },
	{ "PF", PF_CMD }, /* Put File */
	{ "GF", GF_CMD }, /* Get File */
	{ "GI", GI_CMD }, /* Generate Interrupt */
	{ "LD", LD_CMD }, /* Load Executable */
	{ "SS", SS_CMD }, /* Scroll Size */
	{ "QU", QU_CMD }, /* Quit Debugger */
	{ "HL", HL_CMD }, /* Help */
	{ "GO", GO_CMD }, /* Go - Execute*/
	{ "TE", TE_CMD }, /* task execute */
	{ "SP", SP_CMD }, /* set parameters */
	{ "RE", RE_CMD }, /* Reset command */
	{ "RL", RL_CMD }, /* Read Local Memory */
	{ "WL", WL_CMD }, /* Write Local Memory */



	/* NEW Commands */

	{ "SI", SI_CMD }, /* Start Log NI*/
	{ "EI", EI_CMD }, /* End Log  NI*/
	{ "SO", SO_CMD }, /* Start Log NI*/
	{ "EO", EO_CMD }, /* End Log  NI*/
	{ "SE", SE_CMD }, /* Start Log NI*/
	{ "EE", EE_CMD }, /* End Log  NI*/
	{ "ST", ST_CMD }, /* Stop TriMedia Code */

	/* NOVICE COMMANDS */

	{ "HELP", HL_CMD }, /* Help  Command */

	{ "QUIT", QU_CMD }, 
	{ "BYE", QU_CMD }, 
	{ "EXIT", QU_CMD }, 

	{ "LOAD", LD_CMD },

	{ "START", GO_CMD },
	{ "RUN", GO_CMD },

	{ "STOP", ST_CMD },
	{ "HALT", ST_CMD },

	{ "DEBUGON", DEBUGON_CMD },
	{ "DEBUGOFF", DEBUGOFF_CMD },

	{ "TRACEP", TRACEP_CMD },
	{ "DP", TRACEP_CMD },

	{ "TRACEV", TRACEV_CMD },
	{ "DV", TRACEV_CMD },
	{ "DSP", DSP_CMD },
};
typedef BOOL (*PINITFUNC)(
	PVOID	open,
	PVOID	close,
	PVOID	read,
	PVOID	write,
	PVOID	seek,
	PVOID	isatty,
	PVOID	fstat,
	PVOID	Argc,
	PVOID	Argv,
	PVOID	exit,
	DWORD	ServerCount,
	DWORD	Stdin, 
	DWORD	Stdout, 
	DWORD	Stderr );

typedef VOID (*PEXITFUNC)(VOID);
 

DWORD	MaxCommands = sizeof (CmdTable) / sizeof ( CMD_ENTRY );

PINITFUNC	pRPCServInitFunc = NULL;
PEXITFUNC	pRPCServExitFunc = NULL;

CEdit* pTraceView;
BOOL traceEdit=FALSE;
DWORD dwDSPNumber=0;
char* traceBuffer;
int traceIndex;

BOOL	IsValidHex ( PSTR pszString, DWORD dwSize  );

DWORD	WINAPI ThreadFunction ( PVOID pContext );
DWORD	WINAPI CRTServiceThread ( PVOID pContext );

DisplayTrace(PVOID pBuffer, DWORD dwLength);



/*----------------------------------------------------------------------------
FUNC	ProcessLine
ABOUT
	Parses the command line input from file or keyboard.
----------------------------------------------------------------------------*/
BOOL	ProcessLine ( PVOID pContext )
{
	CHAR	szToken[80];
	WORD	wPosition = 0;
	CTmmon *pCTmmon = (CTmmon *)pContext;
	WORD	wIdxCmd;


	for ( ; ; ) 
	{
		if ( GetNextToken ((unsigned char *)(pCTmmon->szInputString),
						&wPosition ,
						(unsigned char *)szToken ) == FALSE )
		{
			// end of current input line.
			
			return TRUE;
		}

		if ( pCTmmon->wState == CMD_WAIT )
		{ 
			if ( strlen( szToken) > 8 )
			{
				goto ProcessLine_syntax;
			}
			for ( wIdxCmd = 0 ; wIdxCmd < MaxCommands ; wIdxCmd++ )
			{
				if ( stricmp ( szToken , CmdTable[wIdxCmd].pszCmd ) == 0 )
				{
					pCTmmon->wState = CmdTable[wIdxCmd].wCmdState;
					break;
				}

			}
			if ( wIdxCmd == MaxCommands )
			{
				goto ProcessLine_syntax;
			}
		}

		switch ( pCTmmon->wState )
		{
			// Debugging Comamnds
			case DEBUGON_CMD :
			pCTmmon->DebugOn = TRUE;
			pCTmmon->wState = DEBUGON_OPTIONS;
			break;

			case DEBUGOFF_CMD :
			pCTmmon->DebugOn = FALSE;
			pCTmmon->wState = DEBUGON_OPTIONS;
			break;

			case DEBUGON_OPTIONS :
			case DEBUGOFF_OPTIONS :

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日产欧产精品推荐色| 精品亚洲国产成人av制服丝袜| 久久精品这里都是精品| 成人深夜福利app| 日韩精品亚洲一区| 中文字幕免费观看一区| 日韩欧美电影一区| 色拍拍在线精品视频8848| 粉嫩aⅴ一区二区三区四区五区| 一区二区在线观看免费 | 亚洲欧美在线视频| 久久综合成人精品亚洲另类欧美| 欧美三级资源在线| 成人伦理片在线| 国产宾馆实践打屁股91| 亚洲一二三区视频在线观看| 国产精品二区一区二区aⅴ污介绍| 777久久久精品| 欧美精品v日韩精品v韩国精品v| 欧美亚一区二区| 欧美日韩一区二区三区高清| 欧美亚洲一区二区三区四区| 欧美日韩国产色站一区二区三区| 欧美日韩免费在线视频| 欧美一区二区三区在线电影| 精品国产伦一区二区三区免费| 国产亚洲一本大道中文在线| 国产精品色哟哟网站| 亚洲美腿欧美偷拍| 午夜精品久久久久久久蜜桃app| 天天影视涩香欲综合网| 免费成人在线视频观看| 国产精品69久久久久水密桃| 国产在线一区观看| 成人激情动漫在线观看| 色婷婷香蕉在线一区二区| 欧美日韩久久不卡| 欧美成人性战久久| 日韩美女视频一区二区| 一区二区三区91| 经典三级视频一区| 91在线视频官网| 日韩一区二区三区电影在线观看| 久久综合九色综合97婷婷| 亚洲色图丝袜美腿| 激情图片小说一区| 欧美综合一区二区| 国产欧美精品区一区二区三区| 免费观看91视频大全| 国产91清纯白嫩初高中在线观看| 337p亚洲精品色噜噜| 欧美极品aⅴ影院| 久久国产精品99精品国产| 色综合天天做天天爱| 久久日韩精品一区二区五区| 亚洲国产精品久久一线不卡| 成人丝袜18视频在线观看| 久久综合狠狠综合久久综合88 | 亚洲最新视频在线播放| 成人午夜伦理影院| 欧美不卡一区二区三区四区| 日韩中文字幕区一区有砖一区| 成人综合婷婷国产精品久久免费| 日韩三级在线观看| 亚洲二区在线视频| 欧美日韩一区不卡| 日韩精品亚洲专区| 日韩免费成人网| 男男成人高潮片免费网站| 欧美夫妻性生活| 丝袜美腿亚洲综合| 欧美一区二区三区白人| 男男视频亚洲欧美| 日韩欧美激情在线| 激情久久五月天| 日韩美女在线视频| 国产成人超碰人人澡人人澡| 久久久噜噜噜久噜久久综合| www.久久久久久久久| 樱桃视频在线观看一区| 欧美一区二区三区性视频| 精品一区二区三区在线播放视频| 久久久午夜精品| 91免费在线看| 午夜激情一区二区三区| 亚洲精品在线观看视频| jiyouzz国产精品久久| 午夜婷婷国产麻豆精品| 欧美一区二区三区婷婷月色| 国产河南妇女毛片精品久久久 | 欧美精品一区二区三区高清aⅴ| 男男视频亚洲欧美| 中文字幕一区二区5566日韩| 91福利区一区二区三区| 国产一区二区调教| 亚洲欧美日本韩国| 欧美一区二区三区四区在线观看| 国产一区二区在线影院| 亚洲电影一区二区三区| 国产视频911| 欧美一区二区高清| 欧美网站大全在线观看| 99re6这里只有精品视频在线观看| 麻豆国产精品777777在线| 亚洲一区二三区| 亚洲精品成人在线| 国产日韩精品久久久| 欧美变态tickle挠乳网站| 91捆绑美女网站| 懂色av中文字幕一区二区三区 | 国产69精品久久777的优势| 亚洲国产毛片aaaaa无费看| 亚洲色图在线看| 中文字幕欧美日本乱码一线二线| 日本一二三不卡| 日韩一本二本av| 91精品国产入口| 欧美在线视频全部完| av在线播放一区二区三区| 国产成人在线免费观看| 国产99精品视频| 国产成人av电影| 色94色欧美sute亚洲线路二| 在线一区二区视频| 337p亚洲精品色噜噜噜| 欧美一区二区精美| 久久久久国产免费免费| 国产精品毛片高清在线完整版| 亚洲视频每日更新| 日本不卡视频在线| 国产乱妇无码大片在线观看| av一区二区不卡| 欧美日韩黄色一区二区| 精品福利一区二区三区免费视频| 久久久久久**毛片大全| 一区二区三区精品| 久久国产精品露脸对白| 91麻豆精品一区二区三区| 欧美精品v国产精品v日韩精品 | 精品少妇一区二区三区| 亚洲色图在线看| 蜜臀久久99精品久久久画质超高清 | 色狠狠综合天天综合综合| 91精品婷婷国产综合久久性色| 国产喂奶挤奶一区二区三区| 亚洲精品日日夜夜| 国产99久久久国产精品潘金网站| 欧美日韩久久久一区| 最新不卡av在线| 国产精品一区专区| 日韩视频一区二区在线观看| 亚洲特黄一级片| 成人高清伦理免费影院在线观看| 欧美mv和日韩mv的网站| 天使萌一区二区三区免费观看| 成人免费视频视频在线观看免费| 欧美一区二区日韩| 亚洲风情在线资源站| 在线观看成人免费视频| 亚洲日本韩国一区| 91在线云播放| 最新日韩在线视频| 国产超碰在线一区| 国产日韩精品久久久| 韩国精品免费视频| 久久影音资源网| 久久国产精品99精品国产 | 久久爱www久久做| 精品视频资源站| 天堂va蜜桃一区二区三区漫画版| 91丨九色丨尤物| 亚洲欧美日韩电影| 日本乱码高清不卡字幕| 一区二区三区鲁丝不卡| 成人av集中营| 一区二区三区在线观看视频| 成人av集中营| 亚洲第一在线综合网站| 欧美三级视频在线观看| 日韩av一区二| 精品国产区一区| 99精品视频中文字幕| 亚洲免费高清视频在线| 日韩一区二区在线免费观看| 蜜桃免费网站一区二区三区| 国产婷婷色一区二区三区四区 | 久久精品国产**网站演员| 久久久精品人体av艺术| 99久久久久免费精品国产 | 奇米色777欧美一区二区| 久久久亚洲国产美女国产盗摄| 国产一区二区三区av电影 | 狠狠狠色丁香婷婷综合激情| 久久伊人中文字幕| 欧美理论电影在线| 成人激情小说乱人伦| 日韩精品五月天| 尤物视频一区二区| 久久久不卡影院| 欧美一区二区在线不卡|