项目简介
本项目包含多个示例,展示了如何借助STM32CubeMX代码生成器和内置的TCP/IP协议栈LwIP操作GL嵌入式入门套件的以太网接口。代码基于轻量级的TCP/IP协议栈lwIP,适用于嵌入式系统,可满足其网络需求。
项目的主要特性和功能
- 多网络接口支持:能处理以太网、PPP、串行接口等不同网络接口,实现网络数据包的收发。
- 丰富的网络协议:实现TCP、UDP、ICMP、IGMP等网络协议,完成数据包的发送、接收、处理和响应。
- 网络地址管理:管理IPv4和IPv6地址,涵盖地址分配、解析、转换和压缩。
- 网络认证:实现CHAP、EAP等网络认证协议,保障网络连接安全。
- 网络压缩:实现VJ压缩等网络数据包压缩方式,优化网络传输效率。
- 网络管理:提供系统API、线程和互斥锁等功能,管理网络协议栈的资源和状态。
安装使用步骤
前提条件
若要构建示例,需安装STM32CubeIDE。若使用命令行,还需安装以下实用工具: - GNU Make - arm-none-eabi-gcc - binutils - openocd - gdb-multiarch
若未安装,可通过以下命令安装:
bash
sudo apt update
sudo apt install make gcc-arm-none-eabi openocd gdb-multiarch -y
构建项目
使用STM32CubeIDE构建
启动STM32CubeIDE,选择tcp_socket_client
项目,点击菜单Project->Build All
。
使用Makefile构建
- 按
Ctrl+T
打开系统终端,将当前目录切换到~/GL-ESK-ETHERNET
。 - 将Makefile复制到项目目录:
bash cp scripts/Makefile tcp_socket_client/
- 切换到项目目录:
bash cd tcp_socket_client
- 运行命令:
bash make
烧录与调试
在STM32CubeIDE中烧录与调试
启动STM32CubeIDE,选择tcp_socket_client
项目,点击带有bug图标的按钮(Debug tcp_socket_client)。
使用Linux终端烧录与调试
- 按
Ctrl+T
打开终端,运行命令:bash openocd -f interface/stlink-v2-1.cfg -f target/stm32f4x.cfg
- 打开终端新标签,启动
gdb-multiarch
:bash gdb-multiarch build/tcp_socket_client.elf
在gdb
中执行以下命令:target remote localhost:3333 load
更多调试信息可参考GDB文档。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】