首 页 行业热点 新车 试驾评测 养车用车 车型库

ZYNQ 内核i2c驱动支持16位地址寄存器写操作吗

发布网友

我来回答

1个回答

热心网友

ynq7000的I2C控制器是cadence公司的IP,做一个驱动如果从阅读数据手册开始,效率会很低,因此首先找到了其Linux的I2C驱动文件i2c_cadence.c,话一部分时间阅读两遍后,会了解Zynq7000的I2C控制器工作流程和操作方法。

开始是基于Linux的驱动进行移植的,进展不是很顺利,主要是Linux驱动中的数据收发均是在中断中完成,并加入了Linux自身的驱动框架。为了方便的调试驱动,先调试无中断情况下的功能,然后在将中断、FIFO等加入以提高效率是一个比较不错的方法。为了快速的调试通过I2C驱动,这里考虑了其Uboot中的驱动文件。

Zynq7000的I2C控制器Uboot下的驱动文件是zynq_i2c.c,此文件设计非常容易理解,文件中一共有7个函数,其中有用的是如下5个函数,通过阅读以下五个函数,可以很容易了解I2C的操作过程,而且可以直接在驱动中使用**read、**write函数进行测试。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com