Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
scmRTOS/scmRTOS_TARGET_CFG.h
- Committer:
- kasturir
- Date:
- 2010-09-27
- Revision:
- 0:906c21fbf97c
File content as of revision 0:906c21fbf97c:
//******************************************************************************
//*
//* 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
//-----------------------------------------------------------------------------