F7双区SPI FLASH操作 + 内存映射 + 轻松72MByte/s.

2019-07-20 15:54发布

Flash是两片S25FL064K.
主板是STM32F767 Nucleo.

实际上杜邦线只要有耐心,一样上72MHz(可以选用108M的达到最快速度,但是一般都是104M的Flash,所以这个应该是很快了.)

微信图片_20170320230548.jpg
调试经验重点几点:

1)要注意双区时候各种传输数据都翻倍.
2)地址长度也是要加的.
3)只能两片一样的芯片.
4)QSPI的IO比较固定,可以映射到储存空间.
5)调试时候可以选不优化,保证随时可以断点,否则可能会不能断点.

读取到的ID是EF 40 17,两片都是.
微信截图_20170320231024.png

第一条是单线方式读取,第二条没S后缀的是4线方式读取,4线方式不好抗干扰,单线抗干扰强但是速度慢,经过反复测试后(调整杜邦线的连接方法),也可以QSPI读取,如图读取OK.

微信截图_20170320231126.png

映射后可以在映射空间看到数据,可以单线可以多线.

微信截图_20170320231455.png

因为现在2CLK可以取2Byte,所以就是多少MHz就是多少MByte/s了.也就是轻松72MByte/s.还可以更高.



最后我试了一下超频到108MHz的QSPI(分频系数1),那时候SPI Flash是不能写的,但是读取依然没障碍,在分频为0时候HardFault,这么说都可以到108MHz了.


最后附上工程和吐槽,吐槽一下W25Q64和S25FL064K竟然不兼容.

http://www.lijingquan.net/2017/0 ... %E9%98%B4%E8%B0%8B/

QSPI.zip (5.13 MB, 下载次数: 962) 2017-3-20 23:18 上传 点击文件名下载附件




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。