CoOS for LPC1100
CooCox CoOS for LPC1100 has highly scalable capability, its minimum system kernel is only 974Bytes. CoOS for LPC1100 supports both dynamic scheduling and static scheduling models and could adjust task scheduling algorithm according to the number of system tasks, which could accelerate the system speed.
Features:
- Free and open real-time Operating System
- Specially designed for Cortex-M series
- Supports preemptive priority and round-robin
- Scalable, minimal system kernel is only 974Byte
- Interrupt latency is 0
- Can avoid priority inversion
- Stack overflow detection option
- Semaphore, Mutex, Flag, Mailbox and Queue for communication & synchronisation
- Supports the platforms of ICCARM, ARMCC, GCC
Technical Data:
| N Function |
Time ( No Robin/Robin ) |
| Create defined task, no task switch |
5.3us / 5.8us |
| Create defined task, switch task |
7.5us / 8.6us |
| Delete task (ExitTask) |
4.8us / 5.2us |
| Task switch (SwitchContext) |
1.5us / 1.5 us |
| Task switch (upon set flag) |
7.5us / 8.1us |
| Task switch (upon sent semaphore) |
6.3us / 7.0us |
| Task switch (upon sent mail) |
6.1us / 7.1us |
| Task switch (upon sent queue) |
7.0us / 7.6us |
| Set Flag (no task switch) |
1.3us / 1.3us |
| Send semaphore (no task switch) |
1.6us / 1.6us |
| Send mail (no task switch) |
1.5us / 1.5us |
| Send queue (no task switch) |
1.8us / 1.8us |
| Maximum interrupt lockout for IRQ ISR's |
0 / 0 |
| Description |
Space |
| RAM Space for Kernel |
168 Bytes |
| Code Space for Kernel |
974 Bytes |
| RAM Space for a Task |
TaskStackSize + 24 Bytes(MIN) |
| TaskStackSize + 48 Bytes(MAX) |
| RAM Space for a Mailbox |
16 Bytes |
| RAM Space for a Semaphore |
16 Bytes |
| RAM Space for a Queue |
32 Bytes |
| RAM Space for a Mutex |
8 Bytes |
| RAM Space for a User Timer |
24 Bytes |
* The data for CoOS kernel is measured for STM32F103RB CPU with the system clock setting to 72 MHz, code execution from internal flash, with Flash Latency 2 wait states and the Prefetch Buffer enabled.
Examples:
CoOS also provides some examples to help you to develop embedded applications based on CoOS more easily, as follows:
Using ARMCC compiler:
Using ICCARM compiler:
Using GCC compiler:
Downloading CoOS Source Code:
|
|