2014-03-13 56 views
1

我正在使用GCC,GDB和OpenOCD在STM32F4Discovery開發板上開發一個程序。帶有GDB和OpenOCD bug的STM32F4xx

我可以編譯一切正常,但是當我開始調試時,程序直接進入HardFault處理程序,而不是進入Reset_Handler。

另外,寫入閃存時我經常遇到問題。通常需要我兩次嘗試才能在Flash中成功編寫我的程序。

有沒有其他人有過這種或任何其他皮質M4處理器的這種問題?

+0

試着問這裏:HTTPS:/ /lists.sourceforge.net/lists/listinfo/openocd-user/ – dbrank0

回答

2

我已經有一個與STM32F1相同的問題,我正在使用gdb和OpenOCD,並且調試器在開始調試時直接跳入硬故障處理程序。在我的情況下,問題是入口點沒有在LD鏈接器腳本中定義。我用ENTRY指令定義了它然後工作。如果沒有ENTRY指令,我需要在GDB中手動執行set $pc=Reset_Handler(將程序計數器設置爲重置處理程序)以便能夠進行調試。

另一個問題是OpenOCD的是如何配置的復位微控制器,你需要通過正確的命令行參數啓動OpenOCD的時候,看看這裏:

OpenOCD Reset Configuration