最近在学习一些gui方面的操作,并且是要跑os的;突然就发现自己的硬件平台的内部SRAM资源不够用了(硬件平台:战舰V2,stm32f103ze、外扩SRAM:1M);怎么破,那只能把外部的SRAM给用起来,不用就是浪费啊,要知道SRAM可是不便宜啊; 然后就开始借鉴了配套例程:外部SRAM的使用;通过fsmc来控制实现,外部sram可以正常使用了,但是我想尝试下其他的方法来使用外部的SRAM: 1、 不使用attribute关键字来实现变量等在外部的分配,让编译器自己来完全支配,这样我们就不用计算我们指定的地址是否会重合等问题; 2、 让内部的64K SRAM、外部的1M SRAM都能用,而且让编译器自己处理使用; 3、 完全不使用内部的SRAM,只使用外部的SRAM 上网上查阅一些资料后,发现这个需要在2010年就有了,而且当时网友遇到的问题,我在实验中也遇到了,关键是前面的帖子,也没有很明确或是清晰的给出解释,有的帖子给的方法是可以实现要求的,但是没有说为什么这样可以,所以我自己一边实验一边验证,下面把自己遇到的问题和现象做一个记录: (1) 实验前提,例程采用配套例程的:37外部SRAM实验;外部SRAM的初始化使用system_stm32f10x.c官方提供的fsmc初始化;
我的文档是用office整理的,里面每一步都有解释和配图,但是这里上传比较麻烦,我就不传了,这里写个开头算了,详细内容见附件吧!
|