LWIP在STM32上的移植

       本文做记录摘抄,加上自己的体会:

       文章标题:STM32使用LWIP实现DHCP客户端

       http://www.cnblogs.com/dengxiaojun/p/4379545.html

       该文章介绍了几点,LWIP源码的内容。关键点:1、include下新建arch文件夹,在arch文件夹下的sys_arch.c多任务定时检测功能,配合的timer.c文件完成协议栈心跳抽水泵。

       2、lwipopts.h文件是对协议栈的配置文件,内存大小设置、是否使用操作系统、是否使能DHCP功能。

       3、netif文件夹下的ethernetif.c完成的是协议栈与网卡驱动衔接的功能。也就是说将LWIP协议栈移植适应不同的网卡芯片,这里就是重点需要更改的地方。

       4、main函数中的LWIP_Polling函数就是一个定时轮训的过程,这样就维持了协议栈的正常工作。

 

       下面是正点原子提供的《STM32 LWIP开发手册》的阅读记录。

        一篇文档读几遍每一遍的阅读理解程度是不一样的,这应该是我第三遍读此文档,相信还要读几遍。

       在第8页有张图:REF_Clk out模式时的REF_CLK时钟源。这张图上STM32F407与LAN8702之间的关系一清二楚了。STM32F407内置MAC层硬件,LAN8702是PHY层硬件。他们之间通过RMI总线连接。RMI总线非常简洁,就9根线。既然STM32F407驱动LAN8702,那么LAN8702提供了哪些接口供STM32F407使用了呢,主要的就是后面提到的BCR和BSR。控制寄存器和状态寄存器。对于一个网卡能有什么状态呢,也不过是网卡当前运行的速度。控制寄存器稍微多一些,比如提供回路测试功能。

       STM32提供的库中对于PHY级寄存器的定义在stm32f4x7.h中,同理,STM32对PHY级芯片的初始化工作就再stm32f4x7.c中---Eth_Init()函数完成对PHY芯片的初始化。

       stm32f4x7_eth_conf.h中有对PHY芯片的选择和配置,比如PHY芯片特殊功能寄存器的地址。

转载于:https://www.cnblogs.com/kanite/p/4975128.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
移植STM32平台的LWIP功能之前,需要进行一些准备工作。首先,您需要下载所需的资料,包括lwip-2.1.2、contrib-2.1.0和STM32F4x7_ETH_LwIP_V1.1.1。您可以参考《基于STM32移植LWIP的资料准备》来获取这些资料。另外,您还需要准备好已经在STM32移植好的FreeRTOS的工程。 移植的目标平台是STM32F429,您可以参考STM32官网上提供的STM32F4x7微控制器的LwIP TCP/IP协议栈的演示代码,将其移植到目标平台。 在移植LWIPSTM32平台上时,需要完成以下四个主要部分: 1. RTOS:在STM32上运行FreeRTOS,并为LWIP协议栈提供Mutex、Mailbox和Create Thread等API接口。 2. Network System Config:对LWIP协议栈的系统设置进行配置。 3. LWIP Stack:将LWIP 2.1.2 TCP/IP协议栈的源码添加到工程中。 4. Hardware Driver:主要是设置STM32平台ETH接口的驱动层,例如GPIOs、时钟、MAC和DMA等。 通过完成这些步骤,您就可以在STM32平台上成功移植LWIP功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【FreeRTOS】基于STM32移植LWIP 2.1.2详细步骤](https://blog.csdn.net/ZHONGCAI0901/article/details/109579940)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值