以文本方式查看主题 - 曙海教育集团论坛 (http://sun4.cn/bbs/index.asp) -- WinCE系统定制与驱动开发 (http://sun4.cn/bbs/list.asp?boardid=36) ---- OMAP3530 WINCE GPIO驱动开发过程 (http://sun4.cn/bbs/dispbbs.asp?boardid=36&id=1820) |
-- 作者:wangxinxin -- 发布时间:2010-11-26 10:58:35 -- OMAP3530 WINCE GPIO驱动开发过程 一开始上来整TI的OMAP3530,直接碰的就是系统移植和GPIO驱动。看了TI的DATASHEET和产品的性能介绍,说实话真的是一分钱一分货,与曾经的三星的相比,三星产品的本地化(中国)做得比较好,首先价格较同类便宜,第二由于第一点造就了用的人多,人多英文的变成中文的手册多,例子多,书多,源码多。天下源码一大抄吗,所以一般而言,三星的就更受欢迎了,但是回过头来,TI的产品真让你心服口服。他的支持之多,超过了三星,只是多是英文的,起点高,所以。。。 1)数据输入(捕获)/输出(驱动)
2) 带有防抖功能的键盘接口
3)外部事件检测(电平中断、边沿中断)
4) 在空闲模式下通过外部事件的睡眠唤醒功能
相关的配置需要仔细参照技术手册
我在编写完OMAP3530的GPIO驱动后,发现有的GPIO能够控制输入输出,有的则不能。经过同学提醒,重新看了技术手册,原来在技术手册的第7章System Control Module(SCM)中明确介绍了core modul(内核模块)和wake-up module(唤醒模块)。
1)I/O端口功能复用、多工选择 2) Pad块配置(端口上拉/下拉)
3) 设备状态
4) MPU和DSP(IVA2.2)的外围扩展设备特性
5) 静态设备配置
6)调试和观测功能IO复用
7) 存储pad块的配置
pad块配置寄存器如下:
其中pad块的配置中有一项就是端口的MODE(3bits),由于一个GPIO可能有多个功能,他们是互斥的,只能选择一个,就涉及到端口功能的选择,总共有MODE0到MODE7八个模式,默认是MODE0,MODE7是安全模式。比如GPIO143总共有实实在在的5个模式:mcbsp3_fsx/uart2_rx/gpio143/hsusb3_till_data7/safemode。所以在配置GPIO的时候需要选择成GPIO模式,不然操作GPIO就没有效果,这是问题1.
1)INPUTENABLE = 0,关闭引脚输入,引脚只能够作为输出。
2)
所以我们应该使能SCM中,pad块的这项功能。
GPIO驱动:
启动时安装配置成GPIO的文件:
比如:
|