|
lwip網頁顯示問題 |
魔法學徒 一級 |
最近在開發lwip,可以ping通。但是通過列印,看到單片機端已經發送成功,但是網頁沒有顯示。三次握手成功了,網頁發起請求之後,提示tcp Retransmission
|
一派掌門 二十級 |
2樓
發表于: 2024-5-10 15:38
你的硬體用的是stm32原生的eth外設嗎?如果是的話要注意,lwip默認的網頁內容是存在flash裡面的,eth無法通過dma訪問flash裡面的內容,必須要先拷貝到sram裡面再用dma傳出去。
|
|
一派掌門 二十級 |
3樓
發表于: 2024-5-10 15:41
還有就是,lwip裡面的網頁是分成幾段,組合成一個鍊表傳給ethernetif.c的low_level_output函數的。在用for循環memcpy拷貝到一個數組的時候一定要注意拷貝的目的地址的下標是不是總是0。
|
|
魔法學徒 一級 |
在哪裡拷貝網頁數據呢,還有是生成的fsdata.c中的數組是在哪裡調用的呢?
|
|
魔法學徒 一級 |
|
|
一派掌門 二十級 |
6樓
發表于: 2024-5-11 11:17
試試看這個代碼行不行:
https://zh.purasbar.com/post.php?t=24569
|
|
魔法學徒 一級 |
|
|
魔法學徒 一級 |
|
|
魔法學徒 一級 |
|
|
一派掌門 二十級 |
10樓
發表于: 2024-5-11 11:59
實在不行,也可以試一下把p鍊表的所有內容複製到一個數組中,然後只用Txbuffer[0]一整個發出去,不分段。
|
|