STM32数组越界问题

来源:互联网 发布:xp 保存网络用户密码 编辑:程序博客网 时间:2024/05/21 06:26

前段时间在写STM32程序时,发现定义的局部变量会发生莫名其妙的数组越界,改变其定义顺序问题竟然得到解决,怀疑是堆栈空间没有分配够,于是决定追根溯源,查到一些资料,将startup_stm32f10x_hd.s中的栈空间改大即可:

Stack_Size      EQU     0x00000400;栈空间大小;                AREA    STACK, NOINIT, READWRITE, ALIGN=3Stack_Mem       SPACE   Stack_Size__initial_sp                                                  ; <h> Heap Configuration;   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>; </h>Heap_Size       EQU     0x00000200<span style="font-family: Arial, Helvetica, sans-serif;">;堆空间大小;</span>                AREA    HEAP, NOINIT, READWRITE, ALIGN=3__heap_baseHeap_Mem        SPACE   Heap_Size__heap_limit

另:如果仍然不行,可修改Keill MDK中的代码优化等级,优化为设置为最低:


0 0
原创粉丝点击