本帖最后由 北斗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,下载好F7的pack包,然后新建一个F769的板级工程,若是不会的朋友可以看我之前写的帖子。 首先选择左侧的ETH外设,选择的是RMII接口,关于接口的方式,以太网有好几种方式,目前通用的方式便是RMII型的接口。再点击完ETH之后,上面的LWIP便从灰色变为黑色,可以点击,同样我们需要选中。其实LWIP有两种工作模式,一种是带有操作系统的,一种是不带操作系统的,这里我先和大家分享一下不带操作系统的使用方式。所以这里不勾选FREERTOS。 在第二页将主频开到最大频率,在第三页的配置页面中,一共有两个需要配置的内容,一个是ETH,为硬件部分,另一个是LWIP协议栈,为软件部分。 楼主先带大家看一下硬件部分:红框中共有五个部分,第一个部分为硬件的配置。楼主之前的问题也就是卡在这了。关于mac地址,如果仅是局域网,没有连外网,那么这个可以随意填写,而PHY Address是0或1就要看板子的原理图了。 原理图中,芯片的地址0引脚连了一个下拉电阻,楼主也查阅了LAN8742的Datasheet,其中对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了。
|