新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 關(guān)于調(diào)試STM32進入HardFault_Handler的問題

        關(guān)于調(diào)試STM32進入HardFault_Handler的問題

        作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
        最近調(diào)試UCGUI和UCOSII,程序莫名其妙的死掉了,用JLINK調(diào)試,發(fā)現(xiàn)進入了HardFault_Handler,主要原因有兩個,堆棧溢出和數(shù)組越界,很不幸的是這兩種情況都被我碰到了。

        第一次是用UCGUI在一個button上顯示文字,發(fā)現(xiàn)字符串顯示不全,只顯示第一個字符,在啟動文件startup_stm32f10x_md.s中修改“Stack_Size EQU 0x00000200”,將堆棧改大點,改為“Stack_Size EQU 0x00000400”后顯示正常。
        第二次是UCGUI和UCOSII聯(lián)合調(diào)試時,也進入了HardFault_Handler,這次原因是數(shù)組越界,在一個函數(shù)中定義了一個數(shù)組ya[10],定義了一個計數(shù)變量count,由于沒有初始化count,導(dǎo)致count的值一開始就大于數(shù)組邊界,導(dǎo)致數(shù)組越界,初始化count=0后,程序正常。


        關(guān)鍵詞: STM32HardFaultHandle

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 定日县| 姜堰市| 宝丰县| 吉林省| 定结县| 天峻县| 习水县| 西乌珠穆沁旗| 惠东县| 黔西| 长治市| 新野县| 友谊县| 乌拉特前旗| 阆中市| 赤峰市| 郓城县| 松原市| 宁河县| 南开区| 河东区| 岑巩县| 苗栗市| 洛隆县| 广元市| 玉环县| 霍林郭勒市| 高淳县| 镇沅| 紫金县| 射阳县| 浪卡子县| 庆云县| 北辰区| 休宁县| 安龙县| 望都县| 富裕县| 四平市| 永修县| 平江县|