先看一下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的工程师和坛友帮助,一步步玩起来龙芯板子,希望以后可以在各位大佬的帮助下,继续玩转龙芯板子的其他外设,比如音频,视频,图片解码显示,摄像头,网卡等好多好玩的东西!!!
|