TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (405 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (133 codes)
  5. Bugz Bensce (97 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (141304 times)
  2. FAT32 Library (74107 times)
  3. Network Ethernet Library (58718 times)
  4. USB Device Library (48831 times)
  5. Network WiFi Library (44526 times)
  6. FT800 Library (44078 times)
  7. GSM click (30834 times)
  8. mikroSDK (29673 times)
  9. PID Library (27357 times)
  10. microSD click (27251 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
Library

CRTOS for PIC32

Rating:

10

Author: dany

Last Updated: 2016-02-25

Package Version: 1.0.0.0

Category: Other Codes

Downloaded: 1522 times

Followed by: 1 user

License: MIT license  

Cooperative Real Time Operating System (CRTOS) for PIC32

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "CRTOS for PIC32" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "CRTOS for PIC32" changes.

Do you want to report abuse regarding "CRTOS for PIC32".

  • Information
  • Comments (0)

Library Blog

PIC32 version of the CRTOS library (http://www.libstock.com/projects/view/722/c-rtos-for-mp-and-mb-p18-and-p24) already available for PIC18 and PIC24.

CRTOS stands for Cooperative Real Time Operating System; designed for and written specifically in mP/mB from mikroElektronika. The system uses cooperative as opposed to pre-emptive scheduling which means that the application code you write has to voluntarily release back to the operating system at appropriate times.

The PIC32 mP version was tested on the mini32 board (P32MX534F064H with 80 Mhz CPU clock).

CRTOS supports the following features:

  • Task priorities
  • Tasks can have local variables of which the values are preserved between task invocations.
  • Unconditional yielding to the CRTOS Scheduler
  • Timed yielding to the CRTOS Scheduler (i.e. “delay” performed by the Scheduler)
  • Binary semaphores
  • Counting semaphores
  • Waiting for semaphores with or without timeout
  • Clearing semaphores
  • Starting and stopping tasks
  • Starting tasks with an initial delay
  • Signaling semaphores from within an Interrupt Service Routine
  • An "Always" procedure in every scheduler loop (optionally)

Have fun!

 


2015-05-26: Small improvement in the "Restore_Registers" code. Also reduced the code size with approx. 1 Kb.   No functionality changes.    


2015-05-28: Corrected a small issue in "Restore_registers.inc". No functional change.


2015-05-31: Added the mB package.

ALSO FROM THIS AUTHOR

Memory

6

Libaries are:
- "MemManager_": simple memory manager making dynamic variables possible in mP (procedures GetMem and FreeMem available), and
- "Eepromvariable": Procedures/functions that write and read the content of any type of variable to/from the internal PIC Eeprom.

[Learn More]

Tool: PIC uart to USB interface

0

Converts PIC level Uart signals to USB in both directions. This project is meant for use with PC's that do not have an RS232 interface any more. It makes it possible to handle the pic uart signals with a PC without an RS232 interface.

[Learn More]

Menus for PIC32

5

Menu machine capable of handling text based menus. It only handles the logical behaviour of the menu(s), not their physical appearance e.g. on an LCD: the using project should still define the display or drawing procedures.

[Learn More]