srkp.net
当前位置:首页 >> stm32 如何查看堆栈是否溢出 >>

stm32 如何查看堆栈是否溢出

堆栈溢出时程序会跳到一个异常中断里,具体名字我忘了,这时候你把堆栈重新合理分配下,就OK了。

每个任务创建前都要提前定义一个这个任务的堆栈区,大小是你自己定义的,OSTaskCreate函数调用后

STM32F10x.s里面,;//Stack_Size 和 Heap_Size设置堆栈大小 Stack_Size EQU 0x00000200 AREA STACK, NOINIT, READWRITE, ALIGN=3 Stack_Mem SPACE Stack_Size __initial_sp ;// Heap Configuration ;// Heap Size (in Bytes) ;// Heap_Size EQU ...

我用的是IAR 5.11 + OpenOCD调试 下载程序时,OpenOCD收到了"m7FFFF00,80"命令,是要从0x07FFFF00读取128直接,由于该地址没有数据,所以JTAG操作出错 另外,你的项目中是否少了几个文件啊?cortexm3_macro.s和stm32f10x_vector.c去那里了? stm...

在你的工程文件夹的.map文件里查找__initial_sp 所对应的就是堆栈的起始地址 这是编译器自动分配的 从startup_stm32f4xx.s里可以看到堆栈的大小 一般栈为1024Byte 堆为512Byte

下个最新的版本,比如我使用的版本: IDE-Version: μVision V5.11.1.0 Copyright (C) 2014 ARM Ltd and ARM Germany GmbH. All rights reserved. Tool Version Numbers: Toolchain: MDK-ARM Standard Version: 5.11.0.0 Toolchain Path: C:\Keil...

下个最新的版本,比如我使用的版本: IDE-Version: μVision V5.11.1.0 Copyright (C) 2014 ARM Ltd and ARM Germany GmbH. All rights reserved. Tool Version Numbers: Toolchain: MDK-ARM Standard Version: 5.11.0.0 Toolchain Path: C:\Keil...

STM32F10x.s里面,;//Stack_Size 和 Heap_Size设置堆栈大小 Stack_Size EQU 0x00000200 AREA STACK, NOINIT, READWRITE, ALIGN=3 Stack_Mem SPACE Stack_Size __initial_sp ;// Heap Configuration ;// Heap Size (in Bytes) ;// Heap_Size EQU ...

下个最新的版本,比如我使用的版本: IDE-Version: μVision V5.11.1.0 Copyright (C) 2014 ARM Ltd and ARM Germany GmbH. All rights reserved. Tool Version Numbers: Toolchain: MDK-ARM Standard Version: 5.11.0.0 Toolchain Path: C:\Keil...

本帖最后由 haibao211 于 2012-2-13 10:07 编辑 DATA_IN_ExtSRAM EQU 0 ; Stack_Size EQU 0x00000400 ; AREA STACK, NOINIT, READWRITE, ALIGN = 3 ; Stack_Mem SPACE Stack_Size ; __initial_sp ; Heap_Size EQU 0x00000400 ; AREA HEAP,...

网站首页 | 网站地图
All rights reserved Powered by www.srkp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com