
本帖最后由 baiyongbin2009 于 2017-9-27 23:00 编辑 9 z: H9 N1 r5 v5 E. O # u4 o' X- P/ {; C 前言:( ?( u. s9 S; N% D$ ~* @ 首先感谢大家这几年对我们安富莱电子的支持,感谢stmcu论坛,曾多次在这里发帖。 首次制作网络教程,依然有很多不足的地方,希望能够在实际项目中帮到大家。 这个教程从今年3月份开始编写,到9月底算是收工了,奋战将近7个月的时间,战斗到凌晨2-3点已经是家常便饭,算是耗时最长的教程了,同时在这段时间里,身体状况也越来越糟糕,中途几次还是倒下了,不得不去医院(特别感谢群里面兄弟们的关心),但是这个教程依然在国庆节前夕发布了。在此强烈感谢这段时间里购买我们板子的兄弟们,谢谢你们!!有了大家的支持,这个教程才可以坚持这么长的时间。 ============================== 1. 稳定性 稳定性是网络协议栈最最重要的,如果不稳定,其它特性再好也只能成为点缀。为了验证RL-TCPnet的稳定性,去年上半年就开始做RL-TCPnet相关的测试工作,做了一个RL-TCPnet综合性能测试Demo,一直升级到第3版后才稳定,这个版本已经连续开机工作350多天:地址链接 。 2. 高性能 下面是RL-TCPnet的两个高性能展示例子,都含有视频演示。 (1)F429开发板RTOS+emWin+FS+TCP/IP+USB+CAN+Modbus综合Demo:https://www.stmcu.org.cn/module/forum/thread-611061-1-1.html$ x+ b- E8 ~1 c# Y" U# _ (2)【原创开源】极具可玩性的高端玩法,使用F429外接32位SDRAM虚拟VNC桌面,无需显示屏,远程访问,效果顶呱呱: https://www.stmcu.org.cn/module/forum/thread-612331-1-1.html, K: S0 B0 N4 e: e' f 3. 易用性7 E* c, i; h* E- t (1)有专门的Debug版本,调试工程非常方便。 (2)作为小型的网络协议栈,功能全面,简单易上手,配置极其方便,特别是工程配置向导,不是一般好用。 ![]() 4. 教程内容说明:1 ?7 J. _1 x6 _% L1 O2 } (1)涵盖:TCP,UDP,VNC,TFTP,FTP,SNTP,Telnet,SMTP,DNS,DHCP,BSD Socket等。( t* [4 I/ h/ c8 ^8 W. H1 v- S (2)Web前端涉及到XML,Ajax,HTML , JavaScript,CGI脚本等。 (3)例子都是裸机,RTX,uCOS-III和FreeRTOS四个版本,仅后面几期未做裸机版本。5 P( F) u, y1 g5 F0 F (4)配套的例子突出实战,大部分程序设计框架都是经过长时间实战验证的。' u2 y& q3 Y8 a- \- e$ Y (5)教程中仅对裸机和RTX例子进行了讲解,而uCOS-III和FreeRTOS 实现是一样的,所以不做重复讲解了。/ y) o6 T$ {2 A+ t3 ]9 z (6)教程的例子说明部分以及配套的所有例子,都是同一个框架,所有的例子都是在这个框架下制作的,所以用户看教程此部分有重复,但是具体到章节功能是有不同的。这么做的好处很多,可以让教程和例子规范化起来,用户学完一个章节,并熟悉了一个例子之后,就可以非常方便的上手其它章节和配套的例子。 5. 关于提高篇例子- v$ c5 K. i" X 后面还有几期提高篇的例子发布,主要是网络摄像头,MQTT,Modbus-TCP,云端访问,花生壳,百度地图,天气预报等。部分例子去年已经制作,还没有顾上去整理。应用的这些例子争取都采用BSD Socket编程,以后想切换到任何其它小型协议栈,都是极其方便的,基本可以达到无痛移植。 6. 版权问题 RL-TCPnet是收费的,如果商用,需要购买正版MDK,正是鉴于这一点,后面还会出LwIP或者FreeRTOS-TCP的教程,这两个都是免费的协议栈。基本跟我们制作的RTOS教程一样,免费和收费的都做一个。免费的做了FreeRTOS,收费的做了RTX和uCOS-III。1 e! M0 y, f% u/ S. ] 7. 原创声明 本教程主要参考了SEGGER,Micrium,KEIL,W3SCHOOL,百度百科和wiki百科的在线资料,具体的参考地址在教程中都有注明。' x# l' ? {$ Q" J. q 8. 教程和例子使用注意事项7 O' q8 w: w, v% F4 i7 Z5 Q: d (1)RTX操作系统版本的例子限制使用MDK4.74,其它的版本不限制,使用MDK4.7X以及MDK5均可。另外不支持MDK前段时间发布的MDK5.24a,因为这个版本不支持MDK4创建的工程转换为MDK5了,所以要使用这个最新的版本,需要给MDK5安装MDK4的兼容包了。9 F' Q7 x1 M% e$ ~6 C( B (2)对于每个配套的例子,教程里面都做了操作说明,首次测试,务必看下,防止不必要的麻烦。$ D8 Z) {, F. z (3)强烈建议将网线接到路由器或者交换机上面测试,因为所有的例子都使能了DHCP,可以自动获取动态IP,如果需要静态IP测试,请看第57章节说明。 9. 最后引用下KEIL官方针对USB协议栈说的一句话,超经典,其它中间也是一样的" c7 @* Z- \* _0 ^' q) O The library handles the low-level USB requests without the need to write the hardware layer code. Developers can focus on the application's request rather than concentrating on the specialties of the USB protocol。 我们推出这些中间件的目的就是让客户不必为移植协议和底层驱动而烦恼,所有的这些我们都已经写好,用户只需关注自己的行业应用即可。实际的测试中的确是这样的。 10. 此教程配套的硬件平台 STM32F407IGT6开发板:链接 STM32F429BIT6开发板:链接 ================================ 教程目录(共计1494页): ![]() STM32F429开发板配套例子(78个): 教程和例子链接:https://pan.baidu.com/s/1c1FrW6c 密码:18ud ![]() STM32F407开发板配套例子(78个): 教程和例子链接:https://pan.baidu.com/s/1miKH5Vi 密码:zisw ![]() ================================ PS:网络教程的提高篇实例,后面有精力了逐渐整理给大家玩。- u4 B9 H6 ~8 l5 I$ A 1. 花式玩转网络摄像头,比如TCP版本,VNC版本都做了,网页版本待做。 2. 访问云端服务器,百度地图,天气预报等基本的网络通信也都做过了。 u: {. }. A" U$ L( @# J/ G B) f 附两张效果图吧:1 G$ X& y2 C7 c1 A8 s! N3 C ![]() 下面这个是动态GIF,要刷新会 ![]() ) @% H# b' A3 ^0 X& A: f ( Q& R% u) R8 N3 a4 O$ i ! b! P. g' w* E* g1 I( Y# J3 Y. H |
没问题,各种主流的PHY,基本都可以支持。
下载了楼主研究成果,由于手头只有dp83848网络接口,看了下注释里说明了例程修改过,网络专门支持dm9161。希望能够保留dp83848这种芯片的兼容性。
6666666666666666666666666666666666666# y3 N# A L0 G( y( k y
8 M3 ?' g1 a8 Z \0 E) c7 r! O
6666666666666666666666666666666666666
1 ]- M$ F+ o, n) C" Z, a
大神辛苦了~