打印
[STM32F1]

关于数组长度

[复制链接]
2068|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huanghuac|  楼主 | 2018-8-29 18:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ST, IO, TE, TI, se
最近在用STM32做一个东西(MDK)),需要用到3个很长的数组。 结果发现编译不过去,应该还是设置的问题
#define  lenth  4800
unsigned int ss1[lenth];


.\Obj\test plc.axf: Error: L6406E: No space in execution regions with .ANY selector matching stm32f10x_vector.o(STACK).
.\Obj\test plc.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.data).
.\Obj\test plc.axf: Error: L6407E: Sections of aggregate size 0x478 bytes could not fit into .ANY selector(s).

   请教大家需要修改那里
沙发
gongche| | 2018-8-29 18:35 | 只看该作者
这个是局部变量吗?

使用特权

评论回复
板凳
jlyuan| | 2018-8-29 18:37 | 只看该作者
如果是局部变量,在启动文件里修改下Stack的大小,栈容量分配小了

使用特权

评论回复
地板
gongche| | 2018-8-29 18:38 | 只看该作者
你用的哪个型号?
int[4800]可就有19200字节了,如果3个数组就接近57k的RAM,超出部分型号的RAM上限了,你当单片机是电脑啊,这么挥霍

使用特权

评论回复
5
huahuagg| | 2018-8-29 19:21 | 只看该作者
嵌入式设备拥有的资源往往有限,如果一个程序编译、链接之后的可执行文件大小略大于存储大小时,则不能生成可执行文件进行调试或固化到Flash中。

使用特权

评论回复
6
huahuagg| | 2018-8-29 19:21 | 只看该作者
在这种情况下我们一般不去从硬件上调整存储空间的大小(有些存储空间在片内,实在无法调整),而是去修改程序,试图将程序简化、将缓存减小、减少全局变量、少用大数组多用指针等等人工方法,有些时候这些方法很有效。

使用特权

评论回复
7
huanghuac|  楼主 | 2018-8-30 08:29 | 只看该作者
多谢二位的回复,我用的是STM32F103RBT6,现在的问题是我只定义了一个4800的unsigned int 数组就编译不过去了

使用特权

评论回复
8
happy_10| | 2018-8-30 08:31 | 只看该作者
RB也就20K RAM,20K = 20480,减去 19200 等于 1280,还有堆还有栈,你让编译器给你放哪去??最基本的数学题啊

使用特权

评论回复
9
zhaoxqi| | 2018-8-30 08:32 | 只看该作者
一个网络包才1.5K  你为何需要3个4800...

使用特权

评论回复
10
happy_10| | 2018-8-30 08:34 | 只看该作者
容量超出了

使用特权

评论回复
11
huanghuac|  楼主 | 2018-8-30 08:36 | 只看该作者

结贴了,多谢大家讨论这么多哈,呵呵

使用特权

评论回复
12
Lewisnx| | 2018-8-30 10:52 | 只看该作者
简化程序、减小缓存、减少全局变量

使用特权

评论回复
13
heimaojingzhang| | 2018-9-3 11:14 | 只看该作者
太长了 可以考虑二维数组

使用特权

评论回复
14
木木guainv| | 2018-9-4 11:09 | 只看该作者
看你定义在哪里了

使用特权

评论回复
15
Diyer2015| | 2018-9-4 14:35 | 只看该作者
感觉 太大了 数据!

使用特权

评论回复
16
Diyer2015| | 2018-9-4 14:35 | 只看该作者
感觉 太大了 数据!

使用特权

评论回复
17
Diyer2015| | 2018-9-4 14:37 | 只看该作者
或者外部加SDRAM 就可以完美解决这个问题了!

使用特权

评论回复
18
Diyer2015| | 2018-9-4 14:38 | 只看该作者
外扩内存!

使用特权

评论回复
19
xuanhuanzi| | 2018-9-4 19:56 | 只看该作者
确实太长了,没有规划好空间。

使用特权

评论回复
20
aizaixiyuanqian| | 2018-9-4 20:11 | 只看该作者
可以算下容量,单片机容量有限啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

772

主题

8473

帖子

6

粉丝