-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Unzipped code folders to aid tracking changes.
- Loading branch information
1 parent
ad20b9e
commit f9d1516
Showing
106 changed files
with
16,599 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,205 @@ | ||
/*---------------------------------------------------------------------------- | ||
* RL-ARM - RTX | ||
*---------------------------------------------------------------------------- | ||
* Name: RTX_CONFIG.C | ||
* Purpose: Configuration of RTX Kernel for Cortex-M | ||
* Rev.: V4.70 | ||
*---------------------------------------------------------------------------- | ||
* This code is part of the RealView Run-Time Library. | ||
* Copyright (c) 2004-2013 KEIL - An ARM Company. All rights reserved. | ||
*---------------------------------------------------------------------------*/ | ||
|
||
#include <RTL.h> | ||
|
||
/*---------------------------------------------------------------------------- | ||
* RTX User configuration part BEGIN | ||
*---------------------------------------------------------------------------*/ | ||
|
||
//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- | ||
// | ||
// <h>Task Configuration | ||
// ===================== | ||
// | ||
// <o>Number of concurrent running tasks <0-250> | ||
// <i> Define max. number of tasks that will run at the same time. | ||
// <i> Default: 6 | ||
#ifndef OS_TASKCNT | ||
#define OS_TASKCNT 10 | ||
#endif | ||
|
||
// <o>Number of tasks with user-provided stack <0-250> | ||
// <i> Define the number of tasks that will use a bigger stack. | ||
// <i> The memory space for the stack is provided by the user. | ||
// <i> Default: 0 | ||
#ifndef OS_PRIVCNT | ||
#define OS_PRIVCNT 0 | ||
#endif | ||
|
||
// <o>Task stack size [bytes] <20-4096:8><#/4> | ||
// <i> Set the stack size for tasks which is assigned by the system. | ||
// <i> Default: 512 | ||
#ifndef OS_STKSIZE | ||
#define OS_STKSIZE 64 | ||
#endif | ||
|
||
// <q>Check for the stack overflow | ||
// =============================== | ||
// <i> Include the stack checking code for a stack overflow. | ||
// <i> Note that additional code reduces the Kernel performance. | ||
#ifndef OS_STKCHECK | ||
#define OS_STKCHECK 1 | ||
#endif | ||
|
||
// <q>Run in privileged mode | ||
// ========================= | ||
// <i> Run all Tasks in privileged mode. | ||
// <i> Default: Unprivileged | ||
#ifndef OS_RUNPRIV | ||
#define OS_RUNPRIV 0 | ||
#endif | ||
|
||
// </h> | ||
// <h>Tick Timer Configuration | ||
// ============================= | ||
// <o>Hardware timer <0=> Core SysTick <1=> Peripheral Timer | ||
// <i> Define the on-chip timer used as a time-base for RTX. | ||
// <i> Default: Core SysTick | ||
#ifndef OS_TIMER | ||
#define OS_TIMER 0 | ||
#endif | ||
|
||
// <o>Timer clock value [Hz] <1-1000000000> | ||
// <i> Set the timer clock value for selected timer. | ||
// <i> Default: 6000000 (6MHz) | ||
#ifndef OS_CLOCK | ||
#define OS_CLOCK 16000000 | ||
#endif | ||
|
||
// <o>Timer tick value [us] <1-1000000> | ||
// <i> Set the timer tick value for selected timer. | ||
// <i> Default: 10000 (10ms) | ||
#ifndef OS_TICK | ||
#define OS_TICK 200 | ||
#endif | ||
|
||
// </h> | ||
|
||
// <h>System Configuration | ||
// ======================= | ||
// <e>Round-Robin Task switching | ||
// ============================= | ||
// <i> Enable Round-Robin Task switching. | ||
#ifndef OS_ROBIN | ||
#define OS_ROBIN 0 | ||
#endif | ||
|
||
// <o>Round-Robin Timeout [ticks] <1-1000> | ||
// <i> Define how long a task will execute before a task switch. | ||
// <i> Default: 5 | ||
#ifndef OS_ROBINTOUT | ||
#define OS_ROBINTOUT 5 | ||
#endif | ||
|
||
// </e> | ||
|
||
// <o>Number of user timers <0-250> | ||
// <i> Define max. number of user timers that will run at the same time. | ||
// <i> Default: 0 (User timers disabled) | ||
#ifndef OS_TIMERCNT | ||
#define OS_TIMERCNT 0 | ||
#endif | ||
|
||
// <o>ISR FIFO Queue size<4=> 4 entries <8=> 8 entries | ||
// <12=> 12 entries <16=> 16 entries | ||
// <24=> 24 entries <32=> 32 entries | ||
// <48=> 48 entries <64=> 64 entries | ||
// <96=> 96 entries | ||
// <i> ISR functions store requests to this buffer, | ||
// <i> when they are called from the iterrupt handler. | ||
// <i> Default: 16 entries | ||
#ifndef OS_FIFOSZ | ||
#define OS_FIFOSZ 16 | ||
#endif | ||
|
||
// </h> | ||
|
||
//------------- <<< end of configuration section >>> ----------------------- | ||
|
||
// Standard library system mutexes | ||
// =============================== | ||
// Define max. number system mutexes that are used to protect | ||
// the arm standard runtime library. For microlib they are not used. | ||
#ifndef OS_MUTEXCNT | ||
#define OS_MUTEXCNT 8 | ||
#endif | ||
|
||
/*---------------------------------------------------------------------------- | ||
* RTX User configuration part END | ||
*---------------------------------------------------------------------------*/ | ||
|
||
#define OS_TRV ((U32)(((double)OS_CLOCK*(double)OS_TICK)/1E6)-1) | ||
|
||
/*---------------------------------------------------------------------------- | ||
* Global Functions | ||
*---------------------------------------------------------------------------*/ | ||
|
||
/*--------------------------- os_idle_demon ---------------------------------*/ | ||
|
||
__task void os_idle_demon (void) { | ||
/* The idle demon is a system task, running when no other task is ready */ | ||
/* to run. The 'os_xxx' function calls are not allowed from this task. */ | ||
|
||
for (;;) { | ||
/* HERE: include optional user code to be executed when no task runs.*/ | ||
} | ||
} | ||
|
||
/*--------------------------- os_tick_init ----------------------------------*/ | ||
|
||
#if (OS_TIMER != 0) | ||
int os_tick_init (void) { | ||
/* Initialize hardware timer as system tick timer. */ | ||
/* ... */ | ||
return (-1); /* Return IRQ number of timer (0..239) */ | ||
} | ||
#endif | ||
|
||
/*--------------------------- os_tick_irqack --------------------------------*/ | ||
|
||
#if (OS_TIMER != 0) | ||
void os_tick_irqack (void) { | ||
/* Acknowledge timer interrupt. */ | ||
/* ... */ | ||
} | ||
#endif | ||
|
||
/*--------------------------- os_tmr_call -----------------------------------*/ | ||
|
||
void os_tmr_call (U16 info) { | ||
/* This function is called when the user timer has expired. Parameter */ | ||
/* 'info' holds the value, defined when the timer was created. */ | ||
while(1){} | ||
/* HERE: include optional user code to be executed on timeout. */ | ||
} | ||
|
||
|
||
/*--------------------------- os_error --------------------------------------*/ | ||
|
||
void os_error (U32 err_code) { | ||
/* This function is called when a runtime error is detected. Parameter */ | ||
/* 'err_code' holds the runtime error code (defined in RTL.H). */ | ||
|
||
/* HERE: include optional code to be executed on runtime error. */ | ||
for (;;); | ||
} | ||
|
||
|
||
/*---------------------------------------------------------------------------- | ||
* RTX Configuration Functions | ||
*---------------------------------------------------------------------------*/ | ||
|
||
#include <RTX_lib.c> | ||
|
||
/*---------------------------------------------------------------------------- | ||
* end of file | ||
*---------------------------------------------------------------------------*/ |
Oops, something went wrong.