關(guān)于調(diào)試STM32進(jìn)入HardFault_Handler的問(wèn)題
第一次是用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,由于沒(méi)有初始化count,導(dǎo)致count的值一開(kāi)始就大于數(shù)組邊界,導(dǎo)致數(shù)組越界,初始化count=0后,程序正常。
評(píng)論