PIC24/PIC30, Microchip

embOS for Microchip PIC was developed for and with Microchips's compiler and supports all memory models offered by this compiler.
embOS for PIC24F/PIC24H and dsPIC30F/dsPIC33F comes with an easy to use start project for PIC24F/PIC24H and dsPIC30F/dsPIC33F CPUs which may be used with Microchips's MPLAB IDE. Software development with hardware debugger and simulator is supported.

Resources and performance data

Memory usage
Kernel size (ROM) <2 KB
Kernel RAM usage 37 bytes
RAM usage per task control block 18 bytes
RAM usage per resource semaphore 8 bytes
RAM usage per counting semaphore 4 bytes
RAM usage per mailbox 12 bytes
RAM usage per software timer 10 bytes
RAM usage event 0 bytes
Min. stack-size per task (RAM) 24 bytes
Timing
Context switch time 22.1 µ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. 10 µs (100 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 data given above were measured with embOS release build on a PIC24 CPU running at 8MHz in small memory model.

embOSView offers system analysis during runtime

Available Emulators

  • MICROCHIP

Board support packages

embOS comes with lots of ready to go start projects and support packages for various PIC24/PIC30 CPUs and starterboards.

CPU Eval board
Microchip dsPIC33FJ256 Microchip Explorer 16 - PIC24
Microchip PIC24FJ128 Microchip Explorer 16 - PIC24

 


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 C30   V3.24
Assembler: Microchip ASM   V3.24
Librarian: Microchip AR    V3.24
Workbench: Microchip MPLAB IDE V8.56

New features

Version 3.82n

  1. Update to latest embOS generic sources V3.82n.

Version 3.82k

  1. Update to latest embOS generic sources V3.82k.

Version 3.52d

  1. BSP for dsPIC33F added.

Version 3.32g

    First version. None.

Improvements

Version 3.32g

    First version. None.

Program corrections

Version 3.82n

  1. Queue handling corrected.

Version 3.82k

  1. embOS interrupt handling fixed.
    Interrupt handling was not correct, with compiler optimization interrupts did not work.

Version 3.60a1

  1. Fixed embOS assembler part.
    The embOS assembler part used a assembler command that can only address up to adress 0x2000.
    This assembler command is replaced, therefore embOS variables can be placed everywhere in memory.

Version 3.60a

  1. C30 Compiler issue solved.
    The Microchip C30 compiler has a bug. When we set a function pointer to a unsigned long,
    the compiler uses a arithmetic shift, which causes embOS to return to a a undefined address,
    if the function pointer address is above 0x8000.

Version 3.32g

    None.

Known problems/limitations

Version 3.32g

    None.

Release history

Version Release date Short explanation
V3.82n 10. Dec 2010 Update to latest embOS generic sources V3.82n.
Queue handling corrected..
V3.82k 11. Oct 2010 Update to latest embOS generic sources V3.82k.
embOS interrupt handling corrected.
V3.60a1 06. Mar 2008 Fixed embOS assembler part.
V3.60a 03. Mar 2008 C30 Compiler issue solved.
V3.52d 31. Oct 2007 BSP for dsPIC33F added.
V3.32h1 12. July 2007 Fixed embOSView stackcheck.
V3.32g 22. Jan 2007 First version with release history

Miscellaneous

This document was first released with version 3.32g of the software.
Software released earlier is documented internally. This information is available at request.