【 ST NUCLEO-H743ZI测评】一个关于TCP的故事之Server/Client建立
<div class='showpostmsg'> 本帖最后由 54chenjq 于 2019-2-24 17:05 编辑首先非常感谢论坛提供的测评机会,现在就非专业并简单地讲一下在nucleo-h743上跑cyclonetcp来实现一个TCP client和server吧
1.评估开发板的TCP功能所使用的协议栈是cyclontecp,是一款非常不错的以太网协议栈,支持多,功能强大,https://github.com/Oryx-Embedded/CycloneTCP,在使用过程中我们也应该遵GPL-2.0,废话不多说,进入正题。
2.PHY使用的是LAN8742,那么就需要在工程中加入其驱动
https://bbs.eeworld.com.cn/forum.php?mod=image&aid=403172&size=300x300&key=a84399c5e1dbfd89&nocache=yes&type=fixnone
3.H7以太网MAC的初始化
4完成应用部分,主要涉及的内容包括初始化协议栈netInit();,注册NIC接口,设置本机地址,子网掩码,默认网关以及DNS参数,
通过socketOpen建立一个socket套接字,client端通过getHostByName和socketConnect根据主机IP与端口号连接serber端,并通过socketSend进行数据的发送;而server端在建立socket后,socketBindToInterface将socket绑定nic接口,然后通过socketBind将socket与上文client建立提到的端口绑定,监听socketListen并等待socketAccept一个client的连接,之后就是数据接收socketReceive。当然,不论是client还是server都可以进行数据的收发。
https://bbs.eeworld.com.cn/forum.php?mod=image&aid=403174&size=300x300&key=1093df2a559cfe1c&nocache=yes&type=fixnone
https://bbs.eeworld.com.cn/forum.php?mod=image&aid=403175&size=300x300&key=2d8b260b52994627&nocache=yes&type=fixnone
使能ICMP后,“ping 一下H7”
stlink串口,波特率9600,hex文件上传于附件。
本帖内容简单,容易引起大佬们血压升高,请注意身体!
此内容由EEWORLD论坛网友54chenjq原创,如需转载或用于商业用途需征得作者同意并注明出处
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> 等我编辑一下哈 强大的cyclonetcp,秒杀Lwip 谢谢,@54chenjq一直在折腾nucleo-h743的网络lwIP的代码三天了有没有进展,看到你推荐cyclonetcp很想了解一下. 能把“初始化协议栈netInit();,注册NIC接口,设置本机地址,子网掩码,默认网关以及DNS参数”这一过程说的详细一点吗? 强大的cyclonetcp秒杀lwip 楼主的代码是哪个版本,我去到网站https://www.oryx-embedded.com/download.htmlDownload Latest Version 1.9.0 (Open Source GPLv2 License)版本的软件,说我没有权限。你是怎么下到的呀 bigbat 发表于 2019-2-24 18:53
楼主的代码是哪个版本,我去到网站https://www.oryx-embedded.com/download.htmlDownload Latest Version 1 ...
官网下载这个版本Download Latest Version 1.9.0 (Evaluation License)
或者 https://github.com/Oryx-Embedded源码
前者带了好多工程,后者是源码 54chenjq 发表于 2019-2-24 18:59
官网下载这个版本Download Latest Version 1.9.0 (Evaluation License)
或者 https://github.com/Oryx-E ...
谢谢楼主,我也是下载了这个版本的软件,看到里面有你说的驱动stm32h7xx_eth_driver的文件,正在研究这个项目。但是stm32cubeMX的TCP还是没有调通。不知楼主有没有试过? bigbat 发表于 2019-2-24 19:06
谢谢楼主,我也是下载了这个版本的软件,看到里面有你说的驱动stm32h7xx_eth_driver的文件,正在研究这个 ...
我下周试一下吧,顺便做一一下对比。 bigbat 发表于 2019-2-24 18:53
楼主的代码是哪个版本,我去到网站https://www.oryx-embedded.com/download.htmlDownload Latest Version 1 ...
网络问题,你换个网络,或者手机网络试试,无权限我也遇到过。 freebsder 发表于 2019-2-24 21:42
网络问题,你换个网络,或者手机网络试试,无权限我也遇到过。
好的,我找个“梯子”去。看看是不是你说的问题,有可能是因为要开会的缘故吧。 这个要关注一下。
能否将LWIP拍在沙滩上了 cyclonetcp这个协议是商业协议,开源协议是GPL2.0的协议,如果你使用了这个代码,就得同意这个协议,所以商业应用得有所考虑。到今天为止nucleo-h743这块板子的USB和TCP/IP在stm32cubeMX中都没有调通。
页:
[1]