2410下关于com3的驱动修改问题
来源:互联网 发布:nginx ssl 不验证证书 编辑:程序博客网 时间:2024/05/26 19:16
2410下关于com3的驱动修改问题
我现在需要把2410下的红外驱动修改为一般模式的串口驱动,可是我的在修改完后。com3用串口调试程序是可以打开的,但是不能收发。以下是我修改的部分:
S2410_SetSerialIOP(
PVOID pHead // @parm points to device head
)
{
PS2410_UART_INFO pHWHead = (PS2410_UART_INFO)pHead;
RETAILMSG(DEBUGMODE, (TEXT("S2410_SetSerialIOP /r/n")));
#if USEVIRTUAL
EnterCriticalSection(&(pHWHead->RegCritSec));
v_pIOPregs->rGPHCON &= ~( 0x3<<12 | 0x3<<14); // clear uart 2 - rx, tx
v_pIOPregs->rGPHCON |= (0x2<<12 | 0x2<<14);
v_pIOPregs->rGPHUP |= 0xc0;
pHWHead->rDTRport = (volatile unsigned int *)&(v_pIOPregs->rGPHDAT);
pHWHead->rDSRport = (volatile unsigned int *)&(v_pIOPregs->rGPHDAT);
pHWHead->DtrPortNum = 6;
pHWHead->DsrPortNum = 7;
#else
volatile IOPreg *s2410IOP;
s2410IOP = (volatile IOPreg *)IOP_BASE;
EnterCriticalSection(&(pHWHead->RegCritSec));
s2410IOP->rGPHCON &= ~( 0x3<<12 | 0x3<<14); // clear uart 0 - rx, tx
s2410IOP->rGPHCON |= (0x2<<12 | 0x2<<14);
s2410IOP->rGPHUP |= 0xc0; pHWHead->rDTRport = (volatile unsigned int *)(IOP_BASE+0x74); //s2410IOP->rGPHDAT
pHWHead->rDSRport = (volatile unsigned int *)(IOP_BASE+0x74);
pHWHead->DtrPortNum = 6;
pHWHead->DsrPortNum = 7;
#endif
LeaveCriticalSection(&(pHWHead->RegCritSec));
}
注册表的修改
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; S2440 IrDA(UART2)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/UART2]
"DeviceArrayIndex"=dword:0
"Irq"=dword:09
"IoBase"=dword:50008000
"IoLen"=dword:2C
"Prefix"="COM"
"Dll"="UART2.Dll"
"Order"=dword:0
"Priority"=dword:0
"Port"="COM3:"
"DeviceType"=dword:0 ; 1->IRDA modem, 0 -> null modem
"FriendlyName"="S2440 UART2/IRDA2440"
"Index"=dword:3
"IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"
再就是在platform/smdk2410/inc/Oalintr.h和Oalintr.inc以及Oalintra.in将SYSINTR_IR改为SYSINTR_UART2。关于cfw.c和armint.c中的部分我也进行了相应的修改。
我现在需要把2410下的红外驱动修改为一般模式的串口驱动,可是我的在修改完后。com3用串口调试程序是可以打开的,但是不能收发。以下是我修改的部分:
S2410_SetSerialIOP(
PVOID pHead // @parm points to device head
)
{
PS2410_UART_INFO pHWHead = (PS2410_UART_INFO)pHead;
RETAILMSG(DEBUGMODE, (TEXT("S2410_SetSerialIOP /r/n")));
#if USEVIRTUAL
EnterCriticalSection(&(pHWHead->RegCritSec));
v_pIOPregs->rGPHCON &= ~( 0x3<<12 | 0x3<<14); // clear uart 2 - rx, tx
v_pIOPregs->rGPHCON |= (0x2<<12 | 0x2<<14);
v_pIOPregs->rGPHUP |= 0xc0;
pHWHead->rDTRport = (volatile unsigned int *)&(v_pIOPregs->rGPHDAT);
pHWHead->rDSRport = (volatile unsigned int *)&(v_pIOPregs->rGPHDAT);
pHWHead->DtrPortNum = 6;
pHWHead->DsrPortNum = 7;
#else
volatile IOPreg *s2410IOP;
s2410IOP = (volatile IOPreg *)IOP_BASE;
EnterCriticalSection(&(pHWHead->RegCritSec));
s2410IOP->rGPHCON &= ~( 0x3<<12 | 0x3<<14); // clear uart 0 - rx, tx
s2410IOP->rGPHCON |= (0x2<<12 | 0x2<<14);
s2410IOP->rGPHUP |= 0xc0; pHWHead->rDTRport = (volatile unsigned int *)(IOP_BASE+0x74); //s2410IOP->rGPHDAT
pHWHead->rDSRport = (volatile unsigned int *)(IOP_BASE+0x74);
pHWHead->DtrPortNum = 6;
pHWHead->DsrPortNum = 7;
#endif
LeaveCriticalSection(&(pHWHead->RegCritSec));
}
注册表的修改
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; S2440 IrDA(UART2)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/UART2]
"DeviceArrayIndex"=dword:0
"Irq"=dword:09
"IoBase"=dword:50008000
"IoLen"=dword:2C
"Prefix"="COM"
"Dll"="UART2.Dll"
"Order"=dword:0
"Priority"=dword:0
"Port"="COM3:"
"DeviceType"=dword:0 ; 1->IRDA modem, 0 -> null modem
"FriendlyName"="S2440 UART2/IRDA2440"
"Index"=dword:3
"IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"
再就是在platform/smdk2410/inc/Oalintr.h和Oalintr.inc以及Oalintra.in将SYSINTR_IR改为SYSINTR_UART2。关于cfw.c和armint.c中的部分我也进行了相应的修改。
- 2410下关于com3的驱动修改问题
- FAT32分区下关于修改文件名的问题
- ubuntu系统下关于环境变量的修改
- 标记下关于保留小数的问题
- centos7下关于拨号上网的一点问题
- Mac下关于pygame安装的问题
- ubuntu系统下关于环境变量的修改(转)
- ubuntu系统下关于环境变量的修改(转)
- VC下关于map容器类引起的问题?
- MFC下关于“建立空文档失败”问题的分析
- MFC下关于“建立空文档失败”问题的分析
- asp下关于Ajax-GB2312乱码的问题
- 在eclipse下关于tomcat配置的问题
- 多线程下关于硬件资源的释放问题
- Android平台下关于display部分的几个关键问题
- VirtualBox下关于iso文件加载失败的问题
- win7下关于session 0 存在的问题
- osx下关于目录wheel和admin权限的问题
- IBM DB2 常用语法
- HP公司大中华区总裁孙振耀的辞职感言
- 一个匹配IP地址的正则表达式
- extremeComponents使用AJAX 指南
- Microsoft Vs Microsystem
- 2410下关于com3的驱动修改问题
- linux系统ioctl使用示例
- 杭州夫妻“最牛散户” 一年交易700亿元
- 如何讨论制定公司经管方案
- S3c2440A平台HIVE注册表+binfs的实现
- ZThread库试用小记
- Yiwu market
- Symbian OS 四个主要的应用软件框架类
- shell编程