最近由于项目需要支持512KB以上的RAM,所以尝试使用外扩SRAM的方式,参考官方例程,只是片选由NE2换成了NE3。外部SRAM 地址0x68000000
问题出现了,
1、设置一个超大全局变量数组buffer[512000],读写没问题,但是全局int a,却不能赋值,而且一直都是乱的数据。
2、而且更奇怪的是当全局数组buffer[NUM],NUM>102400后 ST官方库函数UART的收发都有问了。
3、函数中的局部变量仍在使用片内SRAM,地址为0x2000000。
4、如果要在FSMC上使用大容量NAND FLASH 32Gbit的,该FLASH有4个CE管脚,可以直接用IO管脚模拟片选吗?会跟片外SRAM冲突吗?片外SRAM也是使用FSMC,只是SRAM是bank1,NAND是bank3,不理解的是为什么NAND也有什么地址映射?
每天跟新一点吧,在网上看了很多,貌似大家对外扩SRAM的使用都或多或少有些问题,调试好了开贴讲解。使用的是STM32F407,片外SRAM 16Mbit。
|