zoukankan      html  css  js  c++  java
  • 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个文件夹。

     把MicriumSoftwareEvalBoardsMicriumuC-Eval-STM32F107uCOS-III文件夹下

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

    把MicriumSoftwareEvalBoardsMicriumuC-Eval-STM32F107BSP文件夹下

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

     把MicriumSoftware下面三个文件夹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++”,在包含路径添加如下

    ....LibrariesCMSIS;....LibrariesFWlibinc;....User;....UserAPP;....UserBSP;....UserBSPled;....UseruC-CPU;....UseruC-CPUARM-Cortex-M3RealView;....UseruC-LIB;....UseruCOS-IIISource;....UseruCOS-IIIPortsARM-Cortex-M3GenericRealView

    在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模板工程就完成了

  • 相关阅读:
    spring源码怎么解决循环依赖?
    观察者模式
    单例模式
    Python 列表(List)
    python字符串(str)
    内置函数
    python运算符
    函数名的应用 闭包 迭代器
    生成器,推导式
    python的起源
  • 原文地址:https://www.cnblogs.com/legion/p/8027467.html
Copyright © 2011-2022 走看看