基于STM32F2xx库建立uCOS-II工程.doc_第1页
基于STM32F2xx库建立uCOS-II工程.doc_第2页
基于STM32F2xx库建立uCOS-II工程.doc_第3页
基于STM32F2xx库建立uCOS-II工程.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于STM32F2xx库建立uCOS-II工程的步骤1.1 前期准备基于STM32F2xx标准外设库建立uCOS-II工程需要准备的文件1. Micrium-ST-uCOS-II-LCD-STM32.exe,该文件是uCOS-II官方的ST Cortex-M3移植,下载地址:/page/downloads/ports/st/stm322. Keil RVMDK4.54 下载地址:/demo/eval/arm.htm3. STM32F2xx系列标准外设库,ST官方提供,版本V1.0.0,下载地址:/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f2xx_stdperiph_lib.zip1.1.1 准备工作1、 新建一个文件夹,用来存放目的工程文件。例如,笔者建立的工程文件名为STM32F205_UCOS2。2、 在工程文件夹中建立下面几个文件夹用来存放STM32F2xx库文件和UCOS-II源文件以及用户文件,这几个文件夹分别为CMSIS,Libraries,Output,uCOS-II,uCOS-II_BSP,USER。1.1.2 复制uCOS-II文件Micrium-ST-uCOS-II-LCD-STM323、 复制MicriumSoftwareEvalBoardsSTSTM3210E-EVALRVMDK下的BSP文件夹到uCOS-II_BSP文件夹中,只保留BSP.c和BSP.h文件。4、 复制MicriumSoftware下所有文件夹到uCOS-II文件夹中。1.1.3 复制STM32F2库文件STM32F2xx_StdPeriph_Lib_V1.1.05、 复制Libraries下的STM32F2xx_StdPeriph_Driver到Libraries文件夹中。6、 复制LibrariesCMSIS下的Include文件夹到目标工程CMSIS文件夹中。7、 复制LibrariesCMSISDeviceSTSTM32F2xxSourceTemplates下的arm文件夹到目标工程CMSIS文件夹中。1.1.4 复制User相关文件8、 复制MicriumSoftwareEvalBoardsSTSTM3210E-EVALRVMDKOS-Probe下面的app.c,app_cfg.h,includes.h,os_cfg.h等4个文件到User文件夹下面。9、 复制STM32F2xx标准外设库ProjectSTM32F2xx_StdPeriph_Template文件夹下面的main.c,main.h,stm32f2xx_conf.h,stm32f2xx_it.c,stm32f2xx_it.h,system_stm32f2xx.c到User文件夹下面。10、 复制STM32F2xx标准外设库LibrariesCMSISDeviceSTSTM32F2xxInclude下的两个头文件stm32f2xx.h,system_stm32f2xx.h到User文件夹中。注:在STM32F2标准库提供的例程中,这两个文件在原文件夹中没有复制到用户文件夹,由于我们的移植需要更改这两个文件,故将该两个文件复制到User文件夹中。11、 至此所有的文件复制完毕。1.2 建立uVision4工程1. 打开Keil uVision4,建立STM32F205工程,选择芯片为STM32F205ZE,保存在STM32F205_uCOS2文件夹中。该过程中出现下列的对话框时,选择“否(N)”。2. 打开“Component,Envirments and Books”对话框添加工程组件,添加完成之后如下图所示。3. 按照下表所示的添加程序文件Groups路径文件名StartUpCMSISarmstartup_stm32f2xx.sCMSISUSERsystem_stm32f2xx.cuC-CPUuCOS-IIuC-CPUARM-Cortex-M3RealViewcpu_a.asmcpu_c.cuC_LibuCOS-IIuC-LIBPortsARM-Cortex-M3RealViewlib_mem_a.asmuCOS-IIuC-LIBlib_mem.clib_str.cuCOS-II/PortuCOS-IIuCOS-IIPortsARM-Cortex-M3GenericRealViewos_cpu_a.asmos_cpu_c.cos_dbg.cuCOS-II/SourceuCOS-IIuCOS-IISource*.cuCOS-II/BSPuCOS-II_BSPBSPbsp.cSTM32F2xx_StdPeriph_LibLibrariesSTM32F2xx_StdPeriph_Driversrc*.cUserUsermain.cstm32f2xx_it.c4. 使用时钟配置工具“STM32F2xx_Clock_Configuration_V1.1.0.xls”生成合适的“system_stm32f2xx.c”文件,替代User文件夹下的相应文件。打开文件“os_cpu_a.asm”修改行41为 EXPORT PendSV_Handler修改行203为 PendSV_Handler ; OSPendSV注释掉行204修改行206为 CBZ R0, OSPendSV_nosave ; Skip register save the first time修改行216为 OSPendSV_nosave注释掉行237注:该文件修改的原因是uCOS-II官方移植使用的中断向量表与ST使用的中断向量表不一致,为了能够进行任务切换,这里采用修改uCOS-II官方移植的方法。5. 如上一条所示,由于uCOS-II已经提供任务切换中断服务程序,故在STM32F2xx_it.C文件中注释掉函数void PendSV_Handler(void)。6. 在STM32F2xx_it.c文件中修改SysTick_Handler函数如下:void SysTick_Handler(void) OS_CPU_SysTickHandler(); /* 该函数来自于uCOS-II官方移植 */同时在包含文件处添加一句#include OS_CPU.H,这样完成uCOS-II与main.c的结合。添加头文件的路径,如下图所示。7. 打开文件bsp.h,修改头文件为如下形式#include “cpu.h”#include “lib_def.h”#include “lib_mem.h”#include “lib_str.h”#include “stm32f2xx_conf.h”#include “app_cfg.h”#include “bsp.h”#include “ucos_ii.h”8. 打开app_cfg.h删掉#define APP_OS_PROBE_EN DEF_ENABLED#define APP_PROBE_COM_EN DEF_ENABLED/* PROBE*/#define OS_PROBE_TASK 1/* Task will be created for uC/Probe OS Plug-In. */#define OS_PROBE_TMR_32_BITS0 /* uC/Probe OS Plugin timer is a 16-bit timer. */#define OS_PROBE_TIMER_SEL2 /*Select timer 2. */#define OS_PROBE_HOOKS_EN1 /* Hooks to update

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论