- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在开发板上运行LWIP-RT-Thread
在开发板上运行LWIP
1.开发环境
(1)软件环境:MDK5 、env_0.7.1 、RT-Thread_3.1.0
(2 )硬件环境:正点原子探索者开发板(MCU :STM32F407ZGT6 )
(3 )板载PHY 芯片:LAN8720 ,与MCU 连接方式为RMII
2.硬件连接
(1)调试通信端口(USART3 )与电脑连接
(2 )RJ45 网络接口通过网线与路由器连接
3.要求
调通以太网,跑一遍网络例程
4.以太网通信配置
(1)获得网口驱动
由于用的BSP 位于目录rt-thread\bsp\stm32f4xx-HAL 中,但是这个目录下的drivers 文
件夹中没有网卡驱动。于是,从 rt-thread\bsp\stm32f429-apollo\ 这个目录下的驱动文件夹
drivers 中复制一份网卡驱动文件 (drv_eth.c 和drv_eth.h ),将其放在rt-thread\bsp\stm32f4xx-
HAL\drivers 目录下。为什么要从这个目录下复制网卡驱动呢?因为这两个 BSP 用到的
STM32F4 的库都是HAL 库,所以底层调用的网络接口库函数相同,方便移植。
(2 )修改驱动代码
正点原子探索者开发板上PHY 芯片为LAN8720A ,与MCU (STM32F407ZGT6 )通过
RMII 连接,查看原理图发现复位引脚 (PD3 )和ETH_RMII_TX_EN 引脚 (PG 11)需要修
改。进入目录rt-thread\bsp\stm32f4xx-HAL\drivers ,打开drv_eth.c 文件,修改PHY 芯片连接
引脚情况如下
修改PHY 引脚复位函数phy_pin_reset(void) ,修改后如下图所示
代码修改完成后,并不能加入到工程中,打开 rt-thread\bsp\stm32f4xx-HAL 目录下的
SConscript 文件,添加如下内容
(3 )开启LWIP
在rt-thread\bsp\stm32f4xx-HAL 目录下,打开env 工具,输入menuconfig 命令,进入配
置界面。
首先配置开启LWIP 协议栈。
开启SAL,并配置SAL 选择LWIP 协议栈。
由于开发板通过网线连接路由器,则开启DHCP 服务,自动获取IP 地址。
(4 )设置调试串口
正点原子探索者开发板UART 1 通过板载USB 转串口芯片实现USB 接口与电脑连接,
但由于电路的特殊处理,导致在使用UART 1 作为FINSH 通信端口时,在电脑端用PuTTY
软件不能正常打印信息。UART2 的TX 引脚与PHY 芯片的MDIO 冲突,所以不能用UART2
作为FINSH 通信端口,否则不能正常工作。所以选择UART3 作为FINSH 通信端口。
使能UART3 ,如果是首次使用这个BSP ,UART3 选项并不存在,需要自己进行添加。
添加UART3 选项配置步骤请参考步骤 (5 )添加UART3 驱动相关的代码。
(5 )添加UART3 驱动相关的代码
初始情况下,env 配置界面中并没有UART3 的使能选项,所以需要自己进行添加。添
加步骤如下。首先打开stm32f4xx-HAL\drivers 目录下的drv_usart.c 文件。
(a )添加USART3 的中断服务例程
(b )在 void HAL_UART_MspInit(UART_HandleTypeDef *uartHandle) 函数中添加USART3
初始化配置代码
(c )在int hw_usart_init(void)函数中添加向RT-Thread 内核注册USART3 设备代码
(d )在env 的menuconfig 中添加USART3 功能选项
打开stm32f4xx-HAL 目录下的Kconfig 文件,找到“RT_USING_UART2 ”,并在其下边
添加“UART3 ”的相关内容,如下图中圈出所示
完成以上步骤后,在env 配置界面就可以出现UART3 使能选项。
5.配置结果
配置完成后,编译下载到开发板,启动后
测试联网情况,输入ping ,网络连接成功。
文档评论(0)