基于uCOS - II的以太网移植实例(2)

2020-06-21 14:24

STM32_ETH_Driver这四个文件夹,新建文件夹结果如图2.12所示。其次,将刚刚移植过来的文件分类添加到各个工程文件夹中。

LWIP/Port文件夹中添加文件结果如图2.13所示。

LWIP/Source文件夹中依次添加如图2.14、图2.15、

图2.16、图2.17所示文件。ipv6、snmp文件夹中的文件没用到,可以不添加这两个文件夹里面的文件,但如果需要可以选择添加。

图2.13 LWIP/Port文件夹需添加的文件

图2.14 Core文件夹中需要添加的文件 图2.15 Ipv4文件夹中需要添加的文件

图2.16 netif文件夹中需要添加的文件

图2.17 api文件夹中需要添加的文件

LWIP/Source文件夹中添加的文件结果如图2.18所示。

图2.18 LWIP/Source文件夹中添加后的文件

Efsl文件夹中依次添加如图2.19、图2.20所示文件。

图2.19 efsl文件夹中需要调节的文件

图2.20 efsl文件夹中需要调节的文件

Efsl文件夹中添加的文件结果如图2.21所示。

图2.21 efsl文件中添加后的文件 图2.22 STM32_ETH_Driver中需要添加的文件

STM32_ETH_Driver文件夹中添加如图2.22所示文件,STM32_ETH_Driver文件夹中添加的文件结果如图2.23所示。

图2.23 STM32_ETH_Driver中添加后的文件 图2.24 App文件夹中需要添加的文件

App文件夹中添加如图2.24所示两个文件,APP文件夹中添加的文件结果如图2.25所示。

以太网移植文件全部添加到MDK工程文件夹中后,其MDK工程文件夹结构如图2.26所示,再点击全部保存后,以太网移植文件就全部导入到MDK工程文件夹中来了。

图2.25 App文件夹中添加后的文件

图2.26 MDK工程文件结构

以太网移植文件全部导入到MDK工程文件夹之后,最后,还需把以太网移植文件所用到的头文件的路径添加到工程中来。其添加的头文件路径过程如图2.27所示。

图2.27 MDK中包含的头文件

到这一步已经完成了以太网文件的导入,下面只需编译一下,检查文件的导入是否正常。其编译结果如图2.28所示,零错误和零警告提示,表明编译通过。但需值得注意的是要把Spi.c文件添加到STM32库里去,因为efsl对文件操作时,需要用到SPI中的函数。

图2.28 MDK编译结果

2.4 程序中需要编辑的代码

第一处:以太网接收数据是通过中断方式接收的,需要编写以太网中断函数。其中

断函数编写如图2.29所示。

中断函数中调用了如图2.30所示头文件中的函数,在中断文件中需要把下面两个头文件包含进来。

图2.29 以太网中断函数

图2.30 中断文件中需要包含的头文件

第二处:主函数中需对以太网硬件进行初始化,初始化位置如图2.31所示。初始化函数需要自己写,由于程序中已经写好了,直接调用就行了,但值得注意的是需把如图2.32所示的头文件包含进来。

第三处:创建其它分任务之前,需要初始化LWIP通信协议栈,初始化位置如图2.33

图2.31 以太网硬件初始化调用

图2.32 主文件中需要包含的头文件

所示。LWIP初始化函数需要自己写,由于程序中已经写好了,直接调用就行了,但值得注意的是需把如图2.34所示的头文件包含进来。

图2.33 LWIP协议栈初始化调用

图2.34 C文件中需要包含的头文件

第四处:程序中用到了printf函数(对字符串进行格式化输出),需在串口文件中添

加如图2.35所示一个函数。此函数用到了C文件标准库,需要把标准库头文件包含进来并在工程设置选项中把“Use MicroLIB”勾上,其操作过程如图2.36、图2.37所示。

图2.35 fputc函数

图2.36 C文件中需要包含的头文件

图2.37 MDK选项中的设置

到这一步,程序中需要修改的部分基本上完成。最后,把工程编译一下,检查一下程序修改是否有错。其编译结果如图2.38所示,零错误、零警告提示,表明程序修改无误。

图2.38 MDK编译结果


基于uCOS - II的以太网移植实例(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第二章继承爱国传统弘扬民族精神

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: