STM32F103 UCOSIII的移植

下载ucosiii源码

到官方网站https://www.micrium.com/download/micrium_uc-eval-stm32f107_ucos-iii/

下载ucosiii代码,或者从这里下载

正点原子的教程

这里下载正点原子的LED流水灯作为移植的模板工程

 

秉火版的教程

 这里下载秉火的LED流水灯作为移植到模板工程

移植步骤:

文件操作

在User目录下建立APP,BSP,uC-CPU,uC-LIB,uCOS-III等5个文件夹。

 把Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\uCOS-III文件夹下

从app.c到os_cfg_app.h等9个文件,拷贝到APP文件夹中。

把\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\BSP文件夹下

bsp.c,bsp.h复制到新建的BSP文件夹中。

 把Micrium\Software下面三个文件夹uC-CPU,uC-LIB,uCOS-III中的内容分别复制到uC-CPU,uC-LIB,uCOS-III中,

删除所有GNU和IAR文件夹。User文件夹下的led转移到BSP文件中,删除main.c文件。

工程操作

打开工程,移除黄色标记的文件。

 点击品字图标“Manage Project Items”,在Groups中添加APP,BSP,uC/CPU,uC/LIB,uC/OS-IIISource,uC/OS-IIIPort等

再添加对应文件APP下添加APP文件中所有,BSP中添加bsp.c,bsp.h和其余的.c文件

剩下的四组添加对应文件夹中所有类型文件。

点击魔术棒“options”,点击“C/C++”,在包含路径添加如下

..\..\Libraries\CMSIS;..\..\Libraries\FWlib\inc;..\..\User;..\..\User\APP;..\..\User\BSP;..\..\User\BSP\led;..\..\User\uC-CPU;..\..\User\uC-CPU\ARM-Cortex-M3\RealView;..\..\User\uC-LIB;..\..\User\uCOS-III\Source;..\..\User\uCOS-III\Ports\ARM-Cortex-M3\Generic\RealView

 

在APP 中includes.h文件,注释掉87行的#include  <stm32f10x_lib.h>,添加#include "stm32f10x.h"

在STARTUP中“startup_stm32f10x_hd.s”文件,把76,77行当PenSV_Handler和SysTick_Handler分别修改为OS_CPU_PendSVHandler和

OS_CPU_SysTickHandler,同理192行那里同样修改。

 

APP下的cpu_cfg.h,99行当CPU_CFG_TS_32_EN 后面改成DEF_ENABLED

135行改成#if 1

 bsp.h第74行改成include "stm32f10x.h",注释掉<app_cfg.h>下面的几个include

添加#include "bsp_led.h"

保留BSP_Init和BSP_CPU_ClkFreq其余函数声明都注释掉

bsp.c 86行的2个函数注释掉

删除BSP_Init 大括号里面原来的代码,改成自己的初始化代码,比如LED_Init等

从第219开始,注释掉所有BSP开头的函数体。

 app_cfg.h中,42行,改成DEF_DISABLED

 app.c main函数里面删除BSP_IntDisAll(); 

AppTaskStart函数里面,删除WHILE循环前面5句代码。while里面改成

macLED1_TOGGLE();
OSTimeDly(2000,OS_OPT_TIME_DLY,&err);

71,72的两行代码删除。对应的函数实现也删除

这样一个秉火F103的ucosIII模板工程就完成了

posted on 2017-12-12 14:03  legion  阅读(1326)  评论(0编辑  收藏  举报

导航