linux驱动移植问题点
1、I2C地址是否和其它IC冲突。通过改地址解决
——通常,以下三种情况的log表现相同:1、ic没连接到主板;2、i2c地址错误;3、该器件I2C地址与同组其它器件冲突
2、I2C通信是否受到其它slaver影响。检测:示波器测I2C波形。排查:逐个去掉其它I2C部件,看本IC的I2C波形是否恢复正常。
3、是否由于IC本身原因,某个寄存器写值后无应答。我调的这款LED的reset寄存器就是如此,导致probe 调用reset时报错,而其他寄存器正常。
4、硬件接触是否良好。我遇到的是金手指和卡座接触不良,而且,该金手指上的另一个IC——距离传感器在较松的插入情况下可以正常工作,但LED不能。排查:将LED引脚直接接到卡座引脚,绕过金手指排线
4.9、I2C可以通信后,若无法request_irq,检查该函数的第一个参数,通常是中断号出错。adb中可读取已注册的中断脚:cat proc/interrupts
4.99、若probe成功,无法产生中断:测量IC中断脚电平,看是否有硬件中断产生,若有:再测量IC供电电平,若IC供电电平=中断电平,则会导致CPU无法产生中断事件。解决方案:硬件提高IC供电电平 或 IC厂降低中断电平
可能用到的引脚操作函数:
HAL_tlmm_SetOwner(pin,TLMM_OWNER_PERIPHERAL);
gpio_direction_output(pin,level);
4.999、看注册中断脚request irq之后,是否有enable_irq
5、若某个GPIO无法拉高,检查GPIO配置,modem端需配置为TLMM_OWNER_MASTER,kernel端需配置为TLMM_OWNER_PERIPHERAL
6、厂商提供的代码和本地平台可能会有版本差异性,一些宏定义、函数定义可能会不同,需要比对本地依赖库中的函数。
linux驱动移植问题点的更多相关文章
- I.MX6 SHT20 Linux 驱动移植
/*********************************************************************** * I.MX6 SHT20 Linux 驱动移植 * ...
- linux驱动移植的重要数据结构
转载:http://www.embeddedlinux.org.cn/html/jishuzixun/201304/14-2538.html 对于嵌入式 Linux 系统来说,有各种体系结构的处理器和 ...
- linux网卡驱动移植
这里重要的是物理层PHY receiver,MAC(media access control)层,这里与软件中的协议栈不同,在硬件上MAC是PHY的下一层.DM9000A将MAC和PHY做到一起,也可 ...
- 【转】 linux内核移植和网卡驱动(二)
原文网址:http://blog.chinaunix.net/uid-29589379-id-4708911.html 一,内核移植步骤: 1, 修改顶层目录下的Makefile ARCH ...
- 【转】 linux内核移植和驱动添加(三)
原文网址:http://blog.chinaunix.net/uid-29589379-id-4708909.html 原文地址:linux内核移植和驱动添加(三) 作者:genehang 四,LED ...
- Linux开源模块迁移概述暨交叉编译跨平台移植总结--从《嵌入式Linux驱动模板简洁和工程实践》
本文摘录<嵌入式Linux驱动模板简洁和工程实践>一本书"开发和调试技术". Linux强大的是,有那么多的开源项目可以使用.通常非常需要可以通过寻找相关的源模块被定义 ...
- 【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)
花了一天的时间研究了一下Linux-2.6.30.4版本号内核下关于TQ2440 DM9000E的网卡驱动移植.总结一下自己的收获. 事实上.在Linux-2.6.30.4版本号内核下有关于网卡驱动, ...
- Linux Charger IC 驱动移植总结
Linux Charger IC 驱动移植总结 文章目录 Linux Charger IC 驱动移植总结 1 设备树的基本知识 设备树的概念 设备树的基本结构 compatible属性 举个栗子 2 ...
- Linux网卡驱动移植--Dm9000网卡驱动分析
1. Linux网络体系结构由以下5部分组成 ① 系统调用接口: 位于Linux网络子系统的顶部,为应用程序提供访问内核网络子系统的方法,主要指socket系统调用. ② 协议无关接口: 实现一组基于 ...
随机推荐
- go/golang init()方法的调用
go/golang main() init()方法的调用 u011156212 · 2015-10-20 13:00:05 · 9965 次点击 · 预计阅读时间 1 分钟 · 27分钟之前 开始浏览 ...
- NTFS数据流和web安全
NTFS流简单介绍: NTFS因为它的稳定性 强大的功能 以及它所提供的安全性而成为一种更优越的文件系统,NTFS交换数据流(ADSs)是为了和Macintosh的HFS文件系统兼容而设计的,它使用资 ...
- webpack配置:增加babel支持、打包后调试
一.babel支持 Babel其实是几个模块化的包,其核心功能位于称为babel-core的npm包中,webpack可以把其不同的包整合在一起使用,对于每一个你需要的功能或拓展,你都需要安装单独的包 ...
- 蓝点通用管理系统V13版发布了!
蓝点通用管理系统13版已发布! 重磅新功能:系统的通知和提醒功能,增加微信方式,微信通知.微信查询数据.微信拍照上传....... 蓝点的客户管理系统.进销存管理系统.产品管理系统.工作流管理系统.投 ...
- CentOS下vi编辑器
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...
- django dispatch
from django.views import View # 这里Home需要继承View class Home(View): # 这样这里就相当于一个装饰器的功能,可以自己定制化内容 def di ...
- Unity导出webPlayer并且部署到IIS
http://blog.csdn.net/zooen2011/article/details/12884811 做好的Unity3D项目工程导出webPlayer类型,本地可以直接打开导出的html文 ...
- android中的样式主题和国际化
一.Android中的样式和主题 1.1样式 样式是作用在控件上的,它是一个包含一个或者多个view控件属性的集合.android style类似网页设计中的css设计思路,可以让设计 ...
- 剑指Offer-正则表达式匹配(Python)
1 题干内容 请实现一个函数用来匹配包括.和*的正则表达式.模式中的字符.表示任意一个字符,而*表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式. 例如,字 ...
- UIAlertViewController 2
iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸 ...