• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

Linux I2C 驱动编程

1. Linux 系统已经将I2C驱动的功能基本完成,我们只需要将相关的结构体补充,完成注册就可以正常使用,具体 I2C驱动的知识不在做说明。

2. 测试环境Linux-3.4 内核,硬件环境 JZ2440开发板

3. 开发过程:由于I2C采用类似于Platform驱动实现形式,所以此处采用设备和驱动分开,以lkt4306为例

(1) 编写lkt4306_dev.c 文件

① 定义芯片名称和地址,使用如下结构体实现

 

② 在adapter 适配器上创建设备信息,在static int lkt4306_dev_init() 函数中实现。由于JZ2440只有一个I2C接口,所以i2c_get_adapter(0),可以根据实际的挂载的总线确定adapter。具体实现如下

 

以上完成lkt4306_dev.c基本功能实现。

(2) .编写lkt4306_drv.c文件完成设备驱动具体实现

① 编写读写lkt4306函数功能,通过i2c_transfer 函数实现如下图所示

写函数功能类似。

② 完成file_operations 结构体,便于调用read 和write函数调用

③ 通过编写probe 和remove 函数完成 字符设备号的注册 和删除

以上操作后基本完成了。Linux下 I2C驱动的开发,完整的驱动程序可以通过网上查找I2C驱动相关的介绍或者咨询凌科芯安了解详细的开发源码

全部回复(21)
正序查看
倒序查看
邓女士
LV.5
2
2019-12-23 14:21
楼主文中例举的4306 应该是一款功能很强的I2C接口加密芯片吧,但对市面上普通的I2C接口芯片有其它要求吗?
0
回复
zntsbkhhh
LV.2
3
2019-12-23 15:20



文章写的很清楚,如果有4306的配套手册就更好了,
0
回复
zntsbkhhh
LV.2
4
2019-12-23 15:20



文章写的很清楚,如果有4306的配套手册就更好了,
0
回复
2019-12-23 15:57
@zntsbkhhh
文章写的很清楚,如果有4306的配套手册就更好了,
4306新推出的?一直关注LKT的,安全性能比较好
0
回复
lckabcd
LV.1
6
2019-12-24 13:37
@IIIIIIIIIIIIIII
4306新推出的?一直关注LKT的,安全性能比较好
受教了,所有的IIC接口的芯片都支持吗?
0
回复
小帆儿
LV.5
7
2019-12-24 22:58
@lckabcd
受教了,所有的IIC接口的芯片都支持吗?
各个版本内核不一定都试用 
0
回复
114W1
LV.5
8
2019-12-25 10:57
@小帆儿
各个版本内核不一定都试用 
Linux?i2c驱动原来内核已经封好很多接口函数,原来实现这么方便
0
回复
Hex315
LV.5
9
2019-12-25 20:29
@114W1
Linux?i2c驱动原来内核已经封好很多接口函数,原来实现这么方便
文章写的很详细,学习了
0
回复
15001399892
LV.1
10
2019-12-26 09:06
@Hex315
文章写的很详细,学习了
I2C都是采用Platform驱动实现形式?
0
回复
BLoun
LV.5
11
2019-12-26 14:12
@15001399892
I2C都是采用Platform驱动实现形式?
我听朋友提起过 LKT系列产品很多 功能和安全性也各有所长  不过具体的还是得咨询一下专业人士
0
回复
114W1
LV.5
12
2019-12-26 14:42
@BLoun
我听朋友提起过LKT系列产品很多功能和安全性也各有所长 不过具体的还是得咨询一下专业人士
LKT?第一次听说,很高端吗?看你们聊得好像他家很有知名度啊?
0
回复
2019-12-26 16:34
@114W1
LKT?第一次听说,很高端吗?看你们聊得好像他家很有知名度啊?
不错正想找linux下IIC的类似驱动,先保存了。
0
回复
Hex315
LV.5
14
2019-12-26 17:32
@人称福爷
不错正想找linux下IIC的类似驱动,先保存了。
他们家很不错的,具体你可以百度一下,去他家官网看看,产品很多!
0
回复
lckabcd
LV.1
15
2019-12-27 09:29
@Hex315
他们家很不错的,具体你可以百度一下,去他家官网看看,产品很多!
适合Android平台下的IIC驱动移植吗?
0
回复
2019-12-27 09:37
厉害了,对我帮助很大,有没有源码?能不能发出来看看
0
回复
15001399892
LV.1
17
2019-12-27 12:43
@IIIIIIIIIIIIIII
厉害了,对我帮助很大,有没有源码?能不能发出来看看
硬件环境 JZ2440开发板是不是也得是凌科芯安的才行?
0
回复
邓女士
LV.5
18
2019-12-27 13:12
专业性好强的文章,当做技术储备,希望楼主能够详细的再具体介绍一些
0
回复
2019-12-27 13:29
楼主有凌科的lkt4306的详细资料吗?
0
回复
2019-12-27 13:29
楼主有凌科的lkt4306的详细资料吗?
0
回复
zntsbkhhh
LV.2
21
2019-12-27 13:37
求楼主推荐一款支持iic通讯的加密芯片?我想详细的了解一下,
0
回复
BLoun
LV.5
22
2019-12-27 18:51
@zntsbkhhh
求楼主推荐一款支持iic通讯的加密芯片?我想详细的了解一下,
幸亏看到这个帖子,讲的好详细啊,已转给我们技术部看了
0
回复