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

2019-07-21 01:58发布

 
#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 试了很多优化的方法,就是改编译窗口设置。
请问有什么方法?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
tan0327
1楼-- · 2019-07-22 01:36
 精彩回答 2  元偷偷看……
tan0327
2楼-- · 2019-07-22 02:48
回复【6楼】正点原子:
---------------------------------
双击Target 出来的不是各种下载配置界面么?
tan0327
3楼-- · 2019-07-22 03:26
回复【6楼】正点原子:
---------------------------------
如果我把那个num设置成400,程序编译的时候是不出错的。但就是下载进去之后,板子没动静。
tan0327
4楼-- · 2019-07-22 07:15
回复【5楼】Llinuxu:
---------------------------------
你说的会不会是这个情况?..OBJTEST.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...
"..OBJTEST.axf" - 0 Error(s), 0 Warning(s).

虽然编译没错误,但执行出错,没反应。你说的也是这个情况?
Llinuxu
5楼-- · 2019-07-22 09:42
 精彩回答 2  元偷偷看……
tan0327
6楼-- · 2019-07-22 10:58
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


还是没用。。。继续求教

一周热门 更多>