4418GPIO口调用过程
4418GPIO口调用过程
1, 从itop4418_led.c文件开始一级级查找
E:\iTOP4418\linux\kernel\kernel-3.4.39\drivers\char\itop4418_led.c
找到其中的gpio_set_value(LED_GPIO,0);
2, gpio_set_value为一个宏定义在E:\iTOP4418\linux\kernel\kernel-3.4.39\arch\arm\include\asm\gpio.h文件里
3, 查找__gpio_set_value在E:\iTOP4418\linux\kernel\kernel-3.4.39\drivers\gpio\gpiolib.c文件里
经过测试打印,调用的是chip->set函数,此函数在gpio_nxp.c里初始化
4, 在E:\iTOP4418\linux\kernel\kernel-3.4.39\drivers\gpio\gpio_nxp.c里初始化chip->set
由上图可以看到chip->set指向nxp_gpio_set_value函数
5, 查找nxp_gpio_set_value函数,在E:\iTOP4418\linux\kernel\kernel-3.4.39\drivers\gpio\gpio_nxp.c里
里面nxp_soc_gpio_set_io_dir函数是用来设置io的方向的,nxp_soc_gpio_set_out_value是用来设置相应IO口的值的,
6, 查nxp_soc_gpio_set_out_value在E:\iTOP4418\linux\kernel\kernel-3.4.39\arch\arm\mach-s5p4418\soc\gpio.c文件里
查NX_GPIO_Setoutputvalue函数
7, 在E:\iTOP4418\linux\prototype\s5p4418\module或E:\iTOP4418\linux\kernel\kernel-3.4.39\arch\arm\mach-s5p4418\prototype\module目录里的nx_gpio.c文件里有NX_GPIO_SetOutputValue函数
8, 在E:\iTOP4418\linux\prototype\s5p4418\module或E:\iTOP4418\linux\kernel\kernel-3.4.39\arch\arm\mach-s5p4418\prototype\module目录里的nx_gpio.c文件里有NX_GPIO_SetBit函数
在此通过wirteIO32函数对寄存器进行操作控制IO口
4418GPIO口调用过程相关推荐
- go微服务框架go-micro深度学习(五) stream 调用过程详解
上一篇写了一下rpc调用过程的实现方式,简单来说就是服务端把实现了接口的结构体对象进行反射,抽取方法,签名,保存,客户端调用的时候go-micro封请求数据,服务端接收到请求时,找到需要调用调 ...
- WINDOWS系统调用 和 SYSENTER系统服务调用过程
Windows 2K通过2Eh中断来实现系统调用的,但是在XP后使用SysEnter来实现系统调用了,同时2Eh中断还是保存着的.不管是2EH中断还是SYSENTER,Windows对所有的系统调用都 ...
- 构造函数和析构函数的调用过程
下面代码的输出是什么?(D) class A { public: A() { } ~A() { cout<<"~A"<<endl; } }; class B ...
- 简述python函数调用过程_python函数定义和调用过程详解
我们可以创建一个函数来列出费氏数列 >>> def fib(n): # write Fibonacci series up to n ... """Pr ...
- Java05-day05【方法(概述、调用过程图解)、带参方法、带返回值方法、重载、方法参数传递(基本类型、引用类型)】
java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] &qu ...
- 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程
标 题: [原创]使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程. 作 者: shayi 时 间: 2015-02-12,05:19:54 链 ...
- Spring的refresh()方法调用过程
Spring的refresh()方法调用过程 refresh()是Spring中比较核心的方法,Spring所有的初始化都在这个方法中完成 具体代码如下 public void refresh() t ...
- 递归调用方法时栈内存是如何变化的?(使用内存图演示递归调用过程)
文章目录 什么是栈内存 演示方法递归调用过程 什么是栈内存 在学习递归实现原理之前,我们先了解一下栈内存. 栈内存是计算机中的一种数据存储方式,是 Java 进程启动时候在内存中开辟的存储空间. 栈内 ...
- android 音量键 广播,【Android 7.0 Audio】: 按键调节音量的调用过程
转载自http://blog..net/xiashaohua/article/details/53842337 只简单描述调用过程,需对照代码看,不画图了,也不贴代码) 1.在key Event处理部 ...
- mybatis源码分析(方法调用过程)
十一月月底,宿舍楼失火啦,搞得20多天没有网,目测直到放假也不会来了... 正题 嗯~,其实阅读源码不是为了应付面试,更重要的让你知道,大师是怎样去写代码的,同样是用Java,为啥Clinton Be ...
最新文章
- 活久见!谷歌开源“大杀器”,CV、NLP都能用!
- 汪劲:生命系统中的非平衡物理学
- c#_未将对象引用设置到对象的实例
- 家用电器如何计算功率和消耗的度数
- 顺序查找(Sequential Search)
- 一条数据的HBase之旅,简明HBase入门教程2:数据模型
- mysql用户已存在怎么回事_mysql – 我的数据库用户存在,但我仍然得到...
- 360再回应Citron财务造假 双方或将升到法律层面
- 8Manage助力花安堂打造新品研发项目管理平台
- Eclipse离线安装Svn插件
- 最简单的联想笔记本重装系统方法,一键重装系统图解
- XCOM2.0接收数据为0
- 拼多多店铺怎么上榜单?
- 学习英语02——词汇——01
- 测试结果OK POK NG NT的意义
- 《区块链技术原理》笔记
- 如何在微信小程序里实现聊天室功能?
- html、js实现分页展示的功能
- Luogu P4168 [Violet]蒲公英(分块)
- 藏在爱情里的那些咒语,你被下蛊了么?
热门文章
- 微信开发工具,字体如何调整的大一点?
- Compose系列 五 副作用 side-effect
- 2021DASCTF实战精英夏令营暨DASCTF July X CBCTF 4th -- WP [pwn]
- 【百战GAN】适合所有人的第一个GAN项目:DCGAN图像生成代码实战
- ORACLE EBS/ERP 固定资产总账模块分录
- 一个域名显示多个服务器ip,一个域名指向多个ip的方法
- DOS命令:format
- 差影-Variation Model
- nals\string-trim.js Replace Autoprefixer browsers option to Browserslist config. Use browserslis
- 涨知识:面试字节跳动Java研发岗,经验分享