- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32F4x7_ETH_LwIP_V1.1.0工程移植过程
修改 udp_echo_client 示例程序步骤:
1、从官方网站 http:// ./document/list/index/category-523 下
载 STSW-STM32070 面向 STM32F4x7 微控制器的 LwIP TCP/IP 协议栈的演示代码 的英文
文档 Dpdf 和软件包 stsw-stm32070.zip 。stsw-stm32070.zip 是面向
STM32F4x7 微控制器的 LwIP TCP/IP 协议栈的演示代码,Dpdf 是演示代码
的说明文档。
2、将 stsw-stm32070.zip 解压得到 STM32F4x7_ETH_LwIP_V1.1.0 文件夹,下面是
STM32F4x7_ETH_LwIP_V1.1.0 文件夹架构
3、删除_htmresc 文件夹,这个文件夹是 ST 及 CMSIS 公司 logo,没什么用。
4、打开 project 文件夹,这个文件夹包括两个文件夹:FreeRTOS 和 Standalone。
FreeRTOS 文件夹里的程序示例是基于系统的 LWIP 移植示例,这里我们不需要,直
接删除。
Standalone 文件夹里是一些无操作系统 LWIP 移植示例程序,在这里我们工程需要的
是普通的数据传输,所以只使用到 UDP,所以我们只保留 udp_echo_client 文件夹,其他
的都删除掉。在 udp_echo_client 文件夹中 EWARM 文件夹是 IAR EWARM 建立的工程,
MDK-ARM 是以 keil MDK 建立的工程。在这里我们选择 MDK 工程,IAR 建立的工程可以
保留也可以删除。还有一个文件夹 RID ,打开看了看,应该是用另一款编译软件建立的工
程空间,这里我们不需要,直接删除掉。
5、Utilities-Third_Party 文件夹下面有三个文件夹 FatFs_vR0、FreeRTOSV7.3 、
lwip-1.4.1。FatFs_vR0 一个通用的文件系统模块,用于在小型嵌入式系统中实现 FAT 文件
系统,FreeRTOSV7.3 一个迷你操作系统内核的小型嵌入式系统,在这里我们用不上,直
接删除。lwip-1.4.1 文件夹是 LWIP 源码,是我们所需要的。
6、打开 MDK-ARM 文件夹里面的 MDK 工程 ,我们先编译一下,可以看
到有 0 个错误,三个警告,其中两个警告是定义了变量但是没有使用,我们不去管它,另
一个警告是..\..\..\..\Utilities\Third_Party\lwip-1.4.1\port\STM32F4x7\Standalone
\ethernetif.c(366): warning: #1-D: last line of file ends without a newline 提示
ethernetif.c 文件的最后一行(也就是 366 行)没有换行,MDK 里面每个文件的最后一行必
须换行,不然会提示一个警告,这里把 366 行后面换行再编译,这个警告就去掉了。
7、打开 main.h 文件,因为我们电路板上使用的是 RMII 接口,所以将#define MII_MOD
注释掉,将//#define RMII_MOD 取消注释,如下所示:
在这里要注意 RMII 的时钟为 50MHz,在电路板上直接焊接一个 50MHz 的有源晶振就
可以了。
取消//#define USE_DHCP 的注释,启用动态地址分配,当地址分配不成功则使用静
态 IP 地址。如图:
注释掉或删除 USE_LCD 和 serial_debug,本项目没有这两项,如下图:
本项目中直接删除掉,因为删除掉了 SERIAL_DEBUG,所以我们可以将
serial_debug.c 文件从项目中移
文档评论(0)