首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > Windows CE下操作GPIO的方法

Windows CE下操作GPIO的方法

资料介绍
Windows CE下操作GPIO的方法(以ARM S3C2410为例)
http://bbs.pdafans.com/viewthread.php?tid=281968
Windows CE下操作GPIO的方法(以ARM S3C2410为例)

GPIO是ARM芯片最基本的输入输出通道,在ADS下操作就是一个单片机工作,直接读写
其寄存器。在ARM9平台上,Windows
CE系统将GPIO的实地址(例如2410的GPIO的基地址为0x56000000)映射到虚拟地址空间(
GPIO对应为0xB1600000),这样,通过对这段虚拟地址空间的操作,就能够完成对GPIO
或者其他片内资源的控制、输入输出工作。

要操作一个平台的GPIO,在其对应BSP中按照基地址,找到虚拟地址,并且找到方便操作
这个地址的数据结构就可以了,关键函数就是VirtualAlloc和VirtualCopy。并且CE的方
便之处就是用户态的应用程序仍然可以使用这两个函数来访问所有这些虚拟空间,对于
不太复杂的程序,甚至可以省略写驱动直接在应用程序中操作,其实在CE6之前,这些驱
动也是工作在用户态的。
下面以操作Samsung S3C2410的GPIO为例,讲述这个步骤:
1.首先在BSP中的s2410.h文件,找到虚拟地址映射以及操作GPIO的寄存器结构体(这个在
自己制作一些特殊设备的BSP时,会依据需要而发生更改)
//
// Registers : I/O port
//
#define IOP_BASE      0xB1600000 // 0x56000000
typedef struct  {
    unsigned int  rGPACON;  // 00
    unsigned int  rGPADAT;
    unsigned int  rPAD1[2];
   
    unsigned int  rGPBCON;  // 10
  ……
Windows CE下操作GPIO的方法
本地下载

评论