
[NUCLEO-L476RG开发]QSPI 之二 利用25QXX 实现经济型外扩FLASH....... QUADSPI 内存映射模式 在配置为内存映射模式时,外部 SPI 器件被视为是内部存储器。 QUADSPI 外设若没有正确配置并使能,禁止访问 QUADSPI Flash 的存储区域。 即使 Flash 容量更大,寻址空间也无法超过 256MB。 如果访问的地址超出 FSIZE 定义的范围但仍在 256MB 范围内,则生成 AHB 错误。此错误 的影响具体取决于尝试进行访问的 AHB 主设备: 如果为 Cortex ® CPU,则生成硬性故障 (Hard fault) 中断 如果为 DMA,则生成 DMA 传输错误,并自动禁用相应的 DMA 通道。 支持字节、半字和字访问类型。 ![]() 开启了映射之后外部FLASH 可以像内部FLASH 一个使用,由上图可以看出外部FLASH 的地址是从0X90000000 开始的. 知道了地址后就开始建程序.工程还是以QSPI 之一那个工程,在工程的基础上增加了串口中断接收数据以完成引导升级程序 ![]() 1.这是串口的中断接收数据. ![]() 2.这是升级程序的代码很简单.看注释都能明白了. ![]() 3.这是APP 程序的代码,自已新建一个APP的工程行了这里就不重复建工程了. 如果APP 执行成功就会在串口输出上面的信息. ![]() 4.这一步很重要,APP 的ROM 开始地址和ROM 的大小,外扩的FLASH 的开始地址是从0X90000000 ROM 的大小就根据你的FLASH ROM 大小来这了.我这里就不更改了采用默认的1MB 了.设置好之后就编绎,再把编绎好的程序转成*.BIN 程序升级就可以了. ![]() 5. 把编绎好的BIN 程序升级,可以看到上面的执行结果. 引导程序和APP 程序源码放到附件里了.有需要的就下载.文章写的有点乱喷喷更健康. 哪里不懂的就跟贴共同探讨共同进步. |
SDIO 理论上可以更快,但那需要主控和卡都支持 1.8V DDR 模式。
这可是新外设,速度可达80M 4线读写,理论速度可以到40MB 一秒,比SDIO 的速度还要快
谢谢啦,等借块板子试试