Abassi RTOS for 80251

Highlights


    1. Fully scalable footprint (as low as 1375 bytes on 80251; full: ~6275 bytes)
    2. Fast Execution (112 clock cycle context switch, 7.00μs on 80251 @16MHz)
    3. Unlimited Tasks, Queues, Events, Semaphores, Mutexes and Mailboxes
    4. Flexible licensing options
    5. Available source code
    6. Comprehensive documentation
    7. Responsive Technical Support

Unmatched Feature Set

In addition to the standard feature set supported by most real-time kernels, the Abassi RTOS can be configured with many features unmatched in the industry. These features add robustness and code savings, and include:


    1. Intelligent starvation protectionGuarantees fair access to CPU, via enhanced priority aging, even on heavily loaded systems.
    2. Priority inheritance, including dynamic trackingAutomatically adjusts for priority aging, timeouts, etc. and propagationBetween entangled mutex owners, to prevent deadlock.
    3. Adaptive priority ceiling
    4. Deadlock detectionReports recursive mutex dependencies anywhere in the execution chain.
    5. AsymmetricTimeslice adjustable at a per task level. Round Robin scheduling
    6. Hybrid interrupt stack

Development Tool Choices

Abassi supports major 80251 development tools, including Keil/C251.

Demonstration Package

If you are interested in evaluating the Abassi kernel for 80251, simply contact us and we'll be happy to provide you with a library for your platform and build environment.

Memory Requirements

Don't settle for half a RTOS! Even with all features enabled, Abassi still consumes less memory than the minimum configuration of most kernels. And you get advanced priority inheritance, asymmetric round-robin scheduling, starvation protection, and much more. Or, if memory footprint is paramount, Abassi scales to a minimum size that can't be matched.

"C" Code Memory Usage
Description Large Model Huge Model
Minimal Build <1150 bytes <1175 bytes
+ Runtime service creation / static memory <1425 bytes <1500 bytes
+ Multiple tasks at same priority <1650 bytes <1700 bytes
+ Runtime priority change
+ Mutex priority inheritance
+ FCFS
+ Task suspension
<2650 bytes <2800 bytes
+ Timer & timeout
+ Timer call back
+ Round robin
<3775 bytes <3825 bytes
+ Events
+ Mailbox
<5025 bytes <5100 bytes
Full Feature Build (no names) <6050 bytes <6150 bytes
Assembly Code Memory Usage
Description Size
Build for Large ROM code (2 bytes ISR) 216 bytes
Build for Huge ROM code (2 bytes ISR) 235 bytes
4 bytes ISR +25 byte
Measured using current software release, XTiny data model, configured for Dolphin 80251 at 16 MHz and Keil μVision, Version 5.50L

For your exact data memory requirements, please consult the Porting Document that applies to your design environment.

Kernel Snapshot

  1. Fully preemptive
  2. Scalable
  3. Very small code and data footprint
  4. Code can reside in ROM
  5. Zero interrupt latency kernel
  6. Mutexes
    1. Configurable priority inheritance
    2. Adaptive priority ceiling
    3. Priority based and first-come, first-served
  7. Versatile semaphores
    1. Counting and binary
    2. Priority based and first-come, first-served
  8. Mailboxes
    1. Priority based and first-come, first-served
  9. Events
  10. Intelligent starvation protection
  11. Hybrid interrupt stack
  12. Deadlock detection
  13. Single or multiple tasks per priority level
  14. Configurable Round Robin
  15. Dynamic priority changes
  16. Compile time task and component creation
  17. Run-time safe service creation
  18. No fixed number of tasks or components
  19. Programmable timeout on components
  20. Selectable scheduling search algorithm
  21. Optional cooperative mode
  22. Debug logging