2015-11-15 52 views
0

我嘗試使用ST作爲底板STM32F4DIS_BB + STM32F4-discovery的示例。 我想使用RTOS示例httpserver_socket。在我使用獨立(NO RTOS)httpserver示例之前,沒有問題。但在RTOS示例中,服務器在每個Web連接上都凍結。這意味着LED切換任務可以,DHCP可以等。從CMD ping可以。但是當我從網絡客戶端連接時,電路板被凍結,並且去HardFault_Handler()。 有何意見?STM32F4DIS-BB + RTOS httpserver_socket示例

回答

0

你試過debugging the hard fault看看哪個指令導致了它?一旦你知道你將能夠在代碼中放置一個斷點來看看你是如何到達那裏的。另外,我們現在在STM32F4上運行FreeRTOS+TCP,但是在較大的評估板上,而不是在Discovery板上運行。

+0

嗨,我試了一下,但代碼是在asm內聯,它會產生錯誤消息,#1113:內聯彙編不允許生成Thumb代碼。 –

+0

當使用#pragma asm/#pragma thumb時:error#1114-D:目標架構/處理器不支持此功能 –

+0

OK我使用調試輸出wizh此標誌:在硬件故障處理程序中SCB-> HFSR = 0x40000000強制硬故障SCB-> CFSR = 0x00000001 –

0

感謝Richard。我發現調試和CFSR寄存器的問題是在MEM管理:

「處理器嘗試的指令從一個根本 不允許執行一個位置獲取此故障發生在一個XN區域的任何訪問, 即使MPU被禁用或不存在「

但我不明白ST如何能爲相同的硬件示例我有這個錯誤?現在我試圖找到一個問題。

0

我發現這個問題是在項目設置中的FPU選項。原始項目已經設置使用FPU。當我設置不使用,那麼項目是可以的。使用FPU和freeRTOS存在問題。