
STM32F407、UCOSIII和LWIP实现了无缝融合。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
1. 该项目涉及外设库和芯片的选择,需要明确定义USE_STDPERIPH_DRIVER和STM32F40_41xxx的具体配置,这可以通过在stm32f4xx.h文件中进行定义,或在Target Options中进行设置来实现。
2. 针对时钟配置,本工程采用外部8MHz晶振,因此需要在stm32f4xx.h文件中修改与外部晶振以及PLL相关的宏定义,例如:#define HSE_VALUE ((uint32_t)8000000),并在system_stm32f4xx.c文件中配置#define PLL_M 83。
3. 移植UCOSIII系统的第一步是添加UCOSIII相关的文件,包括CPU、库、核心、端口:Micrium\_STM3240G-EVAL\_OS3\Micrium\Software。同时添加ucos\_config:Micrium\_STM3240G-EVAL\_OS3\Micrium\Examples\ST\STM3240G-EVAL\OS3。最后添加os\_cpu\_bsp.c和os\_cpu\_bsp.h文件,并自行修改了SYSTick和TMR的相关接口,从而避免了添加官方BSP中的冗余代码。
4. 移植UCOSIII系统第二步是修改部分文件startup\_stm32f40xx.s。如果需要增加FPU的支持,则还需要对port目录下的三个文件(os\_cpu.hos、os\_cpu\_c.cos、os\_cpu\_a.asm)进行相应的修改。
5. 移植lwip协议栈时,在已有的RTOS版本基础上进行调整,主要集中在sys\_arch中实现邮箱、信号量和任务等接口。此外,LwIP\_Init函数中需要修改tcpip\_init( NULL, NULL);以及netif_add(&gnetif, &ipaddr, &netmask, &gw, NULL, ðernetif_init, &tcpip_input);语句中的参数设置。最后还需要修改lwipopts.h文件中的相关参数。
6. 此外,还需要创建NET接收任务和NET应用任务以完成网络通信功能。
全部评论 (0)


