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

📄 oal_test.c

📁 WinCE5.0BSP for Renesas SH7770
💻 C
📖 第 1 页 / 共 2 页
字号:
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_DEVICE_INFO:SPI_GETOEMINFO) Error[%x]\r\n"),GetLastError()));
	}

	//
	// IOCTL_HAL_DDK_CALL (IOCTL_HAL_SETBUSDATA)
	//
	p1 = IOCTL_HAL_SETBUSDATA;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_DDK_CALL,
							&p1,
							sizeof(BUSDATA_PARMS),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_DDK_CALL:IOCTL_HAL_SETBUSDATA) [%s]\r\n"),p2));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_DDK_CALL:IOCTL_HAL_SETBUSDATA) Error[%x]\r\n"),GetLastError()));
	}

	//
	// IOCTL_HAL_DDK_CALL (IOCTL_HAL_GETBUSDATA)
	//
	p1 = IOCTL_HAL_GETBUSDATA;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_DDK_CALL,
							&p1,
							sizeof(BUSDATA_PARMS),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_DDK_CALL:IOCTL_HAL_GETBUSDATA) [%s]\r\n"),p2));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_DDK_CALL:IOCTL_HAL_GETBUSDATA) Error[%x]\r\n"),GetLastError()));
	}

	//
	// IOCTL_HAL_GET_DEVICEID
	//
	p1 = 0;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_GET_DEVICEID,
							&p1,
							sizeof(p1),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		pDeviceID = (PDEVICE_ID)p2;
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_DEVICEID) PreOff[%d]PreByte[%d]PlatOff[%d]PlatByte[%d]Size[%d]\r\n"),	pDeviceID->dwPresetIDOffset,
																								pDeviceID->dwPresetIDBytes,
																								pDeviceID->dwPlatformIDOffset,
																								pDeviceID->dwPlatformIDBytes,
																								pDeviceID->dwSize));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_DEVICEID) Error[%x]\r\n"),GetLastError()));
	}

	//
	// IOCTL_HAL_GET_IP_ADDR (IPINFO_ODO)
	//
	p1 = IPINFO_ODO;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_GET_IP_ADDR,
							&p1,
							sizeof(p1),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		pIPInfo = (PIP_INFO)p2;
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_IP_ADDR:IPINFO_ODO) [%08x][%02x:%02x:%02x:%02x:%02x:%02x]\r\n"),htonl(pIPInfo->dwIP),
																						pIPInfo->MAC[0], pIPInfo->MAC[1], pIPInfo->MAC[2],
																						pIPInfo->MAC[3], pIPInfo->MAC[4], pIPInfo->MAC[5] ));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_IP_ADDR:IPINFO_ODO) Error[%x]\r\n"),GetLastError()));
	}

	//
	// IOCTL_HAL_GET_IP_ADDR (IPINFO_DEBUGMSG)
	//
	p1 = IPINFO_DEBUGMSG;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_GET_IP_ADDR,
							&p1,
							sizeof(p1),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		pIPInfo = (PIP_INFO)p2;
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_IP_ADDR:IPINFO_DEBUGMSG) [%08x][%02x:%02x:%02x:%02x:%02x:%02x]\r\n"),htonl(pIPInfo->dwIP),
																						pIPInfo->MAC[0], pIPInfo->MAC[1], pIPInfo->MAC[2],
																						pIPInfo->MAC[3], pIPInfo->MAC[4], pIPInfo->MAC[5] ));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_IP_ADDR:IPINFO_DEBUGMSG) Error[%x]\r\n"),GetLastError()));
	}

	//
	// IOCTL_HAL_GET_IP_ADDR (IPINFO_KDEBUG)
	//
	p1 = IPINFO_KDEBUG;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_GET_IP_ADDR,
							&p1,
							sizeof(p1),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		pIPInfo = (PIP_INFO)p2;
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_IP_ADDR:IPINFO_KDEBUG) [%08x][%02x:%02x:%02x:%02x:%02x:%02x]\r\n"),htonl(pIPInfo->dwIP),
																						pIPInfo->MAC[0], pIPInfo->MAC[1], pIPInfo->MAC[2],
																						pIPInfo->MAC[3], pIPInfo->MAC[4], pIPInfo->MAC[5] ));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_IP_ADDR:IPINFO_KDEBUG) Error[%x]\r\n"),GetLastError()));
	}

	//
	// IOCTL_HAL_GET_IP_ADDR (IPINFO_ESHELL)
	//
	p1 = IPINFO_ESHELL;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_GET_IP_ADDR,
							&p1,
							sizeof(p1),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		pIPInfo = (PIP_INFO)p2;
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_IP_ADDR:IPINFO_ESHELL) [%08x][%02x:%02x:%02x:%02x:%02x:%02x]\r\n"),htonl(pIPInfo->dwIP),
																						pIPInfo->MAC[0], pIPInfo->MAC[1], pIPInfo->MAC[2],
																						pIPInfo->MAC[3], pIPInfo->MAC[4], pIPInfo->MAC[5] ));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_IP_ADDR:IPINFO_ESHELL) Error[%x]\r\n"),GetLastError()));
	}

	//
	// IOCTL_HAL_GET_IP_ADDR (IPINFO_DOWNLOAD)
	//
	p1 = IPINFO_DOWNLOAD;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_GET_IP_ADDR,
							&p1,
							sizeof(p1),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		pIPInfo = (PIP_INFO)p2;
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_IP_ADDR:IPINFO_DOWNLOAD) [%08x][%02x:%02x:%02x:%02x:%02x:%02x]\r\n"),htonl(pIPInfo->dwIP),
																						pIPInfo->MAC[0], pIPInfo->MAC[1], pIPInfo->MAC[2],
																						pIPInfo->MAC[3], pIPInfo->MAC[4], pIPInfo->MAC[5] ));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_GET_IP_ADDR:IPINFO_DOWNLOAD) Error[%x]\r\n"),GetLastError()));
	}

	//
	// IOCTL_SET_KERNEL_COMM_DEV
	//
//	p1 = 0;
//	memset( p2, 0, sizeof(p2) );
//	p3 = 0;
//	ret = KernelIoControl(	IOCTL_SET_KERNEL_COMM_DEV,
//							&p1,
//							sizeof(p1),
//							p2,
//							sizeof(p2),
//							&p3	);
//	if( ret == TRUE ){
//		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_SET_KERNEL_COMM_DEV) [%08x][%02x:%02x:%02x:%02x:%02x:%02x]\r\n"),htonl(pIPInfo->dwIP),
//																						pIPInfo->MAC[0], pIPInfo->MAC[1], pIPInfo->MAC[2],
//																						pIPInfo->MAC[3], pIPInfo->MAC[4], pIPInfo->MAC[5] ));
//	}
//	else{
//		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_SET_KERNEL_COMM_DEV) Error[%x]\r\n"),GetLastError()));
//	}

/*----------------------------------
	//
	// IOCTL_HAL_INIT_RTC
	//
	time.wYear   = 2003;
	time.wMonth  = 9;
	time.wDay    = 9;
	time.wHour   = 19;
	time.wMinute = 20;
	time.wSecond = 21;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_INIT_RTC,
							&time,
							sizeof(time),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		memset( &time, 0, sizeof(time) );

		GetLocalTime( &time );
		RETAILMSG(1, (TEXT("IOCTL_HAL_INIT_RTC -> GetLocalTime[%04d/%02d/%02d %02d:%02d:%02d]\r\n")	,time.wYear
																,time.wMonth
																,time.wDay
																,time.wHour
																,time.wMinute
																,time.wSecond ));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_INIT_RTC) Error[%x]\r\n"),GetLastError()));
	}
----------------------------------*/

	//
	// IOCTL_HAL_REBOOT
	//
//	p1 = 0;
//	memset( p2, 0, sizeof(p2) );
//	p3 = 0;
//	ret = KernelIoControl(	IOCTL_HAL_REBOOT,
//							&p1,
//							sizeof(p1),
//							p2,
//							sizeof(p2),
//							&p3	);
//	if( ret == TRUE ){
//		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_REBOOT)\r\n")));
//	}
//	else{
//		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_REBOOT) Error[%x]\r\n"),GetLastError()));
//	}

	//
	// IOCTL_QUERY_PHYSICALMEM
	//
	p1 = 0;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_QUERY_PHYSICALMEM,
							&p1,
							sizeof(p1),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_QUERY_PHYSICALMEM) Base[%08x] Size[%08x] Type[%08x]\r\n"),((PPHYSICAL_BASIC_INFORMATION)p2)->lpBaseAddress,
		((PPHYSICAL_BASIC_INFORMATION)p2)->dwRegionSize, ((PPHYSICAL_BASIC_INFORMATION)p2)->dwType));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_QUERY_PHYSICALMEM) Error[%x]\r\n"),GetLastError()));
	}
/*--------------------------------------------------
	//
	// IOCTL_HAL_ILTIMING (ILTIMING_MSG_ENABLE)
	//
	ITM.wMsg = ILTIMING_MSG_ENABLE;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_ILTIMING,
							&ITM,
							sizeof(ITM),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_ILTIMING (ILTIMING_MSG_ENABLE))\r\n")));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_ILTIMING (ILTIMING_MSG_ENABLE)) Error[%x]\r\n"),GetLastError()));
	}

	//
	// IOCTL_HAL_ILTIMING (ILTIMING_MSG_GET_TIMES)
	//
	ITM.wMsg = ILTIMING_MSG_GET_TIMES;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_ILTIMING,
							&ITM,
							sizeof(ITM),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_ILTIMING (ILTIMING_MSG_GET_TIMES)) dwIsrTime1[%d] dwIsrTime2[%d] wNumInterrupts[%d] dwSPC[%08x] dwFrequency[%d] \r\n"),ITM.dwIsrTime1,ITM.dwIsrTime2,ITM.wNumInterrupts,ITM.dwSPC,ITM.dwFrequency));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_ILTIMING (ILTIMING_MSG_GET_TIMES)) Error[%x]\r\n"),GetLastError()));
	}

	//
	// IOCTL_HAL_ILTIMING (ILTIMING_MSG_GET_PFN)
	//
	ITM.wMsg = ILTIMING_MSG_GET_PFN;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_ILTIMING,
							&ITM,
							sizeof(ITM),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_ILTIMING (ILTIMING_MSG_GET_PFN)) pfnPerfCountSinceTick[%08x] \r\n"),ITM.pfnPerfCountSinceTick));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_ILTIMING (ILTIMING_MSG_GET_PFN)) Error[%x]\r\n"),GetLastError()));
	}

	//
	// IOCTL_HAL_ILTIMING (ILTIMING_MSG_DISABLE)
	//
	ITM.wMsg = ILTIMING_MSG_DISABLE;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_ILTIMING,
							&ITM,
							sizeof(ITM),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_ILTIMING (ILTIMING_MSG_DISABLE))\r\n")));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_ILTIMING (ILTIMING_MSG_DISABLE)) Error[%x]\r\n"),GetLastError()));
	}
--------------------------------------------------*/

	//
	// IOCTL_HAL_TRANSLATE_IRQ
	//
for( i = 0; i < 64; i++ ){
	p1 = i;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_TRANSLATE_IRQ,
							&p1,
							sizeof(p1),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		memcpy( &p1, p2, sizeof(p1) );
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_TRANSLATE_IRQ %02d SysIntr[%d]\r\n"),i,p1));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_TRANSLATE_IRQ Error[%x]\r\n"),GetLastError()));
	}
}

	//
	// IOCTL_HAL_REQUEST_SYSINTR
	//
for( i = 0; i < 64; i++ ){
	p1 = i;
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_REQUEST_SYSINTR,
							&p1,
							sizeof(p1),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		memcpy( &p1, p2, sizeof(p1) );
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_REQUEST_SYSINTR %02d SysIntr[%d]\r\n"),i,p1));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_REQUEST_SYSINTR Error[%x]\r\n"),GetLastError()));
	}
}

	//
	// IOCTL_HAL_REQUEST_IRQ
	//
	pDevLoc.BusNumber  = 0;			// BUS NUMBER=0
	pDevLoc.LogicalLoc = 0x0D00;	// DEVICE=13
	pDevLoc.IfcType    = PCIBus;	// TYPE=PCI BUS
	pDevLoc.Pin        = 1;			// INTERRUPT PIN=1
	memset( p2, 0, sizeof(p2) );
	p3 = 0;
	ret = KernelIoControl(	IOCTL_HAL_REQUEST_IRQ,
							&pDevLoc,
							sizeof(pDevLoc),
							p2,
							sizeof(p2),
							&p3	);
	if( ret == TRUE ){
		memcpy( &p1, p2, sizeof(p1) );
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_REQUEST_IRQ [%d]\r\n"),p1));
	}
	else{
		RETAILMSG(1, (TEXT(" KernelIoControl(IOCTL_HAL_REQUEST_IRQ Error[%x]\r\n"),GetLastError()));
	}

	RETAILMSG(1, (TEXT("-KernelIoControl_test\r\n")));
}

⌨️ 快捷键说明

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