色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

          關于調試STM32進入HardFault_Handler的問題

          作者: 時間:2016-11-24 來源:網(wǎng)絡 收藏
          最近調試UCGUI和UCOSII,程序莫名其妙的死掉了,用JLINK調試,發(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)合調試時,也進入了HardFault_Handler,這次原因是數(shù)組越界,在一個函數(shù)中定義了一個數(shù)組ya[10],定義了一個計數(shù)變量count,由于沒有初始化count,導致count的值一開始就大于數(shù)組邊界,導致數(shù)組越界,初始化count=0后,程序正常。


          關鍵詞: STM32HardFaultHandle

          評論


          技術專區(qū)

          關閉