|
之前已经有L476 F7 QSPI扩展RAM,内存映射后只读不能写,当然有他的用处,不过不能写就很麻烦了,程序是动态的,数据会变化,不能写的内存映射即便芯片是RAM类型,也只能当FLash用,还贵。因此我探索了一番OCTO SPI 接口 驱动 四线SPI psRAM。 # L4R5扩展板外扩串行SPI RAM ## L4R5 OSPI特点 * 内存映射 * 可以直接读写(与操作内部RAM无异) * 引脚少,本例6个脚 * 速度问题有待测试 >>> 可用于LCD显示缓存,操作系统heap ## 软件环境 * STM32CubIDE 1.4 * STM32CubeMX 6.0 ## 硬件环境 * Nucleo L4R5 * 本人自制扩展板 带8MB psRAM
## 主程序代码 psRAM_Reset(); if( psRAM_ReadID() != 0x0D ) { Error_Handler(); } psRAM_Read(r_buf, 0, 4); psRAM_Write( (uint8_t *)"ABCD", 0, 4); psRAM_Read(r_buf, 0, 4); EnableMemMapped(); uint8_t *p = (uint8_t *)0x70000000; // memset(p, 0, 8*1024*1024); for(uint32_t i=0; i<8*1024*1024;i++) { *p = (uint8_t)i; p++; } ## 结果
* 最后有一部分内存出现了问题,后续测试速度,稳定性 |
| OSPI 扩展一个psRAM,一个nor Flash,就有了8M外部RAM,32M外部Flash(W25Q128)。nuc L4R5 OSPI 速度上最快86MHZ. |
| 支持一下 |
|
厉害了厉害了 |
| 厉害了 |
微信公众号
手机版