本帖最后由 chuangong 于 2015-12-26 10:33 编辑
如何将变量定义到外部RAM
正点原子探索者的STM32F407开发板,配置有1M的外部SRAM
本想基于例程的ucos+LWIP实验“网络实验8 NETCONN_TCP 客户端.rar”,加上老项目任务就OK,但多次编译编译失败;
查找问题:居然是ucos+LWIP例程中用来外部RAM和内存管理,使原本很充裕的192k的ram(老项目用一半不到),一下所
剩无几,稍加变量就编译出错。
做了个实验,定义一个全局变量test[6000]就能编译OK,test[7000]就出错.
由于旧工程都是采用这种定义方式,而且很多不同类型的变量,
该怎么实现将这些变量定义到外部ram里面,简化移植难度呢?谢谢各位!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
这似乎和开发平台有关。我只知道IAR平台的方法。
下面一串X表示地址,指向外部区域;a表示把该数组定位到X表示的地址。#pragma和location是关键字。
#pragma location = 0xXXXXXXXX
u32 a[ 1000 ];
这些在平台的帮助手册可以查到。
一周热门 更多>