免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 24213 | 回复: 4
打印 上一主题 下一主题

gpio_request的使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-30 19:38 |只看该作者 |倒序浏览
1、在编写驱动时,每次执行管脚动作时,都需要gpio_request吗? 执行完毕都需要释放gpio_free吗?
2、__gpio_set_value和gpio_set_value的区别

论坛徽章:
0
2 [报告]
发表于 2011-10-14 09:14 |只看该作者
同问

论坛徽章:
0
3 [报告]
发表于 2011-10-28 08:27 |只看该作者
问错地方了,兄弟。
应该去  驱动版 问。

论坛徽章:
0
4 [报告]
发表于 2011-10-29 22:28 |只看该作者
1、一般gpio_request封装了mem_request(),起保护作用,最后要调用mem_free之类的。主要是告诉内核这地址被占用了。当其它地方调用同一地址的gpio_request就会报告错误,该地址已被申请。在/proc/mem应该会有地址占用表描述。
这种用法的保护作用前提是大家都遵守先申请再访问,有一个地方没遵守这个规则,这功能就失效了。好比进程互斥,必需大家在访问临界资源的时候都得先获取锁一样,其中一个没遵守约定,代码就废了。
2、__gpio_set_value和gpio_set_value的区别
一般带__这种操作的宏和函数是未保护的,对这中__操作的使用最好不用,除非你知道其中的原理。
你说的这种显然就是地址检测保护了。主要是防止错误地址引用。__gpio_set_vallue是没有地址范围检测的,如果引用非法地址,有可能内核down掉。

论坛徽章:
0
5 [报告]
发表于 2012-09-13 21:19 |只看该作者
回复 4# 251316192


    学习了,谢谢~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP