| 
 
| 回复chineser 请看附件的例子:
 由于上传附件大小的限制,我去掉了其中Firware Library的部分,使用的时候注意加上。
 
 
 所有堆栈都放在外部SRAM,同时开辟了一个500K的数组,在对其进行读写的同时,刷新LCD的显示
 在STM3210E-EVAL,IAR EWARM 5.20上测试通过。
 
 在STM3210E-EVAL上使用外部SRAM和LCD是不会引起冲突的。
 
 
 回复tsx1983和其他关心这个问题的网友
 
 使用um0549,也就是板子自带的Demo程序,同时将堆栈放在外部SRAM的确是有问题的。
 
 原因是在Demo程序的某个地方,考虑到I2S应用的冲突,关闭的FSMC的时钟,这样就导致访问外部SRAM出错。
 
 如果要在堆栈放在外部SRAM的情况下,运行该Demo,是需要作修改的。
 
 
 另一个需要注意的地方是,在文件stm32f10x_vector.c中,
 需要去掉#define DATA_IN_ExtSRAM的注释。
 这样,在初始化的时候,会执行对FSMC使用外部SRAM进行配置的代码。
 
 在应用程序的其他地方,也需要注意不要扰乱FSMC这部分的配置。
 相关链接:https://bbs.21ic.com/upfiles/img/200712/2007121612912541.zip
 | 
 |