? ? ? ?準(zhǔn)備測試CH565開發(fā)板的千兆網(wǎng)絡(luò)通訊,查看CH565的數(shù)據(jù)手冊里面也是讓自己看示例程序,示例程序里面調(diào)用很多寄存器,初始化等函數(shù),沒辦法跟數(shù)據(jù)手冊對應(yīng)起來。直接看程序是一頭霧水
? ? ? ? 想請教下,有沒有誰跑過這個例程,然后洗了調(diào)試總結(jié)分享之類的帖子,或者文章。
? ? ? ?準(zhǔn)備測試CH565開發(fā)板的千兆網(wǎng)絡(luò)通訊,查看CH565的數(shù)據(jù)手冊里面也是讓自己看示例程序,示例程序里面調(diào)用很多寄存器,初始化等函數(shù),沒辦法跟數(shù)據(jù)手冊對應(yīng)起來。直接看程序是一頭霧水
? ? ? ? 想請教下,有沒有誰跑過這個例程,然后洗了調(diào)試總結(jié)分享之類的帖子,或者文章。
我們EVT代碼是底層的MAC幀收發(fā)。
TCP\UDP需要自行組包,或者跑以太網(wǎng)協(xié)議棧,如TCP\UDP例程可以發(fā)送郵件至sj@wch.cn獲取
你好,我通過mj@wch.cn獲取的TCP/UDP的DEMO程序,編譯出錯,應(yīng)該是文件路徑的問題,但是我把路徑修改之后,還是編譯出錯。幫忙分析下,是哪里沒設(shè)置好。
提示信息如下:
08:46:17 **** Incremental Build of configuration obj for project TCP_client ****
make -j8 all?
Memory region? ? ? ? ?Used Size? Region Size? %age Used
? ? ? ? ? ?FLASH:? ? ? ? 7356 B? ? ? ? 64 KB? ? ?11.22%
? ? ? ? ? FLASH1:? ? ? ? ? 24 B? ? ? ?384 KB? ? ? 0.01%
? ? ? ? ? ? ?RAM:? ? ? ? ? 24 B? ? ? ? 16 KB? ? ? 0.15%
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: ./User/Main.o: in function `net_initkeeplive':
D:\Code\EXAM\TCP_client\obj/../User/Main.c:83: undefined reference to `CH569NET_ConfigKeepLive'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: ./User/Main.o: in function `CH569NET_LibInit':
D:\Code\EXAM\TCP_client\obj/../User/Main.c:122: undefined reference to `CH569NET_GetVer'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: D:\Code\EXAM\TCP_client\obj/../User/Main.c:127: undefined reference to `CH569NETConfig'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: D:\Code\EXAM\TCP_client\obj/../User/Main.c:132: undefined reference to `CH569NET_ConfigLIB'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: D:\Code\EXAM\TCP_client\obj/../User/Main.c:135: undefined reference to `CH569NET_Init'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: ./User/Main.o: in function `CH569NET_HandleSockInt':
D:\Code\EXAM\TCP_client\obj/../User/Main.c:163: undefined reference to `CH569NET_SocketRecvLen'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: D:\Code\EXAM\TCP_client\obj/../User/Main.c:165: undefined reference to `CH569NET_SocketRecv'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: D:\Code\EXAM\TCP_client\obj/../User/Main.c:171: undefined reference to `CH569NET_SocketSend'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: ./User/Main.o: in function `CH569NET_HandleGlobalInt':
D:\Code\EXAM\TCP_client\obj/../User/Main.c:199: undefined reference to `CH569NET_GetGlobalInt'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: D:\Code\EXAM\TCP_client\obj/../User/Main.c:179: undefined reference to `CH569Inf'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: D:\Code\EXAM\TCP_client\obj/../User/Main.c:223: undefined reference to `CH569NET_GetSocketInt'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: ./User/Main.o: in function `CH569NET_CreatTcpSocket':
D:\Code\EXAM\TCP_client\obj/../User/Main.c:253: undefined reference to `CH569NET_SocketCreat'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: D:\Code\EXAM\TCP_client\obj/../User/Main.c:256: undefined reference to `CH569NET_SocketSetKeepLive'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: D:\Code\EXAM\TCP_client\obj/../User/Main.c:259: undefined reference to `CH569NET_SocketConnect'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: D:\Code\EXAM\TCP_client\obj/../User/Main.c:263: undefined reference to `CH569NET_SetSocketTTL'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: ./User/Main.o: in function `register_if_fn':
D:\Code\EXAM\TCP_client\obj/../User/Main.c:265: undefined reference to `ethernet_if'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: ./User/Main.o: in function `tcp_ip_stack_main_process':
D:\Code\EXAM\TCP_client\obj/../User/Main.c:325: undefined reference to `CH569NET_MainTask'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: D:\Code\EXAM\TCP_client\obj/../User/Main.c:326: undefined reference to `CH569NET_QueryGlobalInt'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: ./User/Main.o: in function `get_unique_mac':
D:\Code\EXAM\TCP_client\obj/../User/Main.c:341: undefined reference to `FLASH_ROMA_READ'
d:/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: ./Network_driver/timer.o: in function `Net_TimerIsr':
D:/Code/EXAM/Net_SRC/Network_driver/timer.c:40: undefined reference to `CH569NET_TimeIsr'
collect2.exe: error: ld returned 1 exit status
? ? ? ? ? ? RAM1:? ? ? ?18648 B? ? ? ? 64 KB? ? ?28.45%
make: *** [makefile:55: TCP_client.elf] Error 1
08:46:32 Build Failed. 30 errors, 0 warnings. (took 14s.783ms)
您好,以太網(wǎng)代碼涉及到H C A文件的工程包含,建議聯(lián)系郵箱mj@wch.cn進(jìn)行確認(rèn)。
? ? ? ?另外請教個問題,CH565的數(shù)據(jù)手冊對千兆網(wǎng)絡(luò)通訊章節(jié)寫的特別簡單,對功能和寄存器都沒有進(jìn)行介紹,DEMO程序中這部分的MAC調(diào)用函數(shù)也都是封裝好打不開的。
? ? ? ?如果需要更換不同的PHY芯片,移植起來會非常不方便,出現(xiàn)其他調(diào)試過程的問題,自己也無法很好的進(jìn)行排查。
? ? ? ?有更詳細(xì)一點(diǎn)的數(shù)據(jù)手冊可以提供給我們進(jìn)行參考學(xué)習(xí)么?
您好,以太網(wǎng)相關(guān)代碼我們主要以函數(shù)庫形式提供,我們會提供類似TCP UDP的例程代碼,如果有類似需求可以發(fā)送到mj@wch.cn進(jìn)行咨詢
DEMO程序已經(jīng)郵件發(fā)給我了,我了解下你們是否還有除了DEMO程序之外的,可供參考的文檔資料。
另外DEMO程序中,的TCP_clientl例程中,主動發(fā)送數(shù)據(jù)是采用哪個函數(shù)?
是通過如下兩個函數(shù)么,還是有其他函數(shù):
ETH_DMATxDescChainInit(ETH_DMADESCTypeDef *DMATxDescTab, UINT8* TxBuff, UINT32 TxBuffCount);
void ETH_DMARxDescChainInit(ETH_DMADESCTypeDef *DMARxDescTab, UINT8 *RxBuff, UINT32 RxBuffCount);