历史上的今天
今天是:2025年07月24日(星期四)
2019年07月24日 | STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程
2019-07-24 来源:eefocus
概要:本次使用的硬件平台是STM32F407ZGT6的板子,外加一块LAN8742A网络模块,先上一张全家福:
软件平台使用的是CubeMX V4.22及Keil V5.21.10软件。


LwIP的架构

LwIP API的三种方式:

1、使用CubeMX新建工程,如下图所示:

2、选择芯片型号:本开发板使用的是STM32F407ZGT6芯片;

3、IO口选择
3.1、选择并使能RCC时钟源为:HSE
3.2、选择并使能ETH接口为:RMII类型接口,本次使用的是LAN8742A模块,是RMII类型接口
3.3、选择并使能LWIP协议栈:
3.4、选择并使能FreeRTOS操作系统:
3.5、选择并使能UART1为:Asynchronous模式
3.6、设置LED的端口模式:可根据自己的板子原理图调整GPIO口
3.7、设置KEY的端口模式:可根据自己的板子原理图调整到相应的GPIO口



4、时钟配置
选择自动配置

时钟配置完成后如下图所示:

5、Configuration
5.1、ETH配置


5.2、LWIP配置
若使能DHCP服务则如图所示:

如若不使能,则需要关闭DHCP功能,用户手动添加IP地址,子网掩码,默认网关信息;选择带RTOS的模式

5.3、FreeRTOS配置
要特别注意的是内存配置里的TOTAL_HEAP_SIZE参数,在默认只有一个任务的情况下,系统给定的是:15306Byte,但是在该项目中,需要用户添加的线程有好几个,所以这个值要在芯片参数允许的范围内,以及实际需要,进行修改,否则会有线程创建不成功,无法执行的问题。

6、工程设置



点击“OK”按钮,生成工程
史海拾趣
|
我要用DS18B20设计一个数字式温度计,要求是用protues仿真,并且要求可以切换测华氏度和摄氏度。知道的兄弟,赐教一下。我是单片机初学者,汇编语言掌握不错,希望大家一起探讨下,学习学习~~~知道的,邮箱我:wmywolf@qq.com… 查看全部问答> |
|
谁在玩WINCE60?发个ARMV4I版本的RIL。DLL给我啊,我的WINCE60找不到这个文件,大家帮帮忙! 谁在玩WINCE60?发个ARMV4I版本的RIL。DLL给我啊,我的WINCE60找不到这个文件,大家帮帮忙! QQ:392325349; MSN:xqhrs232@hotmail.com; email---xqhrs232@yahoo.com.cn… 查看全部问答> |
|
我用的是VS2008,进行wince 编程,在进行中有个问题如题,如何得到编写的程序在设备中的目录,以便在程序中向这个目录中添加文件,最好能给出简单的代码,谢谢。… 查看全部问答> |
|
PC采用TCP&UDP测试工具接收2440发送的数据 新手求助 大家帮忙看看 问题:1.若发送内容只是一行字符的文件 只收到文件内容的第一个字符 TCP&UDP测试工具 计数显示的数 是文件字符数2倍 2.若发送分辨率640X480 600K的b ...… 查看全部问答> |
|
F-E56CSM-V1嵌入式MODEM模块 简介: F-E56CSM-V1 MODEM是嵌入式串口/TTL电平双选择直流5V或3.3V供电Modem模块,为用户提供支持V.92、V.90、V.34、V.32bis及以下协议的调制解调器OEM、ODM方案。 F-E56CSM-V1 MODEM模块支持上行速率33.6Kbps和下行 ...… 查看全部问答> |
|
STM8S103的TIM1—CH1测量PWM输入信号 我完全按照官方参考手册RM0016的寄存器配置 TIM1->CCMR1 = 0x01; //置TIM1_CCMR1寄存器的CC1S=01(选中TI1) TIM1->CCMR2 = 0x02; //置TIM1_CCMR2寄存器的CC2S=10(选中TI1FP ...… 查看全部问答> |
|
使用89S52芯片;保存变量的几个值都是unsigned long型,但运算数值在65536至99999之间会出错(得到的数值是实际数值减去65536),如果小于65536或大于99999运算正常;请问这是什么原因?… 查看全部问答> |
|
介绍一种基于仪表总线的小型分布式测控系统的设计方案。采用TI公司的仪表总线专用收发芯片TSS721A及具有极低功耗MSP430系列单片机,使系统设计大为简化。以办楼安全监控系统的设计为例进行说明。… 查看全部问答> |





