打印
[资料分享]

RT-Thread作品秀】基于龙芯LS2K的SPI驱动调试分享

[复制链接]
1374|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
muxb|  楼主 | 2020-7-15 22:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
先看一下RTT MSH测试效果:
这是龙芯CPU通过SPI1 读取 SPI Flash device id 和2字节数据的log。


龙芯LS2K的SPI硬件连接图,使用SPI1,

龙芯SPI的外设地址以及寄存器定义:
红色框里面是SPI寄存器基地址,基地址要转换成MIPS段地址:

#define SPI_BASE_ADDR        0x1fff0220
#define SPI_BASE                CKSEG1ADDR(SPI_BASE_ADDR)




这是SPI所有的配置寄存器,初始化只配置了这几个:
        spi->SFC_PARAM = 0;
        spi->SFC_PARAM = 32<<4;
        spi->SPCR = 3;
        spi->SPER = 0;        //spre,clk/32
        spi->SPCR |= 1<<6;        //spi enable




再说说调试过程吧,龙芯板子的PMON相当于uboot,用起来很不方便,我用的是tftp方式下载程序,每调试一次程序都要重新设置IP,效率太低了。
tftp下载程序并运行的命令如下:
//pmon cmd run rtthread.elf in tftp!!!
ifaddr syn0 192.168.1.20
load tftp://192.168.1.2/rtthread.elf
g

再说一下,用scons 配置了RTT的组件也编译好了,但是一运**死了,没任何返回,没办法调试,只好一直调试驱动了。
本来还想继续调试SPI接口MSD读卡器,但是中间要用到SPI速度切换,涉及分频,一直没搞懂,龙芯文档也没看明白,也没调试好,只好先提交了。
调试的结果如下,从log看,SD卡初始化成功了,但是读取的容量也不对,目录读取也失败了。


最后想说,龙芯2K的板子资源丰富,常见的外设都有,性能强悍,主频1G。。。。。当然发热也很大,烫手的那种,确实功耗很大,我用5v/2a的电源供电,有时候电源都顶不住,板子起不来!一旦板子起来之后,电源也很烫,可见这功耗不一般。。。

最后特别感谢RTT的工程师和坛友帮助,一步步玩起来龙芯板子,希望以后可以在各位大佬的帮助下,继续玩转龙芯板子的其他外设,比如音频,视频,图片解码显示,摄像头,网卡等好多好玩的东西!!!





使用特权

评论回复

相关帖子

沙发
muxb|  楼主 | 2020-7-15 23:00 | 只看该作者
源码如下:
drivers.zip (16.3 KB)

elf文件:
rtthread.zip (129.86 KB)

使用特权

评论回复
板凳
muxb|  楼主 | 2020-7-16 20:50 | 只看该作者
按照格式要求提交文档:
RT-Thread应用创新设计大赛.pdf (133.72 KB)

使用特权

评论回复
地板
zeshoufx| | 2020-7-17 09:18 | 只看该作者
谢谢分享【龙芯LS2K的SPI驱动】

使用特权

评论回复
5
muxb|  楼主 | 2020-7-17 20:50 | 只看该作者


device id : 1F 24 00 的含义如下:


测试视频:
测试视频.zip (8.43 MB)

使用特权

评论回复
6
muxb|  楼主 | 2020-7-20 15:01 | 只看该作者
测试视频补充说明:
视频演示的是SPI驱动测试,驱动用的是RTT SPI驱动框架,在RTT msh 里面发送测试命令,读取SPI Flash device ID,读到是数据 1F 24 00 与flash数据的描述一致,说明数据读取正确,SPI 驱动测试通过。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

593

帖子

7

粉丝