在4月份时应用TI的mcbsp spi flash例程进行了spi flash的编程应用。例程可以进入中断证明Mcbsp数据可以发送与接收,但是否能够发送正确或接收正确还需要继续调试。
由于以前已有与SPI Flash编程的程序,采用非edma方式的程序,所以对于mcbsp的配置是相同的。对照原来的程序修改了mcbsp的配置。
DSP作为SPI master提供片选信号与时钟信号,无论对Flash的读或写操作都是从DSP发送数据,即DSP往Flash中写数据,产生持续的片选与时钟信号,这样Flash中的数据才能返回到DSP中。
首先调试是读取SPI Flash的ID,因为读ID返回的值非0x00或非0xFF,而且为固定值,所以很多时候都是先读取ID先调试。
读取ID比较简单,读ID一个字节指令,返回ID信息3个字节,所以读ID总共需发送4个字节数据。在接收数据存储区中,后3个字节数据即为ID信息。
ID信息读取成功,基本可以证明硬件连接没有问题。读取ID其实也包含了写入的操作。所以后面出现其它操作问题,可以不用怀疑硬件问题。
发表于2016-05-31 at 15:42 沙发
你好,想请教一下关于spi flash的问题。我用的是N25Q128 nor flash,用c6678去读取ID。但是得到的ID一直是0x00. 我测试了N25Q128管教的波形都没有问题,请问下有什么办法可以解决吗?
发表于2016-06-11 at 22:26
一般从SPI数据返回的前面几个数字都是无效的,对应于写入的操作指令。