1. 关于使用外设库和芯片选择
需定义USE_STDPERIPH_DRIVER和STM32F40_41xxx
具体在stm32f4xx.h定义或者Target Options里配置
2. 关于时钟配置
本工程外部晶振使用8M
因此需要修改外部晶振以及PLL相关的宏定义
stm32f4xx.h里配置
#define HSE_VALUE ((uint32_t)8000000)
system_stm32f4xx.c里配置
#define PLL_M 8
3. 移植UCOSIII
第一步, 添加ucosiii文件
添加cpu,lib,core,port:
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那些乱七八糟的东西
第二步, 修改部分文件
startup_stm32f40xx.s
如果需要增加FPU的支持,则还要对port里的三个文件进行修改
os_cpu.h
os_cpu_c.c
os_cpu_a.asm
3. 移植lwip,有RTOS,在无RTOS的版本上作修改
最主要就是sys_arch里实现邮箱,信号量,任务等接口
LwIP_Init里要修改:
tcpip_init( NULL, NULL );
netif_add(&gnetif, &ipaddr, &netmask, &gw, NULL, ðernetif_init, &tcpip_input);
lwipopts.h修改相应参数
最后创建NET接收任务和NET应用任务
1