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

embOSView with PIC32 target CPU

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


  1. Tool chain used for build
  2. New features
  3. Improvements
  4. Program corrections
  5. Known problems/limitations
  6. Release history
  7. 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

  1. Updated to latest embOS generic sources.

Version 3.82k

  1. Updated to latest embOS generic sources.
  2. Assembler part changed for Microchip PIC32 compiler version 1.11B.

Version 3.82i

  1. Updated to latest embOS generic sources.
  2. Uart handling changed.
  3. Low level assembler interrupt function changed to match latest Microchip PIC32 compiler version 1.11A and later.
  4. 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

  1. Queue managment corrected.
  2. 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.