用SPI的DMA模式进行外部FLASH存储访问;
1、移植官方的例程后发现传输100字节的数据可以正常传输,但是传输10字节的数据时,程序就会卡在等待传输完成标志处。 鉴于这种情况,起初以为是SPI的DMA模式不能传输短字节长度的数据;
2、后经测试发现只要是4的倍数字节的数据都能正常传输,否则就会失败;
3、于是怀疑是有哪个寄存器需要配置传输字节对齐,但最后查数据手册才发现“SPI的DMA模式只能支持4字节整数倍的收发操作”。
因此,后面的读写操作都进行了4字节对齐操作后再启动读写就能正常了。
|