Linux驱动开发-编写(EEPROM)AT24C02驱动
1. 前言
AT24C02是IIC接口的EEPROM存储芯片,这颗芯片非常经典,百度搜索可以找到非常多的资料,大多都是51、STM32单片机的示例代码,大多采用模拟时序、裸机系统运行。当前文章介绍在Linux系统里如何编写AT24C02的驱动,并且在应用层完成驱动读写测试,将AT24C02的存储空间映射成文件,在应用层,用户可以直接将AT24C02当做一个普通文件的形式进行读写,偏移文件指针;在Linux内核里有一套标准的IIC子系统框架专门读写IIC接口设备,采用平台设备模型框架,编写驱动非常方便。
当前开发板采用友善之臂的Tiny4412,CPU是三星的EXYNOS4412,4412是三星的第一款四核处理器,主频是1.5GHZ,稳定频率是1.4GHZ。
2. 硬件原理图
当前的开发板上自带了一颗EEPROM存储芯片(具体型号是24AA025E48,代码与AT24C02一样的),原理图如下:
自带的内核里没有内置EEPROM的驱动:
Linux驱动开发-编写(EEPROM)AT24C02驱动相关推荐
- Linux驱动开发(外传)---驱动开发调试方法
前文回顾 <Linux驱动开发(一)-环境搭建与hello world> <Linux驱动开发(二)-驱动与设备的分离设计> <Linux驱动开发(三)-设备树> ...
- Linux驱动开发:字符设备驱动开发实战
Linux驱动开发:字符设备驱动开发实战 一.工程创建 VSCode 创建工程,设置 C/C++ 配置,导入 linux kernel 源码目录,方便 vscode 写代码自动补全,vscode 配置 ...
- Linux下驱动开发_块设备驱动开发(硬件上采用SD卡+SPI协议)
一.前言 块设备主要为存储设备设计的框架. 在前面章节Linux下驱动开发_块设备驱动开发(内存模拟存储) 里介绍了块设备驱动编写思路,并且利用内存模拟了硬件存储,完成了块设备驱动开发测试.这一篇文章 ...
- Linux嵌入式驱动开发01——第一个驱动Hello World(附源码)
文章目录 全系列传送门 引言 驱动介绍 Hello World 1. 包含头文件 2. 驱动模块的入口和出口 3. 声明信息 4. 功能实现 完整代码 编译 第一种方法 第二种方法 编译成模块 第一步 ...
- Linux SD卡驱动开发(五) —— SD 卡驱动分析Core补充篇
Core层中有两个重要函数 mmc_alloc_host 用于构造host,前面已经学习过,这里不再阐述:另一个就是 mmc_add_host,用于注册host 前面探测函数s3cmci_probe, ...
- i.MX 6ULL 驱动开发 六:beep 驱动
一.原理分析 通过原理图可以确定 beep 连接到 SNVS_TAMPER1 引脚上.根据 beep 原理,当 SNVS_TAMPER1 输出低电平时,beep 鸣叫. 通过数据手册确定 SNVS_T ...
- STM32MP157驱动开发——多点电容触摸屏驱动
STM32MP157驱动开发--多点电容触摸屏驱动 一.简介 二.电容触摸屏驱动框架简介 多点触摸(MT)协议详解 三.驱动开发 1.添加 FT5426 设备节点 2.FT5426 节点配置 3.驱动 ...
- linux驱动开发 | 第一个字符驱动
一.驱动框架编写 1.编写驱动文件 打开linux内核,全局搜索module_init函数. linux内核中已经有了很多厂家写好的驱动模块,所以我们完全可以参考他们的代码. #include < ...
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之驱动设计的思想:面向对象/分层/分离
文章目录 前言 1.分离设计 驱动程序分析---程序分层 通用驱动程序---面向对象 个性化驱动程序---分离 APP 程序分析 前言 韦东山嵌入式Linux驱动开发基础知识学习笔记 文章中大多内容来 ...
最新文章
- linux 终端 渐变色,iOS开发——UI篇文字渐变效果:图层中的mask属性
- Openstack Nova 源码分析 — RPC 远程调用过程
- 暗网 tor溯源困难根因——用户的请求会在分布全球的主机随机跳转三次,最终才到达服务器,这就造成了溯源的极其困难...
- Linux Restart PHP
- Java Longest Palindromic Substring(最长回文字符串)
- QT QML 在qml中自定义信号
- HttpClient 使用证书访问https站点
- Apache部署多个WordPress网站
- pydobc连接sql server_python – PyOdbc无法连接到SQL Server实例
- vue项目使用pdfjs插件预览pdf 不兼容QQ浏览器和搜狗浏览器问题 兼容各大主流浏览器办法
- Linux中使用 if 、for、while等循环来写脚本
- 基于ECharts数据可视化案例--世界疫情实时展示
- 工单流转 指派 php,第三节 工单的指派和处理
- java中math.ceil用法_[Java教程]关于Math类的round、floor、ceil三个方法
- 官方消息:即将开始退钱
- 算法训练一(贪心、二分)(含解题思路)(下)
- linux 命令行下载mysql
- ITIL,是否已是昨日黄花
- android服务框架下载,GG服务框架安装器
- 从宝丽来到数字电影——图像与视频色彩的科学
热门文章
- 纸浆暴力反弹——复制去年走势,铁矿石认购2-4倍,双硅价差再度翘尾?2022.6.28
- 学会感谢--谈辞职信的写法
- Python学习笔记--正方形、六边形、叠边形、同切圆的绘制
- Windows10下安装Elasticsearch8.1.1过程遇到的问题
- 安装Ubuntu后的配置
- 【AliOS Studio】AliOS Studio初体验
- 黑鲨会升级鸿蒙吗,黑鲨游戏手机2系统更新好吗?
- 面试系列 | 真 · 大厂面试复盘
- JMockit @mocked 注释标签
- cocos2dx 圆盘抽奖_cocos2d编写的类似幸运大转盘抽奖源码