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口调用过程相关推荐

  1. go微服务框架go-micro深度学习(五) stream 调用过程详解

        上一篇写了一下rpc调用过程的实现方式,简单来说就是服务端把实现了接口的结构体对象进行反射,抽取方法,签名,保存,客户端调用的时候go-micro封请求数据,服务端接收到请求时,找到需要调用调 ...

  2. WINDOWS系统调用 和 SYSENTER系统服务调用过程

    Windows 2K通过2Eh中断来实现系统调用的,但是在XP后使用SysEnter来实现系统调用了,同时2Eh中断还是保存着的.不管是2EH中断还是SYSENTER,Windows对所有的系统调用都 ...

  3. 构造函数和析构函数的调用过程

    下面代码的输出是什么?(D) class A { public: A() { } ~A() { cout<<"~A"<<endl; } }; class B ...

  4. 简述python函数调用过程_python函数定义和调用过程详解

    我们可以创建一个函数来列出费氏数列 >>> def fib(n): # write Fibonacci series up to n ... """Pr ...

  5. Java05-day05【方法(概述、调用过程图解)、带参方法、带返回值方法、重载、方法参数传递(基本类型、引用类型)】

    java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] &qu ...

  6. 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程

    标 题: [原创]使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程. 作 者: shayi 时 间: 2015-02-12,05:19:54 链 ...

  7. Spring的refresh()方法调用过程

    Spring的refresh()方法调用过程 refresh()是Spring中比较核心的方法,Spring所有的初始化都在这个方法中完成 具体代码如下 public void refresh() t ...

  8. 递归调用方法时栈内存是如何变化的?(使用内存图演示递归调用过程)

    文章目录 什么是栈内存 演示方法递归调用过程 什么是栈内存 在学习递归实现原理之前,我们先了解一下栈内存. 栈内存是计算机中的一种数据存储方式,是 Java 进程启动时候在内存中开辟的存储空间. 栈内 ...

  9. android 音量键 广播,【Android 7.0 Audio】: 按键调节音量的调用过程

    转载自http://blog..net/xiashaohua/article/details/53842337 只简单描述调用过程,需对照代码看,不画图了,也不贴代码) 1.在key Event处理部 ...

  10. mybatis源码分析(方法调用过程)

    十一月月底,宿舍楼失火啦,搞得20多天没有网,目测直到放假也不会来了... 正题 嗯~,其实阅读源码不是为了应付面试,更重要的让你知道,大师是怎样去写代码的,同样是用Java,为啥Clinton Be ...

最新文章

  1. 活久见!谷歌开源“大杀器”,CV、NLP都能用!
  2. 汪劲:生命系统中的非平衡物理学
  3. c#_未将对象引用设置到对象的实例
  4. 家用电器如何计算功率和消耗的度数
  5. 顺序查找(Sequential Search)
  6. 一条数据的HBase之旅,简明HBase入门教程2:数据模型
  7. mysql用户已存在怎么回事_mysql – 我的数据库用户存在,但我仍然得到...
  8. 360再回应Citron财务造假 双方或将升到法律层面
  9. 8Manage助力花安堂打造新品研发项目管理平台
  10. Eclipse离线安装Svn插件
  11. 最简单的联想笔记本重装系统方法,一键重装系统图解
  12. XCOM2.0接收数据为0
  13. 拼多多店铺怎么上榜单?
  14. 学习英语02——词汇——01
  15. 测试结果OK POK NG NT的意义
  16. 《区块链技术原理》笔记
  17. 如何在微信小程序里实现聊天室功能?
  18. html、js实现分页展示的功能
  19. Luogu P4168 [Violet]蒲公英(分块)
  20. 藏在爱情里的那些咒语,你被下蛊了么?

热门文章

  1. 微信开发工具,字体如何调整的大一点?
  2. Compose系列 五 副作用 side-effect
  3. 2021DASCTF实战精英夏令营暨DASCTF July X CBCTF 4th -- WP [pwn]
  4. 【百战GAN】适合所有人的第一个GAN项目:DCGAN图像生成代码实战
  5. ORACLE EBS/ERP 固定资产总账模块分录
  6. 一个域名显示多个服务器ip,一个域名指向多个ip的方法
  7. DOS命令:format
  8. 差影-Variation Model
  9. nals\string-trim.js Replace Autoprefixer browsers option to Browserslist config. Use browserslis
  10. 涨知识:面试字节跳动Java研发岗,经验分享