<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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


          關(guān)鍵詞: STM32HardFaultHandle

          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();