当前位置:网站首页 > R语言数据分析 > 正文

pcl头文件(lpcstr头文件)



简要

LwIP 不仅能在裸机上开发,也能在操作系统环境下运行,而且在操作系统环境下,用户能使用 NETCONN API 与 Socket API 编程。相比于 RAW API 编程会更加简便。使用操作系统环境下,这意味着 多线程的环境,一般来说,LwIP作为一个独立的处理线程运行,用户也独立一个或者多个线程,这样就在操作系统中相互独立开了,并且借助操作系统的 IPC 通信机制,更好的实现功能的需求。

LwIP 需要使用操作系统,那么就需要依赖操作系统自身的通信机制,如信号量、互斥量、消息队列(邮箱)等。所以LwIP设计者在设计的时候就提供了一套与操作系统相关的接口,由用户依据操作系统的不同进行移植。这样子就能降低耦合度,让LwIP内核不受其运行环境的影响,因为往往用户并不能完全了解内核的运作,所以只需要用户在移植的时候对LwIP提供的接口,根据不同的操作系统进行完善就可以。

移植参考:

ST官方提供了一个以太网通信的Demo:STSW-STM32070,适配与STM32F4系列,使用LwIP协议栈,适配PHY为DP83848,移植时,主要参考该demo。

stm32cubemx Freertos不生成文件_#define

STSW-STM32070介绍

stm32cubemx Freertos不生成文件_TCP_02

移植工作

  1. 准备好一个带FreeRTOS的项目工程文件,将刚才下载的 stsw-stm32070.zip 解压后的 lwip-1.4.1拷贝到工程目录下,如图所示:
  2. stm32cubemx Freertos不生成文件_DHCP_03

  3. ThirdParth目录下:
  4. stm32cubemx Freertos不生成文件_DHCP_04

  5. lwip-1.4.1 目录下:
  6. stm32cubemx Freertos不生成文件_#define_05

  7. 其中 prot 文件就是 LwIP与STM32F4x7移植的接口文件,
  8. stm32cubemx Freertos不生成文件_TCP_06


  9. stm32cubemx Freertos不生成文件_#define_07

  10. 其中分为带FreeRTOS操作系统和不带操作系统(Standalone)的接口。
  11. 添加文件到项目组文件夹,如图所示:
  12. stm32cubemx Freertos不生成文件_TCP_08

  13. 展开为:
  14. stm32cubemx Freertos不生成文件_DHCP_09

  15. 该文件位于 /STM32F4x7_ETH_LwIP_V1.1.1/Libraries/STM32F4x7_ETH_Driver下面的 stm32f4x7_eth.c 以及配套的.h文件 。该文件是官方提供类似于标准库提供的那些I2C,UART,SPI等库函数文件。
  16. stm32cubemx Freertos不生成文件_TCP_10

  17. 这些文件是 LwIP-1.4.1 的源码文件和适配FreeRTOS的接口文件。
  18. 添加相应源文件的头文件路径
  19. stm32cubemx Freertos不生成文件_#define_11

  20. 添加 stm32f4x7_eth_bsp.c 文件并修改
    该文件位于如下所示文件下面:

    由于demo中采用的是 MII模式,而我们硬件采用的是RMII模式,所以需要修改部分定义:
    在main.h文件中修改宏:

    stm32f4x7_eth_bsp.c中修改:

    由于我们没有使用以太网链接中断(DP83848 第7脚:PWR_DOWN/INT ),因此注释掉关于以太网链接中断配置。
    GPIO部分配置也保留RMII的配置:
  1. 添加 netconf.c文件:
    该文件位于如下路径:
    该文件主要是网络连接配置文件,主要与LwIP初始化,DHCP任务初始化,直接移植过来,删除不必要的LCD显示即可:
  1. 添加 lwippopts.h 文件。
    该文件位于如下所示路径中
    将其添加到项目文件中。
    lwipopts.h 就是用于配置 LwIP 的相关参数的,一般来说LwIP默认会有参数的配置,存放在opt.h文件中,如果用户没有在lwipopts.h文件进行配置,那么LwIP就会使用opt.h默认的参数,注意,在移植的时候出现定义某些参数是非常重要的,这对我们LwIP的性能至关重要,甚至在配置错误的时候能直接导致LwIP的运行崩溃。具体的作用可参考注释:
  1. 修改 stm32f4xx_it.c 文件。
    因为我们这里使用了以太网中断,所以需要添加以太网中断服务函数,否则就会跳转失败。
  1. main.c中,,添加以太网底层bsp驱动和LwIP驱动。

    以上即完成了 LwIP 与 FreeRTOS的移植。
ping测试

底层网络配置在main.h文件中,

stm32cubemx Freertos不生成文件_TCP_12

移植注意事项
  1. 第一次在移植的过程中,可能是DP83848芯片有问题。通过电脑连接网线至底层板卡后2个指示灯一直亮,也没有闪烁。(PS: 刚开始还不清楚是芯片有问题,结果一直在找软件的问题,卡了3-4天)后来换了一块板卡后,发现不关有没有配置 dp83849 和 lwip 刚插上网线后,有一个灯是会闪烁的。

stm32cubemx Freertos不生成文件_DHCP_13

到此这篇pcl头文件(lpcstr头文件)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • nowcoder(nowcoder什么意思)2024-12-04 13:18:08
  • char数组合并(char* char数组)2024-12-04 13:18:08
  • crisella手表价格(cristallo手表)2024-12-04 13:18:08
  • ip15promax长度(promax长度多少厘米)2024-12-04 13:18:08
  • spring webflux是什么(spring webflux官网)2024-12-04 13:18:08
  • raise a suilen观看(raise a glass to freedom)2024-12-04 13:18:08
  • rpm命令和yum命令具有哪些作用(rpm命令用法)2024-12-04 13:18:08
  • spring教程电子书(spring教程 csdn)2024-12-04 13:18:08
  • prgrm怎么读(prigrammer怎么读)2024-12-04 13:18:08
  • crrju手表多少钱(cruiser手表多少钱)2024-12-04 13:18:08
  • 全屏图片