ucosIII

/* ************************************************************************************************************************ *                                                      uC/OS-III *                                                 The Real-Time Kernel * *                                  (c) Copyright 2009-2011; Micrium, Inc.; Weston, FL *                           All rights reserved.  Protected by international copyright laws. * *                                                  CONFIGURATION FILE * * File    : OS_CFG.H * By      : JJL  注释:~风中的叶~ * Version : V3.02.00 * * LICENSING TERMS: * --------------- *           uC/OS-III is provided in source form for FREE short-term evaluation, for educational use or *           for peaceful research.  If you plan or intend to use uC/OS-III in a commercial application/ *           product then, you need to contact Micrium to properly license uC/OS-III for its use in your *           application/product.   We provide ALL the source code for your convenience and to help you *           experience uC/OS-III.  The fact that the source is provided does NOT mean that you can use *           it commercially without paying a licensing fee. * *           Knowledge of the source code may NOT be used to develop a similar product. * *           Please help us continue to provide the embedded community with the finest software available. *           Your honesty is greatly appreciated. * *           You can contact us at www.micrium.com, or by phone at +1 (954) 217-2036. ************************************************************************************************************************ */

#ifndef OS_CFG_H #define OS_CFG_H

/* ---------------------------- MISCELLANEOUS -------------------------- */ #define OS_CFG_APP_HOOKS_EN             1u   /* Enable (1) or Disable (0) application specific hooks;HOOK功能的使能   */ #define OS_CFG_ARG_CHK_EN               1u   /* Enable (1) or Disable (0) argument checking;参数检测使能(调试的时候允许)*/ #define OS_CFG_CALLED_FROM_ISR_CHK_EN   1u   /* Enable (1) or Disable (0) check for called from ISR;是否允许在ISR中调用系统函数(除了POST)*/ #define OS_CFG_DBG_EN                   1u   /* Enable (1) debug code/variables ;debug功能允许使能(可以知道OS_TCB的大小等,调试的时候使能)*/ #define OS_CFG_ISR_POST_DEFERRED_EN     1u   /* Enable (1) or Disable (0) Deferred ISR posts;使能则有短的中断延时,但是有长的ISR—to—task响应*/ #define OS_CFG_OBJ_TYPE_CHK_EN          1u   /* Enable (1) or Disable (0) object type checking;对象类型检测(调试的时候允许)*/ #define OS_CFG_TS_EN                    1u   /* Enable (1) or Disable (0) time stamping;时间戳使能                   */

#define OS_CFG_PEND_MULTI_EN            1u   /* Enable (1) or Disable (0) code generation for multi-pend feature是否支持事件的多路等待功能*/

#define OS_CFG_PRIO_MAX                64u   /* Defines the maximum number of task priorities (see OS_PRIO data type)任务优先级的最大数*/

#define OS_CFG_SCHED_LOCK_TIME_MEAS_EN  1u   /* Include code to measure scheduler lock time包含测量调度锁定时间的代码 */ #define OS_CFG_SCHED_ROUND_ROBIN_EN     1u   /* Include code for Round-Robin scheduling 包含轮转调度的代码            */ #define OS_CFG_STK_SIZE_MIN            64u   /* Minimum allowable task stack size 最小允许的任务堆栈的大小            */

/* ----------------------------- EVENT FLAGS --------------------------- */ #define OS_CFG_FLAG_EN                  1u   /* Enable (1) or Disable (0) code generation for EVENT FLAGS使能事件标志的代码*/ #define OS_CFG_FLAG_DEL_EN              1u   /*     Include code for OSFlagDel()使能标志删除功能                      */ #define OS_CFG_FLAG_MODE_CLR_EN         1u   /*     Include code for Wait on Clear EVENT FLAGS使能等待清除事件标志功能*/ #define OS_CFG_FLAG_PEND_ABORT_EN       1u   /*     Include code for OSFlagPendAbort()标志事件的等待终止功能          */

/* -------------------------- MEMORY MANAGEMENT ------------------------ */ #define OS_CFG_MEM_EN                   1u   /* Enable (1) or Disable (0) code generation for MEMORY MANAGER是否允许内存管理的功能*/

/* --------------------- MUTUAL EXCLUSION SEMAPHORES ------------------- */ #define OS_CFG_MUTEX_EN                 1u   /* Enable (1) or Disable (0) code generation for MUTEX互斥性信号量功能使能*/ #define OS_CFG_MUTEX_DEL_EN             1u   /*     Include code for OSMutexDel()互斥性信号量删除功能使能             */ #define OS_CFG_MUTEX_PEND_ABORT_EN      1u   /*     Include code for OSMutexPendAbort()互斥性信号量等待终止功能使能   */

/* --------------------------- MESSAGE QUEUES -------------------------- */ #define OS_CFG_Q_EN                     1u   /* Enable (1) or Disable (0) code generation for QUEUES消息队列功能使能  */ #define OS_CFG_Q_DEL_EN                 1u   /*     Include code for OSQDel() 消息队列删除功能使能                    */ #define OS_CFG_Q_FLUSH_EN               1u   /*     Include code for OSQFlush()消息队列刷新功能使能                   */ #define OS_CFG_Q_PEND_ABORT_EN          1u   /*     Include code for OSQPendAbort()消息队列等待终止功能使能           */

/* ----------------------------- SEMAPHORES ---------------------------- */ #define OS_CFG_SEM_EN                   1u   /* Enable (1) or Disable (0) code generation for SEMAPHORES信号量功能使能*/ #define OS_CFG_SEM_DEL_EN               1u   /*    Include code for OSSemDel()信号量删除功能使能                      */ #define OS_CFG_SEM_PEND_ABORT_EN        1u   /*    Include code for OSSemPendAbort()信号量等待终止功能使能            */ #define OS_CFG_SEM_SET_EN               1u   /*    Include code for OSSemSet()信号量置位功能使能                      */

/* -------------------------- TASK MANAGEMENT -------------------------- */ #define OS_CFG_STAT_TASK_EN             1u   /* Enable (1) or Disable(0) the statistics task统计功能使能              */ #define OS_CFG_STAT_TASK_STK_CHK_EN     1u   /* Check task stacks from statistic task统计任务堆栈检测功能使能         */

#define OS_CFG_TASK_CHANGE_PRIO_EN      1u   /* Include code for OSTaskChangePrio()改变任务优先级功能使能             */ #define OS_CFG_TASK_DEL_EN              1u   /* Include code for OSTaskDel() 任务删除功能使能                         */ #define OS_CFG_TASK_Q_EN                1u   /* Include code for OSTaskQXXXX()任务消息队列功能使能                    */ #define OS_CFG_TASK_Q_PEND_ABORT_EN     1u   /* Include code for OSTaskQPendAbort()任务消息队列等待取消功能使能       */ #define OS_CFG_TASK_PROFILE_EN          1u   /* Include variables in OS_TCB for profiling使能任务的详细情况功能,包括任务的切换次数,执行时间,相对于其他任务的CPU利用率*/ #define OS_CFG_TASK_REG_TBL_SIZE        1u   /* Number of task specific registers任务特殊功能寄存器                   */ #define OS_CFG_TASK_SEM_PEND_ABORT_EN   1u   /* Include code for OSTaskSemPendAbort()任务信号量等待取消功能使能       */ #define OS_CFG_TASK_SUSPEND_EN          1u   /* Include code for OSTaskSuspend() and OSTaskResume()任务暂时中止和恢复功能使能*/

/* -------------------------- TIME MANAGEMENT -------------------------- */ #define OS_CFG_TIME_DLY_HMSM_EN         1u   /*     Include code for OSTimeDlyHMSM()时间延时函数使能                  */ #define OS_CFG_TIME_DLY_RESUME_EN       1u   /*     Include code for OSTimeDlyResume()时间延时取消功能使能            */

/* ------------------------- TIMER MANAGEMENT -------------------------- */ #define OS_CFG_TMR_EN                   1u   /* Enable (1) or Disable (0) code generation for TIMERS定时器功能使能    */ #define OS_CFG_TMR_DEL_EN               1u   /* Enable (1) or Disable (0) code generation for OSTmrDel()定时器删除功能使能*/

#endif

时间: 2024-11-07 15:27:19

ucosIII的相关文章

ucos-III前言

前言 自从 2009年 uC/OS-III实时操作系统面世以来,uC/OS-III的性能和稳定性已经日趋完善.uC/OS-III对前面版本取精弃粕,推陈出新,功能和性能比起 uC/OS-II已经上了很大一步台阶.uC/OS-III 正在逐渐取代 uC/OS-II,学习 uC/OS-III 已经成为许多嵌入式工程师迫在眉睫的一件事. 下面是 uC/OS 系统各个版本的对比. uC/OS-III 的源码已经跟前面版本的源码相差很大,很多方面都做了更加规范的修改,很多处理问题的机制也有很大的突破. 因

ucos-III基础教程汇总

目录: 1.ucos-III前言

【Xilinx-ZYNQ ucos-iii的移植与开发】-00-开始

前一段时间,调试了一块ZYNQ的板子,上面用到了ucos-iii操作系统,最终在该板子上实现了操作系统的运行,并实现了一些外设模块的功能,主要包括PWM,I2C,GPIO,两级中断. 等有空了总结一下. 包括操作系统的移植(不算是移植,因为官方已经做好了-_-,就介绍一下怎么安装到Xilinx SDK当中去,和一些必要的参数配置), 基于ZYNQ ucos-iii的平台编写了一些AXI4外设模块的驱动程序,到时候也介绍一下,最重要的是AXI4 Interrupt Controller这个模块的功

stm32f407 官方ucos-iii 不支持FPU 导致haltfault错误的处理办法

由于官方提供的μCOS-III移植工程中对于浮点寄存器的入栈和出栈处理是错误的,所以网上就流传了 各种修正版本.但是这些修正的代码只能在 MDK4.7 以下版本中可以正常的运行,MDK4.7 及其以上的版 本无法正常运行.下面针对高版本的MDK进行修正处理 处理方法如下: 为了解决 FPU 的问题,有两个函数需要修改:一个是 CPU_STK  *OSTaskStkInit(),另一个是 PendSV 中断. 最后需要在工程选项中开启FPU的支持 修改函数CPU_STK  *OSTaskStkIn

UCOS-III API函数

附录:UCOS-III API函数 任务管理 就绪列表 挂起队列 时间管理 信号量 消息队列 内存管理

uCOS-iii 中定义的一些常量

uCOS-iii 中定义的一些常量 uCOS-iii 中有许多宏定义的量,这些量不需要全部记住是什么意思,因为在阅读代码的时候可以选中变量或宏定义然后右键查看定义,就可以知道它代表的什么意思.但是如果知道什么样的变量是大概是什么含义,这样会在阅读代码的时候很流畅.这是我第一天阅读代码的时候遇到的一些宏定义: 第一种是yes和no类型的:常用的TRUE,YES,ENABLE,ACTIVE,VALID,ON,SET,OK都是1的意思,反之则是0: #define DEF_FALSE 0u #defi

[STM32F429-DISCO-uCosiii]1.uCOSIII 移植

uCOSiii的结构比uCOSii看上去是清晰了不少,也比较有条理,所以呢,移植不是让人感觉很乱.在工程中添加如下目录和文件      与CPU相关的文件都集中在uC-CPU文件夹中.这部分有很多是底层的实现,比如调度算法,CPU现场保护,前导零,时间相关的函数,其中也有不少我们需要自己来添加相关代码.库文件提供了我们对字符串.数学运算.存储运算等的处理函数,ucOS-OS提供了操作系统的各功能模块代码.移植的详细步骤UCOSiii user manual.pdf比较详细 我参考其中文译书<嵌入

嵌入式:UCOSIII的使用

0.一些移植.系统相关 OS_CFG_APP.H /* --------------------- MISCELLANEOUS ------------------ */ #define OS_CFG_MSG_POOL_SIZE 100u /* 消息池 大小 */ #define OS_CFG_ISR_STK_SIZE 128u /* Stack size of ISR stack (number of CPU_STK elements) */ #define OS_CFG_TASK_STK_L

UCOSIII任务挂起和恢复

UCOSIII任务挂起和恢复 有时候在某个时间段内我们不需要某个任务继续运行,这时,我们可以将它挂起,但是,过了这个时间段后又需要它继续运行,这时,我们可以将它恢复: 小理解点:理论上不需要时将任务删除,需要时再重新创建,这样也行,但是太麻烦.... UCOSIII任务挂起函数: void OSTaskSuspend (OS_TCB *p_tcb,OS_ERR *p_err); 参数一 "*p_tcb":被挂起任务的任务控制块: 参数二 "*p_err":错误码,不

【基于STM32F407IGT6】STemWin5.20d + uCOS-III + FatFS程序下载

[基于STM32F407IGT6]STemWin5.20d + uCOS-III + FatFS程序下载