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

[复制链接]
 楼主| 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 | 显示全部楼层
源码如下:


elf文件:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| muxb 发表于 2020-7-16 20:50 | 显示全部楼层
按照格式要求提交文档:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
zeshoufx 发表于 2020-7-17 09:18 | 显示全部楼层
谢谢分享【龙芯LS2K的SPI驱动】
 楼主| muxb 发表于 2020-7-17 20:50 | 显示全部楼层


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


测试视频:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| muxb 发表于 2020-7-20 15:01 | 显示全部楼层
测试视频补充说明:
视频演示的是SPI驱动测试,驱动用的是RTT SPI驱动框架,在RTT msh 里面发送测试命令,读取SPI Flash device ID,读到是数据 1F 24 00 与flash数据的描述一致,说明数据读取正确,SPI 驱动测试通过。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

599

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部