需要驱动的SRAM型号为IS61LV25616AL,性价比比51216的高很多
- 配置Cubemx
这几个时序比较关键,可以按照手册来计算,我用下来这几个数值比较合适。 - 然后就没有然后了,生成代码就可以用了。。。
- 检查SRAM内容是否正确
uint8_t bsp_TestExtSRAM(void)
{
uint32_t i;
uint32_t *pSRAM;
uint8_t *pBytes;
uint32_t err;
const uint8_t ByteBuf[4] = {0x55, 0xA5, 0x5A, 0xAA};
/* 写SRAM */
pSRAM = (uint32_t *)EXT_SRAM_ADDR;
for (i = 0; i < EXT_SRAM_SIZE / 4; i++)
{
*pSRAM++ = i;
}
/* 读SRAM */
err = 0;
pSRAM = (uint32_t *)EXT_SRAM_ADDR;
for (i = 0; i < EXT_SRAM_SIZE / 4; i++)
{
if (*pSRAM++ != i)
{
err++;
}
}
printf("SDRAM check round 1 error = %d\n", err);
if (err > 0)
{
return (4 * err);
}
#if 1
/* 对SRAM 的数据求反并写入 */
pSRAM = (uint32_t *)EXT_SRAM_ADDR;
for (i = 0; i <