OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 21761|回复: 15

怎么定义一个很大的数组呢?

[复制链接]

43

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2012-9-25
在线时间
4 小时
发表于 2012-12-25 09:54:02 | 显示全部楼层 |阅读模式

uint16_t  buffer_data[3000] ,buffer_data1[3000],buffer_data2[3000];

GPIO.axf: Error: L6200E: Symbol buffer_data multiply defined (by stm32l1xx_it.o and main.o).
GPIO.axf: Error: L6200E: Symbol buffer_data1 multiply defined (by stm32l1xx_it.o and main.o).
GPIO.axf: Error: L6200E: Symbol buffer_data2 multiply defined (by stm32l1xx_it.o and main.o).
GPIO.axf: Error: L6200E: Symbol flag multiply defined (by stm32l1xx_it.o and main.o).
GPIO.axf: Error: L6200E: Symbol flag2 multiply defined (by stm32l1xx_it.o and main.o).
Target not created     怎么定义一个很大的数组呢?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2201
金钱
2201
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-12-25 11:03:20 | 显示全部楼层
楼主试试 stm32l1xx_it.c 和 main.c 里面都写上 int a; 看看错误是什么 ?

搞清楚 extern, static 和全局变量的关系
https://github.com/roxma
回复 支持 1 反对 0

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2012-12-25 10:25:26 | 显示全部楼层
动态分配。
回复 支持 反对

使用道具 举报

43

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2012-9-25
在线时间
4 小时
 楼主| 发表于 2012-12-25 10:26:33 | 显示全部楼层
回复【2楼】ofourme:
---------------------------------
什么意思
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-25 11:29:45 | 显示全部楼层
回复【楼主位】369000753:
---------------------------------
你这是重复定义了!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

43

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2012-9-25
在线时间
4 小时
 楼主| 发表于 2012-12-25 11:35:51 | 显示全部楼层
回复【4楼】Pony279:
---------------------------------
GPIO.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.bss).
GPIO.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.bss).
GPIO.axf: Error: L6407E: Sections of aggregate size 0x2ee0 bytes could not fit into .ANY selector(s).
Target not created
回复 支持 反对

使用道具 举报

43

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2012-9-25
在线时间
4 小时
 楼主| 发表于 2012-12-25 11:35:59 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
GPIO.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.bss).
GPIO.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.bss).
GPIO.axf: Error: L6407E: Sections of aggregate size 0x2ee0 bytes could not fit into .ANY selector(s).
Target not created
回复 支持 反对

使用道具 举报

43

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2012-9-25
在线时间
4 小时
 楼主| 发表于 2012-12-25 11:36:10 | 显示全部楼层
刚才发错了 
回复 支持 反对

使用道具 举报

96

主题

762

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1228
金钱
1228
注册时间
2012-10-19
在线时间
15 小时
发表于 2012-12-25 16:33:36 | 显示全部楼层
大的数组没问题吧,图片的那么大都可以,你这个意思是没空间?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-25 17:06:00 | 显示全部楼层
什么型号 的芯片?
内存不够用了,估计.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

47

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
264
金钱
264
注册时间
2012-11-29
在线时间
5 小时
发表于 2012-12-26 00:15:26 | 显示全部楼层
内存溢出了
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2016-4-3
在线时间
18 小时
发表于 2017-1-5 14:15:33 | 显示全部楼层
楼主是怎么处理的,最近我码代码,需要用到比较大的数组,也是显示No space in execution regions with .ANY selector matching main.o现在不知道怎么处理,也没有办法进行下去了。
回复 支持 反对

使用道具 举报

16

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
305
金钱
305
注册时间
2017-1-7
在线时间
107 小时
发表于 2017-1-7 10:56:09 | 显示全部楼层
同,在keil4里面,定义大于2048的数组,仿真的时候在watch里面看数组, 大于2048后面的元素都被truncated 裁剪掉了,那到底能不能 下标大于2048而能操作数组呢?
回复 支持 反对

使用道具 举报

12

主题

73

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2017-5-2
在线时间
45 小时
发表于 2017-12-7 11:56:00 | 显示全部楼层
Marvelous 发表于 2017-1-7 10:56
同,在keil4里面,定义大于2048的数组,仿真的时候在watch里面看数组, 大于2048后面的元素都被truncated  ...

你好,我也遇到相同问题,请问你是怎么解决的呢?
回复 支持 反对

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2017-12-7 14:19:15 | 显示全部楼层
ylsljp 发表于 2017-12-7 11:56
你好,我也遇到相同问题,请问你是怎么解决的呢?

原子的bootloader程序,接收数据的大数组直接就开了55k个字节。只要不超过RAM总大小就没问题啊。
自在随心
回复 支持 反对

使用道具 举报

12

主题

73

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2017-5-2
在线时间
45 小时
发表于 2018-2-2 14:35:32 | 显示全部楼层
yuzeyuan1 发表于 2017-12-7 14:19
原子的bootloader程序,接收数据的大数组直接就开了55k个字节。只要不超过RAM总大小就没问题啊。

static char *ram_html_buff =  (char *)0x2000E000;
把ram_html_buff 当数组用
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 21:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表