在wince应用程序中直接访问硬件

上传人:小** 文档编号:90405507 上传时间:2019-06-11 格式:DOC 页数:2 大小:38KB
返回 下载 相关 举报
在wince应用程序中直接访问硬件_第1页
第1页 / 共2页
在wince应用程序中直接访问硬件_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《在wince应用程序中直接访问硬件》由会员分享,可在线阅读,更多相关《在wince应用程序中直接访问硬件(2页珍藏版)》请在金锄头文库上搜索。

1、在wince应用程序中直接访问硬件平台:wince5.0.0OK2440-III 5.0 BSP直接在wince下操作硬件可以避免烧写NK,避免繁琐的驱动调试,用来验证硬件好坏非常有用,是系统起来后调试外设的很好的手段。一、在wince5.0 平台wince平台是比较成熟的平台,驱动比较好调试,驱动和应用的写法可以一模一样,甚至可以采用EVC来开发流驱动,效果不错。在wince5.0 上直接访问硬件有如下方法:1、直接访问uncached 虚拟地址,成功案例如下:/-GPB for LCD backlight control 0xB16000XX is uncached Address#def

2、ine rGPBCON(*(volatile unsigned *)0xB1600010)/Port B control#define rGPBDAT(*(volatile unsigned *)0xB1600014)/Port B data#define rGPBUP (*(volatile unsigned *)0xB1600018)/Pull-up control B下面的代码在EVC下成功控制了背光。/ test is OK -the backlight is controlledvoid CSPI_wifi_testDlg:OnButton3()/ TODO: Add your co

3、ntrol notification handler code here/ setting GPB1 out 3:2=01rGPBCON&=(13);rGPBCON|=(12);rGPBDAT|=(11);/ backlight on/rGPBDAT&=(11);/ backlight off2、使用MmMapIoSpace以及MmUnmapIoSpace 访问其实MmMapIoSpace以及MmUnmapIoSpace就是用VirtualAlloc和VirtualCopy实现的,下面地址有一篇文章详细介绍http:/ CDlgDemoDlg:OnButton1() / TODO: Add y

4、our control notification handler code here /unsigned char *gpio_base;unsigned int *gpio_base;OutputDebugString(LTestDrv - LedDrive1n); /PUCHAR ioPortBase;PHYSICAL_ADDRESS PortAddress = 0x56000060, 0; /LowPart=0x56000060;HighPart=0;gpio_base =(unsigned int *)MmMapIoSpace( PortAddress, 0x04,FALSE ); / 获得内存,4字节大小。*gpio_base = 0x0585FF87; / 直接访问硬件MmUnmapIoSpace(gpio_base,0x04);/释放内存3、用VirtualAlloc和VirtualCopy访问硬件几乎每一个驱动都有他们两个,在wince5.0 中, 如上的写法可以在驱动和应用中都直接使用,效果一样,调试起来方便。二、wince6.0刚开始的时候大家都一致认为wince6.0 已经不能在应用程序中直接访问硬件了,后来sunrain_hjb发了博客,证实VirtualCopyEX还是照样可以做到,下面是他的博客地址http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号