20D添加标准SPI驱动详解 ——(一)
用过海思3520DV200的人应该都知道吧,由于芯片的年代比较久了,20Dv200的SDK里面是没有标准SPI通讯接口的驱动的,要用SPI通讯的话只能用官方提供的工具SSP_read和write来读写数据,这样非常的不方便,也不好集成在上层的代码中使用,最近有个项目,需要用到spi,所以就想着能不能自己加一个标准的spi驱动,就像串口一样,通过打开设备节点的方式来操作spi,但是驱动的调试本身难度偏大,一开始也没什么好思路,请教了Goodman大神之后给我提供了一些思路,就尝试着搞了搞,中间遇到了不少问题,大概四五天的样子,终于搞出来了,这次想写出来跟大家分享一下,一个专栏可能写不完啊,这个东西比较多,想分几次给大家写的详细一些,希望大家看到的对你有帮助。
首先给大家提供一个思路啊,自己添加并不代表自己纯手写,重新写一个,这个难度太大,也需要花太多的时间,(当然如果有大神自己可以搞定,那当我没说,估计这样的大神也不会看我写的帖子了吧,哈哈哈哈)我们其实不需要自己纯手写,20Dv200的板子是没有标准spi驱动的,但是别的板子有啊,16A有的,20DV400有的,31D也是有的,我们可以参考别的SDK里的驱动代码,自己添加一下,这就是最关键的思路拉。
照着这个思路的第一步就是比较一下寄存器的差别,找到20Dv200,20Dv400和16A的文档,打开看了一下,如下:
20Dv200:
16A:
比较了一下,只有0x024的DMA寄存器20Dv200是没有的,其他都一样,顿时觉得这个事情有搞头,即使不支持DMA通讯至少是可以搞定的吧,于是打开了SDK代码,开始比较了。在20D添加标准SPI驱动详解 ——(二)和(三)中给大家详细讲一下代码怎么去比较以及修改。
- 分享
- 举报
-
浏览量:2819次2020-07-20 20:14:23
-
浏览量:2484次2020-07-21 18:59:28
-
浏览量:3225次2020-07-20 19:36:33
-
浏览量:5378次2022-03-05 09:00:11
-
浏览量:536次2024-02-21 17:14:02
-
浏览量:626次2023-08-14 17:53:58
-
浏览量:2622次2017-12-13 10:09:35
-
浏览量:870次2023-06-12 14:34:15
-
浏览量:2425次2023-06-12 14:34:18
-
浏览量:2483次2022-03-06 09:00:09
-
浏览量:1505次2019-11-20 09:10:33
-
浏览量:4059次2020-08-30 12:27:19
-
浏览量:5673次2020-08-26 14:15:06
-
浏览量:15583次2020-12-02 22:47:42
-
浏览量:2764次2017-12-12 20:02:37
-
浏览量:2243次2020-08-31 19:19:06
-
浏览量:1725次2023-05-16 15:43:05
-
浏览量:6751次2022-04-01 09:00:15
-
浏览量:512次2024-02-21 17:08:25
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
Tracy_9216
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明