打印
[STM32F7]

【STM32F769I-DISCO评测】CUBE生成LWIP协议栈

[复制链接]
2142|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 北斗stone 于 2016-12-21 09:30 编辑

       拿到板子已经有一周左右的时间了,拿到这块板子后,很是兴奋和激动。既惊叹这块板子的大气,又感慨板子做工的精细。
       这是我之前写的关于ST系列的评测,有用DISCOVERY的,也有用nucleo的,评测内容分别是CUBE生成FREERTOS, SW4STM32软件评测,DISCOVERY的两种外设(板载SDRAM和SDMMC):
       有一位朋友指出我其中的一篇评测没有写实际的性能优势。其实我的想法是这样的:评测性能这一块确实不错,但是我的风格是能够分享给大家一种方法,一种简单实用的技巧。本次评测也一样,从CUBE入手,分享自己是如何使用CUBE快速上手的。
       三个月前拿到767的板子之后,我就想自己硬啃下LWIP,找了某火,某原子,某富莱的各种视频看,原理和协议栈算是看懂了部分,但自己拿那块NUCLEO767的板子怎么也玩不转LWIP。上个月有幸参加了ST在上海举办的关于LWIP协议栈的培训,感谢amanda shen女士的精彩课程。听过培训之后茅塞顿开。
       所以本次评测打算先从LWIP开刀。至于硬件上的优势,各个细节的描述,其它优秀的论坛成员们已经分享得很完善了,楼主不再赘述。
       同样的是第一步,先打开CUBE,下载好F7pack包,然后新建一个F769的板级工程,若是不会的朋友可以看我之前写的帖子。
       首先选择左侧的ETH外设,选择的是RMII接口,关于接口的方式,以太网有好几种方式,目前通用的方式便是RMII型的接口。再点击完ETH之后,上面的LWIP便从灰色变为黑色,可以点击,同样我们需要选中。其实LWIP有两种工作模式,一种是带有操作系统的,一种是不带操作系统的,这里我先和大家分享一下不带操作系统的使用方式。所以这里不勾选FREERTOS
       在第二页将主频开到最大频率,在第三页的配置页面中,一共有两个需要配置的内容,一个是ETH,为硬件部分,另一个是LWIP协议栈,为软件部分。
       楼主先带大家看一下硬件部分:红框中共有五个部分,第一个部分为硬件的配置。楼主之前的问题也就是卡在这了。关于mac地址,如果仅是局域网,没有连外网,那么这个可以随意填写,而PHY Address01就要看板子的原理图了。
       原理图中,芯片的地址0引脚连了一个下拉电阻,楼主也查阅了LAN8742Datasheet,其中对PHYAD0引脚也有如下描述(内部下拉,默认为0)。
       因此我们要将PHY Address配置为0。配置完这一步,可以去浏览一下advanced paramameter 的配置,那上面的参数是按照discovery上的LAN8742配置的,因此可以默认不用改动。ETH模块的配置到此为止。
         接下来可以配置LWIP协议栈。首先将DHCP DISABLE掉,不采用路由分配IP地址。接着自己便可以填写如下的设置好的IP地址了。另外,下面的协议按照默认设置不改变,其中ICMP是用来测试PING通信机制的。其它可以不变。
      
         配置完这些参数,便可以导出工程代码了,楼主首选还是SW4STM32不过貌似生成的769工程在GCC.h文件中报了一个奇怪的错误,退而求其次,楼主选择了MDK5进行代码生成。
       代码生成后,需要在主函数的while(1)循环内加入这样一句话:MX_LWIP_Process();
       经过近6分钟漫长的编译过程,将hex烧入芯片中。
   
         打开网络和共享中心,将地址设置为和STM32同一网段的地址。插上线缆,开始菜单输入CMD打开命令窗口,输入ping 192.168.0.10,可以看到如下图的显示。
   
       说明板子已经和电脑可以通信了,在不使用操作系统的时候,我们只能用LWIP内的TCP/UDP层,不能用netconn层,当用了操作系统之后,便可以使用netconn层的API了。
沙发
mmuuss586| | 2016-12-21 11:02 | 只看该作者
谢谢分享;

使用特权

评论回复
板凳
dql2015| | 2016-12-21 13:00 | 只看该作者

谢谢分享;

使用特权

评论回复
地板
北斗stone|  楼主 | 2018-10-8 23:29 | 只看该作者
多年以后,工作上用到LWIP,按照自己两年前写的帖子,一步步配出来了...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

338

帖子

6

粉丝