TOP Contributors

  1. MIKROE (2656 codes)
  2. Alcides Ramos (353 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (112 codes)
  5. Chisanga Mumba (90 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 (136838 times)
  2. FAT32 Library (69994 times)
  3. Network Ethernet Library (55980 times)
  4. USB Device Library (46291 times)
  5. Network WiFi Library (41895 times)
  6. FT800 Library (41204 times)
  7. GSM click (29011 times)
  8. PID Library (26422 times)
  9. mikroSDK (26391 times)
  10. microSD click (25384 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: 1350 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

USB_OA

26

USB libraries (HID, CDC, MSD), original architecture: only 1 kind of USB device, no composite device. -- for P18's or P24's with USB -- . Additionally: the CDC_Twin library (P18 only), which creates 2 virtual COM (CDC) devices.

[Learn More]

Article: Ram corruption reasons in mP and mB

5

Purpose: Make people aware about the ways of working that can introduce ram corruption (and of course how to avoid it). In this document the many ways where it goes right are not mentioned, only the danger areas are highlighted.

[Learn More]

Tool: Global variable usage

10

Shows, from a selected routine, the following items: - The parameter - The (used) local variables - The unused local variables (eliminated by optimiser) - The used global variables - Called routines For Pic, Pic24 and P32, both mP and mB

[Learn More]