![]() |
RTOS_MSPM0
1.1
ECE445M starter code
|
Real Time Operating System for Labs 1, 2, 3, 4 and 5. More...
#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | Sema4 |
| Semaphore structure. Feel free to change the type of semaphore, there are lots of good solutions. More... | |
| struct | Program |
Macros | |
| #define | LAB1 0 |
| Set which lab is active so I can use the same OS.c for all Labs. | |
| #define | LAB2 0 |
| #define | LAB3 0 |
| #define | LAB4 0 |
| #define | LAB5 1 |
| #define | LAB6 0 |
| #define | TIME_1MS 80000 |
| Times assuming a 80 MHz. | |
| #define | TIME_2MS (2*TIME_1MS) |
| #define | TIME_500US (TIME_1MS/2) |
| #define | TIME_250US (TIME_1MS/4) |
Typedefs | |
| typedef struct Sema4 | Sema4_t |
| typedef struct Program | Program_t |
Functions | |
| void | OS_Init (void) |
| Initialize OS. More... | |
| void | OS_InitSemaphore (Sema4_t *semaPt, int32_t value) |
| void | OS_Wait (Sema4_t *semaPt) |
| void | OS_Signal (Sema4_t *semaPt) |
| void | OS_bWait (Sema4_t *semaPt) |
| void | OS_bSignal (Sema4_t *semaPt) |
| int | OS_AddThread (void(*task)(void), uint32_t stackSize, uint32_t priority) |
| uint32_t | OS_Id (void) |
| int | OS_AddPeriodicThread (void(*task)(void), uint32_t period, uint32_t priority) |
| int | OS_AddS1Task (void(*task)(void), uint32_t priority) |
| int | OS_AddS2Task (void(*task)(void), uint32_t priority) |
| int | OS_AddPA28Task (void(*task)(void), uint32_t priority) |
| void | OS_Sleep (uint32_t sleepTime) |
| void | OS_Kill (void) |
| void | OS_Suspend (void) |
| uint32_t | OS_LockScheduler (void) |
| void | OS_UnLockScheduler (uint32_t previous) |
| void | OS_Fifo_Init (uint32_t size) |
| int | OS_Fifo_Put (uint32_t data) |
| uint32_t | OS_Fifo_Get (void) |
| int32_t | OS_Fifo_Size (void) |
| void | OS_MailBox_Init (void) |
| void | OS_MailBox_Send (uint32_t data) |
| uint32_t | OS_MailBox_Recv (void) |
| uint32_t | OS_Time (void) |
| uint32_t | OS_TimeDifference (uint32_t start, uint32_t stop) |
| void | OS_ClearMsTime (void) |
| uint32_t | OS_MsTime (void) |
| void | OS_Launch (uint32_t theTimeSlice) |
| int | OS_LoadProgram (char *name, uint32_t priority) |
Real Time Operating System for Labs 1, 2, 3, 4 and 5.
ECE445M
| void OS_Init | ( | void | ) |
Initialize OS.
Initialize operating system, disable interrupts until OS_Launch. Initialize OS controlled I/O: serial, ADC, systick, LaunchPad I/O and timers. Interrupts not yet enabled.
| none |