TMS320C6678 SPI模块拥有SPISCS0、SPISCS1、SPICLK、SPIDIN、SPIDOUT5个管脚,其中SPISCS0、SPISCS1为片选管脚,SPICLK为SPI提供时钟,SPIDIN是数据接受管脚,SPIDOUT为数据传送管脚。选用芯片N25Q128A11ESF40G,将管脚连接好就可以。参考官方设计板就可以。tms320c6678
多核DSP为了简化BOOT流程,在内部集成了一段ROM,大小为128KB,存储RBL指令代码。RBL将外部主机或者flash存储器中的程序搬移到内存之中。我们选择用SPI挂载16MB的NOR Flash。该flash大小合适,接线简单。将配置DSP BOOT方式的管脚GPIO[0..15]连接到FPGA。这样在DSP正常启动之后,GPIO还可以作为DSP和FPGA的通信桥梁。

BOOT采用SPI FLASH,其中DSP BOOTMODE[2:0]选择boot器件,选择SPI,即DSP BOOTMODE[2:0]=6;N25Q128 FLASH 为24为地址的flash,因此DSP_BOOTMODE[9] = 1。
调试程序选择K1_STK_v1.1提供的开源代码,K1_STK_v1.1中对SPI的测试代码为SPI工程。只测试SPI FLASH将前边的测试选项改成如下:
注意:在最开始调试SPI FLASH的时候,我也是一直调不通,根本没有办法从FLASH中读取数据。一直到不到原因,重新购买的芯片也不行。后来直接换了一款芯片N25Q128A11ESF40G,以前用的是官方板上的芯片,然后就好用了。tms320c6678个人认为原因是N25Q128A21BSF40F这款芯片已经停产了,市面上的都有问题。所以一定要选没停产的芯片,价还便宜。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-28863-1.html
靠上市变成亿万富翁多得去了