![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
scmRTOS/scmRTOS_TARGET_CFG.h
- Committer:
- mbed714
- Date:
- 2010-09-21
- Revision:
- 0:331db0b44b67
File content as of revision 0:331db0b44b67:
//****************************************************************************** //* //* FULLNAME: Single-Chip Microcontroller Real-Time Operating System //* //* NICKNAME: scmRTOS //* //* PROCESSOR: ARM Cortex-M3 //* //* TOOLKIT: EWARM (IAR Systems) //* //* PURPOSE: Project Level Target Extensions Config //* //* Version: 3.10 //* //* $Revision: 196 $ //* $Date:: 2008-06-19 #$ //* //* Copyright (c) 2003-2010, Harry E. Zhurov //* //* Permission is hereby granted, free of charge, to any person //* obtaining a copy of this software and associated documentation //* files (the "Software"), to deal in the Software without restriction, //* including without limitation the rights to use, copy, modify, merge, //* publish, distribute, sublicense, and/or sell copies of the Software, //* and to permit persons to whom the Software is furnished to do so, //* subject to the following conditions: //* //* The above copyright notice and this permission notice shall be included //* in all copies or substantial portions of the Software. //* //* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, //* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF //* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. //* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY //* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, //* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH //* THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. //* //* ================================================================= //* See http://scmrtos.sourceforge.net for documentation, latest //* information, license and contact details. //* ================================================================= //* //****************************************************************************** //* mbed port by Igor Skochinsky #ifndef scmRTOS_TARGET_CFG_H #define scmRTOS_TARGET_CFG_H #include "device.h" // Define SysTick clock frequency and its interrupt rate in Hz. #define SYSTICKFREQ 100000000 #define SYSTICKINTRATE 1000 //------------------------------------------------------------------------------ // // System Timer stuff // // namespace OS { extern "C" void SysTick_Handler(); } #define LOCK_SYSTEM_TIMER() ( *CPU_SYSTICKCSR &= ~CPU_SYSTICKCSR_EINT ) #define UNLOCK_SYSTEM_TIMER() ( *CPU_SYSTICKCSR |= CPU_SYSTICKCSR_EINT ) //------------------------------------------------------------------------------ // // Context Switch ISR stuff // // namespace OS { #if scmRTOS_IDLE_HOOK_ENABLE == 1 void IdleProcessUserHook(); #endif #if scmRTOS_CONTEXT_SWITCH_SCHEME == 1 INLINE inline void RaiseContextSwitch() { *CPU_ICSR |= 0x10000000; } #define ENABLE_NESTED_INTERRUPTS() #if scmRTOS_SYSTIMER_NEST_INTS_ENABLE == 0 #define DISABLE_NESTED_INTERRUPTS() TCritSect cs #else #define DISABLE_NESTED_INTERRUPTS() #endif #else #error "Cortex-M3 port supports software interrupt switch method only!" #endif // scmRTOS_CONTEXT_SWITCH_SCHEME } //----------------------------------------------------------------------------- #endif // scmRTOS_TARGET_CFG_H //-----------------------------------------------------------------------------