久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 關于調試STM32進入HardFault_Handler的問題

關于調試STM32進入HardFault_Handler的問題

作者: 時間:2016-11-24 來源:網絡 收藏
最近調試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后,程序正常。


關鍵詞: STM32HardFaultHandle

評論


技術專區

關閉