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驱动详解 ——(二)和(三)中给大家详细讲一下代码怎么去比较以及修改。
- 分享
- 举报

-
浏览量:496次2020-07-20 19:36:33
-
浏览量:357次2020-07-21 18:59:28
-
浏览量:447次2020-07-20 20:14:23
-
浏览量:392次2019-11-20 09:10:33
-
浏览量:536次2017-12-13 10:09:35
-
浏览量:444次2020-03-25 11:58:02
-
浏览量:1123次2018-10-31 14:12:11
-
浏览量:485次2017-12-12 20:02:37
-
浏览量:1085次2020-11-07 18:45:28
-
浏览量:344次2020-08-03 16:35:15
-
浏览量:860次2017-11-16 11:30:55
-
浏览量:498次2020-08-05 20:46:02
-
浏览量:620次2017-12-12 18:12:53
-
浏览量:869次2017-10-23 19:20:34
-
浏览量:344次2019-12-23 09:42:26
-
浏览量:446次2017-12-15 18:11:30
-
浏览量:467次2022-02-21 13:15:02
-
浏览量:380次2020-04-16 13:20:10
-
浏览量:491次2020-07-09 10:07:51
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
Tracy_9216







举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明