linux下通过SPI与AD芯片进行通讯

M_Pinery 2021-05-12 05:53:26
初学Linux,感觉很难,自学起来非常的吃力,也十分困惑。求教大神们些问题,十分感谢!!!

目前的目的:实现一款AD1256的linux驱动。
目前的处于的情况:
1.通过看AD芯片的文档,已经有大概的了解,(如需要读取器DRDY等引脚的值,再进行写入寄存器,进行AD芯片的参数设定等)
2.看了linux中SPI代码,但是真的很不理解,通过模仿实验网上的代码,利用了ioctl()函数可以实现s3c2440的自发自收。
3.请问大神,目前如果想实现AD1256芯片的驱动编写。
在新的字符设备文件的驱动模板里,该要如何去利用系统的SPI去实现?具体的步骤是怎么样的流程?或者求大神给指点一下学习的门路,感谢!!
...全文
2557 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
weiwei11234567890 2021-09-08
  • 打赏
  • 举报
回复

现在SPI 设备驱动基本上很成熟,在spidev.c的 spidev_dt_ids 结构中加入设备的 compatialbe. 就添加了设备.
如果你的设备不是标准的spi 设备,那就要你自己在master驱动中去做适配了.

yoveldf 2021-05-18
  • 打赏
  • 举报
回复
Souceinsight
M_Pinery 2021-05-18
  • 打赏
  • 举报
回复
感谢您的回答,还想问一下,就是有很多的在linux中有很多的函数不知道他的定义在哪里,找起来很麻烦,一般用什么工具,或者怎么找?感谢
weiwei11234567890 2021-09-08
  • 举报
回复
@M_Pinery 我一般是用source insight+ linux下find grep命令,先找到定义文件,然后加到source insight项目中查看.
yoveldf 2021-05-14
  • 打赏
  • 举报
回复
一般来讲现在dts里面配置到ad芯片的硬件信息,如用哪组spi口,芯片供电,使能复位等,然后再驱动程序中注册spi设备,对IC先初始化(上电复位等),再去调用spi读写去操作这个芯片
M_Pinery 2021-05-14
  • 打赏
  • 举报
回复
感谢您的回复,请我我写驱动的流程是这样的嘛? 1.在新的字符驱动文件中,加入对ad芯片设置,写入的代码。 2.在内核中spi中,将spidev.c的有用的部分,加入到我的驱动中。 作为一个小白,感觉学习内核中的spi有点吃力,有没有什么学习方法可以推荐的? 感谢!!!
yoveldf 2021-05-13
  • 打赏
  • 举报
回复
建议你参考下现有驱动里面有用spi通讯的驱动代码,参考那个写!

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧