I have implemented FreeRTOS + LWIP in one project. As soon as the ETH interface is initialized, FreeRTOS stops working. PLL3 seems to be the culprit. How can I fix this?
My net code: https://pastebin.com/qufTyCyP
Calling `init_phy()` results in `vTaskDelay()` hanging.
--
我在一個(gè)項(xiàng)目中實(shí)現(xiàn)了 FreeRTOS + LWIP。一旦初始化 ETH 接口,F(xiàn)reeRTOS 就會(huì)停止工作。 PLL3 似乎是罪魁禍?zhǔn)?。我怎樣才能解決這個(gè)問(wèn)題?
我的網(wǎng)絡(luò)代碼:https://pastebin.com/qufTyCyP
調(diào)用 `init_phy()` 會(huì)導(dǎo)致 `vTaskDelay()` 掛起。
查看: 2756
回復(fù): 2
CH32V307 FreeRTOS + LWIP vTaskDelay stuck
熱門(mén)產(chǎn)品 :
CH592: RISC-V內(nèi)核BLE5.4無(wú)線MCU
您好,我先確認(rèn)一個(gè)問(wèn)題,就是您的FreeRTOS代碼的時(shí)鐘中斷源是否是systick?如果是,很可能是庫(kù)函數(shù)Delay_Ms和Delay_Us導(dǎo)致的異常,因?yàn)檫@兩個(gè)函數(shù)使用的時(shí)鐘也是systick,調(diào)用后會(huì)將FreeRTOS的systick配置更改,進(jìn)而導(dǎo)致異常。如果是這個(gè)問(wèn)題有兩種解決辦法:1、嘗試將以太網(wǎng)驅(qū)動(dòng)部分的代碼放在FreeRTOS任務(wù)創(chuàng)建之前初始化;2、可以嘗試將Delay_Ms和Delay_Us用vTaskDelay替換。
謝謝,這對(duì)我有幫助!
請(qǐng)勿發(fā)布廣告和違法內(nèi)容, 代碼可以選擇編輯器代碼語(yǔ)言格式, 更易他人閱讀幫助您, 或者留下聯(lián)系方式,以便更好更快服務(wù)您
只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄