OpenEdv-开源电子网

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

定义的buffer_size ,只能300左右,400就错。哪里问题?看正文。谢谢

[复制链接]

16

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2013-7-25
在线时间
1 小时
发表于 2015-8-17 21:22:21 | 显示全部楼层 |阅读模式
5金钱
 
#define ADC1_DR_Address    ((uint32_t)0x4001204C)
#define num 300
#define ADC_READ_TIMES 20
__IO uint16_t AD_Value[3]={0,0,0};
uint16_t ADC1_ConvertedValue_1[num];
........
 这个num在我大工程里只能300左右,设置成400就出错。如果是单独的DMA ADC采样,num可以随便设置,哪里出问题了?

Program Size: Code=190180 RO-data=106268 RW-data=2576 ZI-data=1238104 
 内存的话,没超啊

用的是STM32F407
试了很多优化的方法,就是改编译窗口设置。
请问有什么方法?

最佳答案

查看完整内容[请看2#楼]

 回复【8楼】 tan0327 : --------------------------------- 不是,双击:Target1,就出来了.map
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-8-17 21:22:22 | 显示全部楼层
 回复【8楼】 tan0327 :
---------------------------------
不是,双击:Target1,就出来了.map

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

16

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2013-7-25
在线时间
1 小时
 楼主| 发表于 2015-8-17 21:25:55 | 显示全部楼层
.map 文件在哪里啊?我怎么找不到?
 我想看看各代码占用内存是多大?
回复

使用道具 举报

2

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2014-4-28
在线时间
5 小时
发表于 2015-8-17 21:59:20 | 显示全部楼层
很明显又是空间问题,我没接触过stm32f4,但在stm32f103中,很多新手都可能出这个问题,在103的启动代码中,有个设置栈空间大小的,这个芯片我就不知道了,但我断定肯定是这个问题
回复

使用道具 举报

16

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2013-7-25
在线时间
1 小时
 楼主| 发表于 2015-8-17 22:04:02 | 显示全部楼层
回复【3楼】Llinuxu:
---------------------------------哪里设置的啊?
回复

使用道具 举报

2

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2014-4-28
在线时间
5 小时
发表于 2015-8-17 22:05:15 | 显示全部楼层
我没用过stm32f4系列,我只知道103的,在启动代码中
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-8-17 22:18:28 | 显示全部楼层
回复【2楼】tan0327:
---------------------------------
双击target,就会自动打开.map
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

16

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2013-7-25
在线时间
1 小时
 楼主| 发表于 2015-8-17 22:24:05 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
哪里设置启动代码的空间?你看我最上面那个问题。这个在启动代码里设置就可以了么?
回复

使用道具 举报

16

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2013-7-25
在线时间
1 小时
 楼主| 发表于 2015-8-17 22:25:19 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
双击Target 出来的不是各种下载配置界面么?
回复

使用道具 举报

16

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2013-7-25
在线时间
1 小时
 楼主| 发表于 2015-8-17 22:31:22 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
如果我把那个num设置成400,程序编译的时候是不出错的。但就是下载进去之后,板子没动静。
回复

使用道具 举报

16

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2013-7-25
在线时间
1 小时
 楼主| 发表于 2015-8-17 22:34:30 | 显示全部楼层
回复【5楼】Llinuxu:
---------------------------------
你说的会不会是这个情况?..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching gt9147.o(.data).
之前有这个情况,但是我把Target 里面的那个RAM改大了之后,程序编译时没有错误的。
Program Size: Code=190188 RO-data=106268 RW-data=2576 ZI-data=1238296  
FromELF: creating hex file...
"..\OBJ\TEST.axf" - 0 Error(s), 0 Warning(s).

虽然编译没错误,但执行出错,没反应。你说的也是这个情况?
回复

使用道具 举报

2

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2014-4-28
在线时间
5 小时
发表于 2015-8-17 22:38:15 | 显示全部楼层
不是的,我说的是你运行的时候会出现硬件错误!你可以打断点看看
回复

使用道具 举报

16

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2013-7-25
在线时间
1 小时
 楼主| 发表于 2015-8-17 22:38:30 | 显示全部楼层
Stack_Size      EQU     0x00000800 //我把这个由400改成800了

                AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size
__initial_sp


; <h> Heap Configuration
;   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>

Heap_Size       EQU     0x00000000 ;??????????MDK×?????malloc??free????,?ù???è????????0.

                AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem        SPACE   Heap_Size


还是没用。。。继续求教
回复

使用道具 举报

16

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2013-7-25
在线时间
1 小时
 楼主| 发表于 2015-8-17 23:34:18 | 显示全部楼层
回复【13楼】正点原子:
---------------------------------
那对于那个num值的设定,堆栈大小的问题么?
回复

使用道具 举报

16

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2013-7-25
在线时间
1 小时
 楼主| 发表于 2015-8-17 23:36:39 | 显示全部楼层
回复【11楼】Llinuxu:
---------------------------------
我在启动文件里,改了堆栈大小,由400改成800,还是错误。硬件调试,我看不出来问题。
回复

使用道具 举报

3

主题

400

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1750
金钱
1750
注册时间
2015-6-11
在线时间
309 小时
发表于 2015-8-18 16:09:27 | 显示全部楼层
 rogram Size: Code=190180 RO-data=106268 RW-data=2576 ZI-data=1238104
 这个ZI-Data+RW-data占用的RAM空间,单位字节,你看相当于1.18M的SRAM, f400的RAM应该没那么大
 你看是不是你代码没有优化:
 


红色部分看看是不是Level 3, 不是改成3在编译下
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 03:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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