【Linux驱动编程】嵌入式Linux下 24系列EEPROM/FRAM驱动

53 篇文章 18 订阅
9 篇文章 2 订阅
本文介绍了如何在嵌入式Linux系统下编写24系列EEPROM的驱动程序,不遵循标准驱动模块模式,而是采用ioctl函数进行读写擦除操作。驱动程序基于Linux内核的i2c驱动,通过结构体`_24cxx_dev_t`管理设备,并提供了初始化、读写擦除等接口。
摘要由CSDN通过智能技术生成

1.写在前面

  “24系列”的EEPROM,一般地我们认为是以i2c为通信接口的一系列串行EEPROM,各大半导体厂商出产的该系列EEPROM都遵循这个规则,而且电路和控制程序上也兼容。如AT24C02、ST24C02等。

  EEPROM在嵌入式开发中使用广泛,在此之前,有总结过MCU下24系列EEPROM的驱动接口——“24系列EEPROM/FRAM通用接口”。根据该文章中的接口,作调整,使在嵌入式Linux系统下使用。

2.驱动接口

  本文EEPROM驱动程序实现并不按照Linux标准驱动程序模式,不编译成驱动模块或者编译进Linux内核;或者可以说是“伪驱动”的应用。因此,也没有使用到Linux驱动“一切皆文件”的“open、read/write、close”接口。对外,提供三个接口,分别是读、写、擦除操作,擦除操作。

extern int16_t _24cxx_read(_24cxx_dev_t *pdev,uint32_t addr, uint8_t *pbuf, uint32_t size);
extern int16_t _24cxx_write(_24cxx_dev_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Acuity.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值