Board logo

标题: 关于调试STM32进入HardFault_Handler的问题 [打印本页]

作者: yuyang911220    时间: 2015-3-28 10:05     标题: 关于调试STM32进入HardFault_Handler的问题

最近调试UCGUI和UCOSII,程序莫名其妙的死掉了,用JLINK调试,发现进入了HardFault_Handler,主要原因有两个,堆栈溢出和数组越界,很不幸的是这两种情况都被我碰到了。   第一次是用UCGUI在一个button上显示文字,发现字符串显示不全,只显示第一个字符,在启动文件startup_stm32f10x_md.s中修改“Stack_Size     EQU   0x00000200”,将堆栈改大点,改为“Stack_Size EQU    0x00000400”后显示正常。
   第二次是UCGUI和UCOSII联合调试时,也进入了HardFault_Handler,这次原因是数组越界,在一个函数中定义了一个数组ya[10],定义了一个计数变量count,由于没有初始化count,导致count的值一开始就大于数组边界,导致数组越界,初始化count=0后,程序正常。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0