PIC32, Microchip
embOS for PIC32 was developed for and with Microchips's compiler version 7.62.09 and supports all memory models offered by this compiler. It comes with easy to use start projects for Microchips's MPLAB workbench.
Resources and performance data
| Memory usage | |
|---|---|
| RAM usage per task control block | 20 bytes |
| RAM usage per resource semaphore | 16 bytes |
| RAM usage per counting semaphore | 8 bytes |
| RAM usage per mailbox | 24 bytes |
| RAM usage per software timer | 20 bytes |
| RAM usage event | 20 bytes |
| Min. stack-size per task (RAM) | 156 bytes |
| Timing | |
| Context switch time | 3.24 µs, independent of number of tasks |
| Interrupt latency time | zero |
| Kernel CPU usage/TICK | less than .2% of total calculation time at 1000 Interrupts/second (1ms TICK) |
| Basic time unit (TICK) | typ. 1 ms, min. 20 µs (50 kHz interrupt frequency) |
| Features | |
| Max. no. of tasks | Unlimited (by available RAM only) |
| Max. no. of mailboxes | unlimited (by available RAM only) |
| Max. no. of semaphores (resource/binary/counting) | unlimited (by available RAM only) |
| Max. no. of software timers | unlimited (by available RAM only) |
| Max. no. of priorities | 255 |
| Stack size idle task (RAM) | 0(no memory needed) |
| Nested interrupts | permitted |
| Task switches from within ISR | possible |
Absolute values given above were measured with embOS release build on an PIC32 CPU running at 72MHz.
embOSView offers system analysis during runtime

Available Emulators
Board support packages
embOS comes with lots of ready to go start projects and support packages for various PIC32 CPUs and starterboards.
| CPU | Eval board |
|---|---|
| Microchip PIC32MX360F512L | Microchip Explorer 16 |
| Microchip PIC32MX795F512L | Microchip Explorer 16 |
Release notes
- Tool chain used for build
- New features
- Improvements
- Program corrections
- Known problems/limitations
- Release history
- Miscellaneous
Tool chain used for build
The following tools have been used:
Compiler: Microchip PIC32 V1.11B Assembler: Microchip ASM V1.11B Librarian: Microchip AR V1.11B Workbench: Microchip MPLAB IDE V8.46
New features
Version 3.82n
- Updated to latest embOS generic sources.
Version 3.82k
- Updated to latest embOS generic sources.
- Assembler part changed for Microchip PIC32 compiler version 1.11B.
Version 3.82i
- Updated to latest embOS generic sources.
- Uart handling changed.
- Low level assembler interrupt function changed to match latest Microchip PIC32 compiler version 1.11A and later.
- embOS PIC32 MPLAB supports now also the MIPS16e mode
Version 3.82h
- Updated to latest embOS generic sources.
Version 3.82f
- Updated to latest embOS generic sources.
Version 3.82e
- BSP for PIC32MX795F512L added.
Updated to latest embOS generic sources.
Version 3.52d2
- BSP updated for PIC32 demo board.
CPU clock frequency set from 72MHz to 80MHz.
Version 3.52d
- Updated to new generic sources.
Version 3.52a2
- Support for new processor revision B
Version 3.52a1
- This embOS version supports priority controlled interrupts
Version 3.52a
- First version. None.
Program corrections
Version 3.82n
- Queue managment corrected.
- Assembler interrupt handler fixed.
The LO and HI register were not restored correctly after an interrupt.
Version 3.82h
- Error in Rtos assembler part corrected.
Version 3.82f
- Error in OS_SetFastIntPriorityLimit() fixed.
Version 3.52d1
- Error in Rtos asm part fixed.
Version 3.52a3
- Uart problem fixed and cache/wait states setup implemented
Known problems/limitations
Version 3.52a
- None.
Release history
| Version | Release date | Short explanation |
| V3.82n | 16. Dec 2010 | Updated to latest embOS generic sources. Queue managment corrected. Assembler interrupt handler fixed. |
| V3.82k | 06. Oct 2010 | Updated to latest embOS generic sources. Assembler part changed for Microchip PIC32 compiler version 1.11B. |
| V3.82i | 20. Sept 2010 | Updated to latest embOS generic sources. Uart Handling changed. Low level assembler interrupt function changed. MIPS16e mode added. |
| V3.82h | 19. July 2010 | Updated to latest embOS generic sources. Error in Rtos assembler part corrected. |
| V3.82f | 06. May 2010 | Updated to latest embOS generic sources. Error in OS_SetFastIntPriorityLimit() fixed. |
| V3.82e | 23. March 2010 | BSP for PIC32MX795F512L added. Updated to latest embOS generic sources. |
| V3.52d2 | 09. September 2008 | BSP updated for PIC32 demo board. CPU clock frequency set from 72MHz to 80MHz. |
| V3.52d1 | 29. April 2008 | Error in Rtos asm part fixed |
| V3.52d | 06. Nov 2007 | Updated to new generic sources. |
| V3.52a3 | 16. Oct 2007 | Uart problem fixed and cache/wait states setup implemented |
| V3.52a2 | 15. Oct 2007 | Support for new processor revision B |
| V3.52a1 | 28. Sept 2007 | Support for interrupt priorities |
| V3.52a | 07. Sept 2007 | First version with release history |
Miscellaneous
This document was first released with version 3.52a of the software.
Software released earlier is documented internally. This information is available at request.
PIC32, Microchip
