STM32F407 FreeRTOS LWIP 移植工程

STM32F407 FreeRTOS LWIP 移植工程

去发现同类优质开源项目:https://gitcode.com/

资源介绍

本仓库提供了一个基于STM32F407芯片的FreeRTOS和LWIP移植工程,适用于正点原子STM32F4探索者开发板平台。该工程使用标准库和MDK5开发环境,实现了FreeRTOS的LWIP移植,并集成了DHCP和TCP客户端功能。

功能特点

  • 开发平台:正点原子STM32F4探索者开发板
  • 芯片型号:STM32F407
  • 操作系统:FreeRTOS
  • 网络协议栈:LWIP 1.4.1
  • 网络接口:LAN8720
  • 网络功能:DHCP客户端、TCP客户端
  • 开发环境:MDK5
  • 库函数:标准库

工程说明

本工程参考了以下资源进行开发:

  1. 大神移植说明:https://blog.youkuaiyun.com/u014453443/article/details/81328222
  2. 《ALIENTEK STM32F4 LWIP的开发手册》

通过以上参考资料,成功实现了FreeRTOS的LWIP移植,并集成了DHCP和TCP客户端功能。该工程可以直接运行在正点原子STM32F4探索者开发板平台上。

使用说明

  1. 开发环境:确保你已经安装了MDK5开发环境。
  2. 硬件平台:使用正点原子STM32F4探索者开发板。
  3. 工程导入:将本仓库的工程文件导入到MDK5中。
  4. 编译运行:编译工程并下载到开发板上,即可运行。

注意事项

  • 请确保开发板和网络接口的硬件连接正确。
  • 在运行工程前,请检查开发板的配置是否与工程一致。

贡献与反馈

如果你在使用过程中遇到任何问题或有改进建议,欢迎提交Issue或Pull Request。

许可证

本工程遵循MIT许可证,详情请参阅LICENSE文件。

去发现同类优质开源项目:https://gitcode.com/

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

第一篇 平台篇 第1章 ARM处理器简介 1.1 ARM内核处理器沿革 1.1.1 传统ARM处理器 1.1.2 Cortex内核处理器 1.2 Cortex内核系列处理器技术特点 1.2.1 ARM Cortex-M系列处理器 1.2.2 ARM Cortex-R系列处理器 1.2.3 ARM Cortex-A系列处理器 1.3 STM32互联型嵌入式控制器 1.4 微控制器选型 1.4.1 选型因素 1.4.2 选型示例 第2章 基于STM32F107的开发板 2.1 STM32F107开发板 2.2 主要板载资源 2.2.1 10/100M以太网接口 2.2.2 CAN总线接口 2.2.3 RS485总线接口 2.2.4 其他总线接口 2.3 硬件设计要点 2.3.1 电磁兼容问题 2.3.2 信号完整性 2.3.3 电源完整性 第3章 开发环境 3.1 开发环境及搭建 3.1.1 常见开发环境 3.1.2 IAR EWARM安装 3.1.3 RealView MDK安装 3.2 相关开发工具 3.3 创建工程 第4章 编程规范 4.1 ST固件库编程规范 4.1.1 缩写 4.1.2 命名规则 4.1.3 编码规则 4.2 基于C语言的嵌入式编程规范 4.2.1 源代码的排版 4.2.2 源代码的注释 4.2.3 标识符命名 4.2.4 代码可读性 4.2.5 变量、结构 4.2.6 函数、过程 4.2.7 可测性 4.2.8 程序效率 4.2.9 质量保证 4.2.10 代码编辑、编译、审查 4.2.11 测试与维护 4.2.12 宏定义 第5章 项目规划 5.1 概述 5.2 系统分析 5.3 系统设计 5.4 系统制造 5.5 系统运用及反馈 5.6 开发团队 5.6.1 团队负责人 5.6.2 调研人员 5.6.3 开发人员 第二篇 RTOS篇 第6章 操作系统原理基础知识 6.1 前后台模式应用程序 6.2 嵌入式操作系统 6.2.1 相关基本概念 6.2.2 系统调用 6.2.3 操作系统结构 6.2.4 进程与任务 6.2.5 进程间的通信 6.2.6 进程调度 6.2.7 存储管理 第7章 FreeRTOS嵌入式操作系统 7.1 FreeRTOS特色 7.2 任务管理 7.2.1 任务函数 7.2.2 基本任务状态 7.2.3 任务创建 7.2.4 任务的优先级 7.2.5 非运行状态 7.2.6 空闲任务及回调函数 7.2.7 改变任务优先级 7.2.8 删除任务 7.2.9 调度算法概述 7.3 队列管理 7.3.1 概述 7.3.2 使用队列 7.3.3 大型数据单元传输 7.4 中断管理 7.4.1 延迟中断处理 7.4.2 计数信号量 7.4.3 在中断服务例程中使用队列 7.4.4 中断嵌套 7.5 资源管理 7.5.1 基本概念 7.5.2 临界区与挂起调度器 7.5.3 互斥量 7.5.4 互斥的另一种实现 7.6 内存管理 7.6.1 概述 7.6.2 内存分配方案范例 7.7 常见错误 7.7.1 概述 7.7.2 栈溢出 7.7.3 其他常见错误 第8章 基于STM32F107的FreeRTOS移植 8.1 概述 8.2 FreeRTOS移植 8.2.1 portmacro.h头文件 8.2.2 port.c源文件 8.2.3 portasm.s汇编源文件 8.2.4 其他问题 8.3 创建测试任务 第三篇 LwIP篇 第9章 TCP/IP协议栈介绍 9.1 引言 9.2 网络分层 9.2.1 OSI七层参考模型 9.2.2 TCP/IP分层 9.2.3 TCP/IP协议簇的协议 9.3 IP协议 9.4 ARP协议与RARP协议 9.5 ICMP 9.6 TCP协议 9.7 UDP协议 9.8 FTP协议 第10章 LwIP轻量级TCP/IP协议栈 10.1 LwIP进程模型 10.2 LwIP缓冲与内存管理 10.2.1 LwIP动态内存管理机制 10.2.2 LwIP的缓冲管理机制 10.3 LwIP网络接口 10.4 LwIP的ARP处理 10.5 LwIP的IP处理 10.6 LwIP的ICMP处理 10.7 LwIP的UDP处理 10.8 LwIP的TCP处理 10.8.1 TCP处理流程概述 10.8.2 TCP控制块 10.8.3 LwIP的TCP滑动窗口 10.8.4 LwIP的TCP超时与重传 10.8.5 LwIP的TCP拥塞控制 10.8.6 LwIP的TCP定时器 10.9 LwIP的应用程序接口简介 10.9.1 RAW API接口 10.9.2 Sequential API接口 第11章 基于STM32F107的LwIP移植 11.1 ethernetif.c文件的移植 11.1.1 ethernetif_init函数 11.1.2 low_level_init函数 11.1.3 ethernetif_input函数 11.1.4 low_level_input函数 11.1.5 low_level_output函数 11.2 网络驱动移植 11.2.1 以太网控制器概述 11.2.2 以太网控制器硬件配置 11.2.3 以太网控制器硬件的引脚配置 11.2.4 以太网驱动之接收 11.2.5 以太网驱动之发送 11.2.6 其他注意事项 11.3 基于RAW API接口的HelloWorld例程 第四篇 移植篇 第12章 基于FreeRTOSLwIP协议栈移植 12.1 概述 12.2 FreeRTOS下以太网驱动程序的移植 12.3 LwIP程序移植 12.3.1 以太网接口文件ethernetif.c的移植 12.3.2 操作系统模拟层文件sys_arch.c的移植 第13章 工业通信网关解析 13.1 概述 13.2 编码实现 13.3 通信测试 附录A 开发板原理图 附录B 专业术语 参考文献
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李想曦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值