Linux I2C驱动框架, 调试神奇I2C-Tools介绍
创始人
2024-03-15 22:08:39
0
  •  1.  IIC协议

    2.

    Linux的I2C体系结构分为3个组成部分:

    I2C核心(  i2c-core.c ):       

      I2C核心提供了I2C总线驱动和设备驱动的注册、注销方法、I2C通信方法(”algorithm”)、与具体适配器无关的代码、探测设备、检测设备地址的上层代码等。

           给驱动编程人员提供编程接口。

    I2C总线驱动( i2c-s3c2410.c ):

      I2C总线驱动是对适配器端的实现( 即初始化i2c控制器 )。

      实现操作方法,它知道怎么发数据,但是不知道该发什么数据。

    I2C设备驱动(  i2c-dev.c ):

      实现策略问题,它知道发什么数据,但是不知道怎么发数据。

      I2C设备驱动(也称为客户驱动)是对设备端的实现。

            

    君正提供的内核源码的IIC结构

    登录系统后,可以查看到驱动内配置的外设信息

    3. I2C-Tools 交叉编译

    3.1 源码下载

    Index of /pub/software/utils/i2c-tools/

    3.2 解压源码

    tar xvf i2c-tools-4.1.tar.gz

    cd i2c-tools-4.1

    3.3 指定交叉编译器

    export CC=mips-linux-gnu-gcc

    export STRIP=mips-linux-gnu-strip

    export AR=mips-linux-gnu-ar

    3.4 编译

    make 

    3.5 移所需库

    把 libi2c.so.0.1.1 拷贝到 开发板的 /usr/lib/ 目录下

    把 libi2c.so.0.1.1 软链接为 libi2c.so.0 (ln -s libi2c.so.0.1.1 libi2c.so.0)

    4. 如何使用I2C-Tools

    扫描所有I2C设备地址

    ./i2cdetect -l      #查看系统使能的i2c总线

    检测总线上的设备

    ./i2cdetect -r -y 0    #-y表示省去交互式

    i2c上读写数据:
    ./i2cset -y 1 0x40 0x00 0x13
    ./i2cget -y 1 0x40 0x00 

    i2cdump可以dump出该设备的所有寄存器信息
    ./i2cdump -y 0 0x69  #I2C0上挂着的地址为0x69的I2C从设备

    .

    /************* 社会的有色眼光是:博士生、研究生、本科生、车间工人; 重点大学高材生、普通院校、二流院校、野鸡大学; 年薪百万、五十万、五万; 这些都只是帽子,可以失败千百次,但我和社会都觉得,人只要成功一次,就能换一顶帽子,只是社会看不见你之前的失败的帽子。 当然,换帽子决不是最终目的,走好自己的路就行。 杭州.大话西游 *******/

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...