RK3399—内核态访问EEPROM

本文详细介绍了在RK3399平台上,如何在内核态使用Linux驱动访问24系列i2c接口的EEPROM,特别是针对AT24C02芯片。内容包括EEPROM驱动分析,涉及私有数据、型号匹配表、读写函数和匹配函数。此外,还讲解了如何通过设备树、内核配置和编译内核来使用驱动,并提供了测试步骤。
摘要由CSDN通过智能技术生成

  上一篇文章中,描述了在用户态下通过“ioctl”接口访问24系列i2c接口的EEPROM,本文描述调用EEPROM驱动接口实现访问。linux内核提供了完整的24系列EEPROM驱动,位于“kernel/drivers/misc”目录下(at24.c),可以直接使用。


编译系统:Ubuntu16.04
ARM硬件:firefly RK3399
ARM系统:firefly Ubuntu16.04(SDK)
连接i2c:i2c4
EEPROM:AT24C02


1. EEPROM驱动分析

  24系列EEPROM是以i2c为接口的,不同厂家的芯片是可以相互兼容的,如atmel、st、microchip以及一些小众品牌。内核提供的源码是基于atmel的EEPROM(at24cxx)。


1.1 私有数据

struct at24_data {
   
	struct at24_platform_data chip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Acuity.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值