Backup before error handling refactoring
This commit is contained in:
54
UCOSIII/uCOS_CONFIG/app_cfg.h
Normal file
54
UCOSIII/uCOS_CONFIG/app_cfg.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* EXAMPLE CODE
|
||||
*
|
||||
* (c) Copyright 2009-2013; Micrium, Inc.; Weston, FL
|
||||
*
|
||||
* All rights reserved. Protected by international copyright laws.
|
||||
* 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.
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* APPLICATION CONFIGURATION
|
||||
*
|
||||
* ST Microelectronics STM32
|
||||
* on the
|
||||
*
|
||||
* Micrium uC-Eval-STM32F107
|
||||
* Evaluation Board
|
||||
*
|
||||
* Filename : app_cfg.h
|
||||
* Version : V1.00
|
||||
* Programmer(s) : JJL
|
||||
* EHS
|
||||
* DC
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef __APP_CFG_H__
|
||||
#define __APP_CFG_H__
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* TRACE / DEBUG CONFIGURATION
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
#if 0
|
||||
#define TRACE_LEVEL_OFF 0
|
||||
#define TRACE_LEVEL_INFO 1
|
||||
#define TRACE_LEVEL_DEBUG 2
|
||||
#endif
|
||||
|
||||
#define APP_TRACE_LEVEL TRACE_LEVEL_INFO
|
||||
#define APP_TRACE BSP_Ser_Printf
|
||||
|
||||
#define APP_TRACE_INFO(x) ((APP_TRACE_LEVEL >= TRACE_LEVEL_INFO) ? (void)(APP_TRACE x) : (void)0)
|
||||
#define APP_TRACE_DEBUG(x) ((APP_TRACE_LEVEL >= TRACE_LEVEL_DEBUG) ? (void)(APP_TRACE x) : (void)0)
|
||||
|
||||
|
||||
#endif
|
||||
175
UCOSIII/uCOS_CONFIG/cpu_cfg.h
Normal file
175
UCOSIII/uCOS_CONFIG/cpu_cfg.h
Normal file
@@ -0,0 +1,175 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* uC/CPU
|
||||
* CPU CONFIGURATION & PORT LAYER
|
||||
*
|
||||
* (c) Copyright 2004-2010; Micrium, Inc.; Weston, FL
|
||||
*
|
||||
* All rights reserved. Protected by international copyright laws.
|
||||
*
|
||||
* uC/CPU is provided in source form to registered licensees ONLY. It is
|
||||
* illegal to distribute this source code to any third party unless you receive
|
||||
* written permission by an authorized Micrium representative. 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.
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*
|
||||
* CPU CONFIGURATION FILE
|
||||
*
|
||||
* TEMPLATE
|
||||
*
|
||||
* Filename : cpu_cfg.h
|
||||
* Version : V1.25
|
||||
* Programmer(s) : SR
|
||||
* ITJ
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* MODULE
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef CPU_CFG_MODULE_PRESENT
|
||||
#define CPU_CFG_MODULE_PRESENT
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* CPU NAME CONFIGURATION
|
||||
*
|
||||
* Note(s) : (1) Configure CPU_CFG_NAME_EN to enable/disable CPU host name feature :
|
||||
*
|
||||
* (a) CPU host name storage
|
||||
* (b) CPU host name API functions
|
||||
*
|
||||
* (2) Configure CPU_CFG_NAME_SIZE with the desired ASCII string size of the CPU host name,
|
||||
* including the terminating NULL character.
|
||||
*
|
||||
* See also 'cpu_core.h GLOBAL VARIABLES Note #1'.
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/* Configure CPU host name feature (see Note #1) : */
|
||||
#define CPU_CFG_NAME_EN DEF_ENABLED
|
||||
/* DEF_DISABLED CPU host name DISABLED */
|
||||
/* DEF_ENABLED CPU host name ENABLED */
|
||||
|
||||
/* Configure CPU host name ASCII string size ... */
|
||||
#define CPU_CFG_NAME_SIZE 16u /* ... (see Note #2). */
|
||||
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* CPU TIMESTAMP CONFIGURATION
|
||||
*
|
||||
* Note(s) : (1) Configure CPU_CFG_TS_xx_EN to enable/disable CPU timestamp features :
|
||||
*
|
||||
* (a) CPU_CFG_TS_32_EN enable/disable 32-bit CPU timestamp feature
|
||||
* (b) CPU_CFG_TS_64_EN enable/disable 64-bit CPU timestamp feature
|
||||
*
|
||||
* (2) (a) Configure CPU_CFG_TS_TMR_SIZE with the CPU timestamp timer's word size :
|
||||
*
|
||||
* CPU_WORD_SIZE_08 8-bit word size
|
||||
* CPU_WORD_SIZE_16 16-bit word size
|
||||
* CPU_WORD_SIZE_32 32-bit word size
|
||||
* CPU_WORD_SIZE_64 64-bit word size
|
||||
*
|
||||
* (b) If the size of the CPU timestamp timer is not a binary multiple of 8-bit octets
|
||||
* (e.g. 20-bits or even 24-bits), then the next lower, binary-multiple octet word
|
||||
* size SHOULD be configured (e.g. to 16-bits). However, the minimum supported word
|
||||
* size for CPU timestamp timers is 8-bits.
|
||||
*
|
||||
* See also 'cpu_core.h FUNCTION PROTOTYPES CPU_TS_TmrRd() Note #2a'.
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/* Configure CPU timestamp features (see Note #1) : */
|
||||
#define CPU_CFG_TS_32_EN DEF_ENABLED
|
||||
#define CPU_CFG_TS_64_EN DEF_DISABLED
|
||||
/* DEF_DISABLED CPU timestamps DISABLED */
|
||||
/* DEF_ENABLED CPU timestamps ENABLED */
|
||||
|
||||
/* Configure CPU timestamp timer word size ... */
|
||||
/* ... (see Note #2) : */
|
||||
#define CPU_CFG_TS_TMR_SIZE CPU_WORD_SIZE_32
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* CPU INTERRUPTS DISABLED TIME MEASUREMENT CONFIGURATION
|
||||
*
|
||||
* Note(s) : (1) (a) Configure CPU_CFG_INT_DIS_MEAS_EN to enable/disable measuring CPU's interrupts
|
||||
* disabled time :
|
||||
*
|
||||
* (a) Enabled, if CPU_CFG_INT_DIS_MEAS_EN #define'd in 'cpu_cfg.h'
|
||||
*
|
||||
* (b) Disabled, if CPU_CFG_INT_DIS_MEAS_EN NOT #define'd in 'cpu_cfg.h'
|
||||
*
|
||||
* See also 'cpu_core.h FUNCTION PROTOTYPES Note #1'
|
||||
* & 'cpu_core.h CPU INCLUDE FILES Note #3'.
|
||||
*
|
||||
* (b) Configure CPU_CFG_INT_DIS_MEAS_OVRHD_NBR with the number of times to measure &
|
||||
* average the interrupts disabled time measurements overhead.
|
||||
*
|
||||
* Recommend a single (1) overhead time measurement, even for instruction-cache-enabled
|
||||
* CPUs, since critical sections are NOT typically called within instruction-cached loops.
|
||||
* Thus, a single non-cached/non-averaged time measurement is a more realistic overhead
|
||||
* for the majority of non-cached interrupts disabled time measurements.
|
||||
*
|
||||
* See also 'cpu_core.c CPU_IntDisMeasInit() Note #3a'.
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#if 0 /* Configure CPU interrupts disabled time ... */
|
||||
#define CPU_CFG_INT_DIS_MEAS_EN /* ... measurements feature (see Note #1a). */
|
||||
#endif
|
||||
|
||||
/* Configure number of interrupts disabled overhead ... */
|
||||
#define CPU_CFG_INT_DIS_MEAS_OVRHD_NBR 1u /* ... time measurements (see Note #1b). */
|
||||
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* CPU COUNT LEADING ZEROS CONFIGURATION
|
||||
*
|
||||
* Note(s) : (1) Configure CPU_CFG_LEAD_ZEROS_ASM_PRESENT to prototype/define count leading zeros bits
|
||||
* function(s) in :
|
||||
*
|
||||
* (a) 'cpu.h'/'cpu_a.asm', if CPU_CFG_LEAD_ZEROS_ASM_PRESENT #define'd in 'cpu.h'/
|
||||
* 'cpu_cfg.h' to enable assembly-version function(s)
|
||||
*
|
||||
* (b) 'cpu_core.h'/'cpu_core.c', if CPU_CFG_LEAD_ZEROS_ASM_PRESENT NOT #define'd in 'cpu.h'/
|
||||
* 'cpu_cfg.h' to enable C-source-version function(s) otherwise
|
||||
*
|
||||
* See also 'cpu_core.h FUNCTION PROTOTYPES Note #2'
|
||||
* & 'cpu_core.h CPU INCLUDE FILES Note #3'.
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#if 1 /* Configure CPU count leading zeros bits ... */
|
||||
#define CPU_CFG_LEAD_ZEROS_ASM_PRESENT /* ... assembly-version (see Note #1). */
|
||||
#endif
|
||||
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* MODULE END
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#endif /* End of CPU cfg module include. */
|
||||
|
||||
101
UCOSIII/uCOS_CONFIG/includes.h
Normal file
101
UCOSIII/uCOS_CONFIG/includes.h
Normal file
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* EXAMPLE CODE
|
||||
*
|
||||
* (c) Copyright 2003-2013; Micrium, Inc.; Weston, FL
|
||||
*
|
||||
* All rights reserved. Protected by international copyright laws.
|
||||
* 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.
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*
|
||||
* MASTER INCLUDES
|
||||
*
|
||||
* ST Microelectronics STM32
|
||||
* on the
|
||||
*
|
||||
* Micrium uC-Eval-STM32F107
|
||||
* Evaluation Board
|
||||
*
|
||||
* Filename : includes.h
|
||||
* Version : V1.00
|
||||
* Programmer(s) : EHS
|
||||
* DC
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef INCLUDES_PRESENT
|
||||
#define INCLUDES_PRESENT
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* STANDARD LIBRARIES
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* LIBRARIES
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#include <cpu.h>
|
||||
#include <lib_def.h>
|
||||
#include <lib_ascii.h>
|
||||
#include <lib_math.h>
|
||||
#include <lib_mem.h>
|
||||
#include <lib_str.h>
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* APP / BSP
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#include <app_cfg.h>
|
||||
#include <bsp.h>
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* OS
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#include <os.h>
|
||||
#include <os_app_hooks.h>
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* ST
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
//#include <stm32f10x_lib.h>
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* INCLUDES END
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#define false 0
|
||||
#define true 1
|
||||
|
||||
#endif
|
||||
|
||||
166
UCOSIII/uCOS_CONFIG/lib_cfg.h
Normal file
166
UCOSIII/uCOS_CONFIG/lib_cfg.h
Normal file
@@ -0,0 +1,166 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* uC/LIB
|
||||
* CUSTOM LIBRARY MODULES
|
||||
*
|
||||
* (c) Copyright 2004-2013; Micrium, Inc.; Weston, FL
|
||||
*
|
||||
* All rights reserved. Protected by international copyright laws.
|
||||
*
|
||||
* uC/LIB is provided in source form to registered licensees ONLY. It is
|
||||
* illegal to distribute this source code to any third party unless you receive
|
||||
* written permission by an authorized Micrium representative. 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.
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*
|
||||
* CUSTOM LIBRARY CONFIGURATION FILE
|
||||
*
|
||||
* ST Microelectronics STM32
|
||||
* on the
|
||||
*
|
||||
* Micrium uC-Eval-STM32F107
|
||||
* Evaluation Board
|
||||
*
|
||||
* Filename : lib_cfg.h
|
||||
* Version : V1.35.00
|
||||
* Programmer(s) : ITJ
|
||||
* DC
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* MODULE
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef LIB_CFG_MODULE_PRESENT
|
||||
#define LIB_CFG_MODULE_PRESENT
|
||||
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
* MEMORY LIBRARY CONFIGURATION
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* MEMORY LIBRARY ARGUMENT CHECK CONFIGURATION
|
||||
*
|
||||
* Note(s) : (1) Configure LIB_MEM_CFG_ARG_CHK_EXT_EN to enable/disable the memory library suite external
|
||||
* argument check feature :
|
||||
*
|
||||
* (a) When ENABLED, arguments received from any port interface provided by the developer
|
||||
* or application are checked/validated.
|
||||
*
|
||||
* (b) When DISABLED, NO arguments received from any port interface provided by the developer
|
||||
* or application are checked/validated.
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/* Configure external argument check feature (see Note #1) : */
|
||||
#define LIB_MEM_CFG_ARG_CHK_EXT_EN DEF_DISABLED
|
||||
/* DEF_DISABLED Argument check DISABLED */
|
||||
/* DEF_ENABLED Argument check ENABLED */
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* MEMORY LIBRARY ASSEMBLY OPTIMIZATION CONFIGURATION
|
||||
*
|
||||
* Note(s) : (1) Configure LIB_MEM_CFG_OPTIMIZE_ASM_EN to enable/disable assembly-optimized memory function(s).
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/* Configure assembly-optimized function(s) [see Note #1] : */
|
||||
#define LIB_MEM_CFG_OPTIMIZE_ASM_EN DEF_ENABLED
|
||||
/* DEF_DISABLED Assembly-optimized function(s) DISABLED */
|
||||
/* DEF_ENABLED Assembly-optimized function(s) ENABLED */
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* MEMORY ALLOCATION CONFIGURATION
|
||||
*
|
||||
* Note(s) : (1) Configure LIB_MEM_CFG_ALLOC_EN to enable/disable memory allocation functions.
|
||||
*
|
||||
* (2) (a) Configure LIB_MEM_CFG_HEAP_SIZE with the desired size of heap memory (in octets).
|
||||
*
|
||||
* (b) Configure LIB_MEM_CFG_HEAP_BASE_ADDR to specify a base address for heap memory :
|
||||
*
|
||||
* (1) Heap initialized to specified application memory, if LIB_MEM_CFG_HEAP_BASE_ADDR
|
||||
* #define'd in 'app_cfg.h';
|
||||
* CANNOT #define to address 0x0
|
||||
*
|
||||
* (2) Heap declared to Mem_Heap[] in 'lib_mem.c', if LIB_MEM_CFG_HEAP_BASE_ADDR
|
||||
* NOT #define'd in 'app_cfg.h'
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/* Configure memory allocation feature (see Note #1) : */
|
||||
#define LIB_MEM_CFG_ALLOC_EN DEF_ENABLED
|
||||
/* DEF_DISABLED Memory allocation DISABLED */
|
||||
/* DEF_ENABLED Memory allocation ENABLED */
|
||||
|
||||
|
||||
#define LIB_MEM_CFG_HEAP_SIZE 27u * 1024u /* Configure heap memory size [see Note #2a]. */
|
||||
|
||||
#if 0 /* Configure heap memory base address (see Note #2b). */
|
||||
#define LIB_MEM_CFG_HEAP_BASE_ADDR 0x00000000u
|
||||
#endif
|
||||
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
* STRING LIBRARY CONFIGURATION
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* STRING FLOATING POINT CONFIGURATION
|
||||
*
|
||||
* Note(s) : (1) Configure LIB_STR_CFG_FP_EN to enable/disable floating point string function(s).
|
||||
*
|
||||
* (2) Configure LIB_STR_CFG_FP_MAX_NBR_DIG_SIG to configure the maximum number of significant
|
||||
* digits to calculate &/or display for floating point string function(s).
|
||||
*
|
||||
* See also 'lib_str.h STRING FLOATING POINT DEFINES Note #1'.
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/* Configure floating point feature(s) [see Note #1] : */
|
||||
#define LIB_STR_CFG_FP_EN DEF_DISABLED
|
||||
/* DEF_DISABLED Floating point functions DISABLED */
|
||||
/* DEF_ENABLED Floating point functions ENABLED */
|
||||
|
||||
/* Configure floating point feature(s)' number of ... */
|
||||
/* ... significant digits (see Note #2). */
|
||||
#define LIB_STR_CFG_FP_MAX_NBR_DIG_SIG LIB_STR_FP_MAX_NBR_DIG_SIG_DFLT
|
||||
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* MODULE END
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#endif /* End of lib cfg module include. */
|
||||
246
UCOSIII/uCOS_CONFIG/os_app_hooks.c
Normal file
246
UCOSIII/uCOS_CONFIG/os_app_hooks.c
Normal file
@@ -0,0 +1,246 @@
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* uC/OS-III
|
||||
* The Real-Time Kernel
|
||||
*
|
||||
* (c) Copyright 2009-2010; Micrium, Inc.; Weston, FL
|
||||
* All rights reserved. Protected by international copyright laws.
|
||||
*
|
||||
* APPLICATION HOOKS
|
||||
*
|
||||
* File : OS_APP_HOOKS.C
|
||||
* By : JJL
|
||||
* Version : V3.01.2
|
||||
*
|
||||
* LICENSING TERMS:
|
||||
* ---------------
|
||||
* uC/OS-III is provided in source form to registered licensees ONLY. It is
|
||||
* illegal to distribute this source code to any third party unless you receive
|
||||
* written permission by an authorized Micrium representative. 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.
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
#include <os.h>
|
||||
#include <os_app_hooks.h>
|
||||
#include "brtc.h"
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* SET ALL APPLICATION HOOKS
|
||||
*
|
||||
* Description: Set ALL application hooks.
|
||||
*
|
||||
* Arguments : none.
|
||||
*
|
||||
* Note(s) : none
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
void App_OS_SetAllHooks (void)
|
||||
{
|
||||
#if OS_CFG_APP_HOOKS_EN > 0u
|
||||
CPU_SR_ALLOC();
|
||||
|
||||
|
||||
CPU_CRITICAL_ENTER();
|
||||
OS_AppTaskCreateHookPtr = App_OS_TaskCreateHook;
|
||||
OS_AppTaskDelHookPtr = App_OS_TaskDelHook;
|
||||
OS_AppTaskReturnHookPtr = App_OS_TaskReturnHook;
|
||||
|
||||
OS_AppIdleTaskHookPtr = App_OS_IdleTaskHook;
|
||||
OS_AppStatTaskHookPtr = App_OS_StatTaskHook;
|
||||
OS_AppTaskSwHookPtr = App_OS_TaskSwHook;
|
||||
OS_AppTimeTickHookPtr = App_OS_TimeTickHook;
|
||||
CPU_CRITICAL_EXIT();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* CLEAR ALL APPLICATION HOOKS
|
||||
*
|
||||
* Description: Clear ALL application hooks.
|
||||
*
|
||||
* Arguments : none.
|
||||
*
|
||||
* Note(s) : none
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
void App_OS_ClrAllHooks (void)
|
||||
{
|
||||
#if OS_CFG_APP_HOOKS_EN > 0u
|
||||
CPU_SR_ALLOC();
|
||||
|
||||
|
||||
CPU_CRITICAL_ENTER();
|
||||
OS_AppTaskCreateHookPtr = (OS_APP_HOOK_TCB)0;
|
||||
OS_AppTaskDelHookPtr = (OS_APP_HOOK_TCB)0;
|
||||
OS_AppTaskReturnHookPtr = (OS_APP_HOOK_TCB)0;
|
||||
|
||||
OS_AppIdleTaskHookPtr = (OS_APP_HOOK_VOID)0;
|
||||
OS_AppStatTaskHookPtr = (OS_APP_HOOK_VOID)0;
|
||||
OS_AppTaskSwHookPtr = (OS_APP_HOOK_VOID)0;
|
||||
OS_AppTimeTickHookPtr = (OS_APP_HOOK_VOID)0;
|
||||
CPU_CRITICAL_EXIT();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* APPLICATION TASK CREATION HOOK
|
||||
*
|
||||
* Description: This function is called when a task is created.
|
||||
*
|
||||
* Arguments : p_tcb is a pointer to the task control block of the task being created.
|
||||
*
|
||||
* Note(s) : none
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
void App_OS_TaskCreateHook (OS_TCB *p_tcb)
|
||||
{
|
||||
(void)&p_tcb;
|
||||
}
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* APPLICATION TASK DELETION HOOK
|
||||
*
|
||||
* Description: This function is called when a task is deleted.
|
||||
*
|
||||
* Arguments : p_tcb is a pointer to the task control block of the task being deleted.
|
||||
*
|
||||
* Note(s) : none
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
void App_OS_TaskDelHook (OS_TCB *p_tcb)
|
||||
{
|
||||
(void)&p_tcb;
|
||||
}
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* APPLICATION TASK RETURN HOOK
|
||||
*
|
||||
* Description: This function is called if a task accidentally returns. In other words, a task should either be an
|
||||
* infinite loop or delete itself when done.
|
||||
*
|
||||
* Arguments : p_tcb is a pointer to the OS_TCB of the task that is returning.
|
||||
*
|
||||
* Note(s) : none
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
void App_OS_TaskReturnHook (OS_TCB *p_tcb)
|
||||
{
|
||||
(void)&p_tcb;
|
||||
}
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* APPLICATION IDLE TASK HOOK
|
||||
*
|
||||
* Description: This function is called by the idle task. This hook has been added to allow you to do such things as
|
||||
* STOP the CPU to conserve power.
|
||||
*
|
||||
* Arguments : none
|
||||
*
|
||||
* Note(s) : none
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
void App_OS_IdleTaskHook (void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* APPLICATION OS INITIALIZATION HOOK
|
||||
*
|
||||
* Description: This function is called by OSInit() at the beginning of OSInit().
|
||||
*
|
||||
* Arguments : none
|
||||
*
|
||||
* Note(s) : none
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
void App_OS_InitHook (void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* APPLICATION STATISTIC TASK HOOK
|
||||
*
|
||||
* Description: This function is called every second by uC/OS-III's statistics task. This allows your application to add
|
||||
* functionality to the statistics task.
|
||||
*
|
||||
* Arguments : none
|
||||
*
|
||||
* Note(s) : none
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
void App_OS_StatTaskHook (void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* APPLICATION TASK SWITCH HOOK
|
||||
*
|
||||
* Description: This function is called when a task switch is performed. This allows you to perform other operations
|
||||
* during a context switch.
|
||||
*
|
||||
* Arguments : none
|
||||
*
|
||||
* Note(s) : 1) Interrupts are disabled during this call.
|
||||
* 2) It is assumed that the global pointer 'OSTCBHighRdyPtr' points to the TCB of the task that will be
|
||||
* 'switched in' (i.e. the highest priority task) and, 'OSTCBCurPtr' points to the task being switched out
|
||||
* (i.e. the preempted task).
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
void App_OS_TaskSwHook (void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/*$PAGE*/
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* APPLICATION TICK HOOK
|
||||
*
|
||||
* Description: This function is called every tick.
|
||||
*
|
||||
* Arguments : none
|
||||
*
|
||||
* Note(s) : 1) This function is assumed to be called from the Tick ISR.
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
#include <stdio.h>
|
||||
void App_OS_TimeTickHook (void)
|
||||
{
|
||||
// Time_Update(0, 0);
|
||||
}
|
||||
68
UCOSIII/uCOS_CONFIG/os_app_hooks.h
Normal file
68
UCOSIII/uCOS_CONFIG/os_app_hooks.h
Normal file
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* uC/OS-III
|
||||
* The Real-Time Kernel
|
||||
*
|
||||
* (c) Copyright 2009-2010; Micrium, Inc.; Weston, FL
|
||||
* All rights reserved. Protected by international copyright laws.
|
||||
*
|
||||
* APPLICATION HOOKS
|
||||
*
|
||||
* File : OS_APP_HOOKS.H
|
||||
* By : JJL
|
||||
* Version : V3.01.2
|
||||
*
|
||||
* LICENSING TERMS:
|
||||
* ---------------
|
||||
* uC/OS-III is provided in source form to registered licensees ONLY. It is
|
||||
* illegal to distribute this source code to any third party unless you receive
|
||||
* written permission by an authorized Micrium representative. 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.
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef OS_APP_HOOKS_H
|
||||
#define OS_APP_HOOKS_H
|
||||
|
||||
|
||||
#ifdef OS_APP_HOOKS_H_GLOBALS
|
||||
#define OS_APP_HOOKS_H_EXT
|
||||
#else
|
||||
#define OS_APP_HOOKS_H_EXT extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* INCLUDE HEADER FILES
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
#include <os.h>
|
||||
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* FUNCTION PROTOTYPES
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
void App_OS_SetAllHooks (void);
|
||||
void App_OS_ClrAllHooks (void);
|
||||
|
||||
|
||||
/* ---------------------- HOOKS --------------------- */
|
||||
void App_OS_TaskCreateHook(OS_TCB *p_tcb);
|
||||
void App_OS_TaskDelHook (OS_TCB *p_tcb);
|
||||
void App_OS_TaskReturnHook(OS_TCB *p_tcb);
|
||||
|
||||
void App_OS_IdleTaskHook (void);
|
||||
void App_OS_InitHook (void);
|
||||
void App_OS_StatTaskHook (void);
|
||||
void App_OS_TaskSwHook (void);
|
||||
void App_OS_TimeTickHook (void);
|
||||
|
||||
#endif
|
||||
105
UCOSIII/uCOS_CONFIG/os_cfg.h
Normal file
105
UCOSIII/uCOS_CONFIG/os_cfg.h
Normal file
@@ -0,0 +1,105 @@
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* uC/OS-III
|
||||
* The Real-Time Kernel
|
||||
*
|
||||
* (c) Copyright 2009-2010; Micrium, Inc.; Weston, FL
|
||||
* All rights reserved. Protected by international copyright laws.
|
||||
*
|
||||
* CONFIGURATION FILE
|
||||
*
|
||||
* File : OS_CFG.H
|
||||
* By : JJL
|
||||
* Version : V3.01.2
|
||||
*
|
||||
* LICENSING TERMS:
|
||||
* ---------------
|
||||
* uC/OS-III is provided in source form to registered licensees ONLY. It is
|
||||
* illegal to distribute this source code to any third party unless you receive
|
||||
* written permission by an authorized Micrium representative. 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.
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef OS_CFG_H
|
||||
#define OS_CFG_H
|
||||
|
||||
|
||||
/* ---------------------------- MISCELLANEOUS -------------------------- */
|
||||
#define OS_CFG_APP_HOOKS_EN 1u /* Enable (1) or Disable (0) application specific hooks */
|
||||
#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 */
|
||||
#define OS_CFG_DBG_EN 1u /* Enable (1) debug code/variables */
|
||||
#define OS_CFG_ISR_POST_DEFERRED_EN 1u /* Enable (1) or Disable (0) Deferred ISR posts */
|
||||
#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 16u /* 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 */
|
||||
#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
|
||||
72
UCOSIII/uCOS_CONFIG/os_cfg_app.h
Normal file
72
UCOSIII/uCOS_CONFIG/os_cfg_app.h
Normal file
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* uC/OS-III
|
||||
* The Real-Time Kernel
|
||||
*
|
||||
* (c) Copyright 2009-2010; Micrium, Inc.; Weston, FL
|
||||
* All rights reserved. Protected by international copyright laws.
|
||||
*
|
||||
* OS CONFIGURATION (APPLICATION SPECIFICS)
|
||||
*
|
||||
* File : OS_CFG_APP.H
|
||||
* By : JJL
|
||||
* Version : V3.01.2
|
||||
*
|
||||
* LICENSING TERMS:
|
||||
* ---------------
|
||||
* uC/OS-III is provided in source form to registered licensees ONLY. It is
|
||||
* illegal to distribute this source code to any third party unless you receive
|
||||
* written permission by an authorized Micrium representative. 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.
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef OS_CFG_APP_H
|
||||
#define OS_CFG_APP_H
|
||||
|
||||
/*
|
||||
************************************************************************************************************************
|
||||
* CONSTANTS
|
||||
************************************************************************************************************************
|
||||
*/
|
||||
|
||||
/* --------------------- MISCELLANEOUS ------------------ */
|
||||
#define OS_CFG_MSG_POOL_SIZE 100u /* Maximum number of messages */
|
||||
#define OS_CFG_ISR_STK_SIZE 128u /* Stack size of ISR stack (number of CPU_STK elements) */
|
||||
#define OS_CFG_TASK_STK_LIMIT_PCT_EMPTY 10u /* Stack limit position in percentage to empty */
|
||||
|
||||
|
||||
/* ---------------------- IDLE TASK --------------------- */
|
||||
#define OS_CFG_IDLE_TASK_STK_SIZE 128u /* Stack size (number of CPU_STK elements) */
|
||||
|
||||
|
||||
/* ------------------ ISR HANDLER TASK ------------------ */
|
||||
#define OS_CFG_INT_Q_SIZE 10u /* Size of ISR handler task queue */
|
||||
#define OS_CFG_INT_Q_TASK_STK_SIZE 128u /* Stack size (number of CPU_STK elements) */
|
||||
|
||||
|
||||
/* ------------------- STATISTIC TASK ------------------- */
|
||||
#define OS_CFG_STAT_TASK_PRIO (OS_CFG_PRIO_MAX-2u) /* Priority */
|
||||
#define OS_CFG_STAT_TASK_RATE_HZ 10u /* Rate of execution (10 Hz Typ.) */
|
||||
#define OS_CFG_STAT_TASK_STK_SIZE 128u /* Stack size (number of CPU_STK elements) */
|
||||
|
||||
|
||||
/* ------------------------ TICKS ----------------------- */
|
||||
#define OS_CFG_TICK_RATE_HZ 1000u /* Tick rate in Hertz (10 to 1000 Hz) */
|
||||
#define OS_CFG_TICK_TASK_PRIO 1u /* Priority */
|
||||
#define OS_CFG_TICK_TASK_STK_SIZE 128u /* Stack size (number of CPU_STK elements) */
|
||||
#define OS_CFG_TICK_WHEEL_SIZE 17u /* Number of 'spokes' in tick wheel; SHOULD be prime */
|
||||
|
||||
|
||||
/* ----------------------- TIMERS ----------------------- */
|
||||
#define OS_CFG_TMR_TASK_PRIO 2u /* Priority of 'Timer Task' */
|
||||
#define OS_CFG_TMR_TASK_RATE_HZ 100u /* Rate for timers (10 Hz Typ.) */
|
||||
#define OS_CFG_TMR_TASK_STK_SIZE 128u /* Stack size (number of CPU_STK elements) */
|
||||
#define OS_CFG_TMR_WHEEL_SIZE 17u /* Number of 'spokes' in timer wheel; SHOULD be prime */
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user