ChronOS Main Page: Unterschied zwischen den Versionen

Aus ProjectWiki
Wechseln zu:Navigation, Suche
(Created page with "== About == ''ChronOS'' is a Real-Time Operating System for Bascom-AVR. Why I did this: I was always interested in developing an Operating System, many years ago I started to wr...")
 
K
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
  
 
''ChronOS'' is a Real-Time Operating System for Bascom-AVR.
 
''ChronOS'' is a Real-Time Operating System for Bascom-AVR.
Why I did this: I was always interested in developing an Operating System, many years ago I started to write one in Assembler for the X86 architecture. It was capable to boot from a floppy disk, load and execute kernel code and set the CPU in protected mode. Then it became to complex and I lost the interest.
 
Now i wanted to learn some assembler for the AVR controllers and wanted to to this through making an RTOS. I read the Application Note #106 from MCSElec, but this is not an real RTOS, its a sort of cooperative multitasking. I found nothing useable, so I had to start from scratch, regarding the programming environment.
 
  
  
 
== Development Environment ==
 
== Development Environment ==
  
''ChronOS'' is developed in Bascom-AVR 2.0.3.0
+
''ChronOS'' is developed in Bascom-AVR 2.0.7.9
 +
 
 +
 
 +
== Modules/Functions ==
 +
 
 +
* [[ChronOS Memory Management|Memory Management]]
 +
** [[ChronOS Memory Management: Static|Static]]
 +
** [[ChronOS Memory Management: TLSF|TLSF]] (Two Level Segregated Fit) dynamic
 +
* [[ChronOS Task Management|Task management]]
 +
* [[ChronOS Scheduling|Scheduling]]
 +
** [[ChronOS Scheduler: Weigthed Round-Robin|Weigthed Round-Robin]]
 +
** [[ChronOS Scheduler: EDF|EDF]] (Earliest Deadline First) with fixed priorities, preemption threshold and priority inversion
 +
* [[ChronOS Timer|Timer]]
 +
* Inter-task communication
 +
** [[ChronOS Inter-Task Communication: Signal|Signal]]
 +
** [[ChronOS Inter-Task Communication: Semaphore|Semaphore]]
 +
** [[ChronOS Inter-Task Communication: Mutex|Mutex]]
 +
** [[ChronOS Inter-Task Communication: Messagequeue|Messagequeue]]
 +
** [[ChronOS Inter-Task Communication: Pipe|Pipe]]
 +
** [[ChronOS Inter-Task Communication: Synchronized Pipe|Synchronized pipe]]
 +
* I/O device driver
 +
** [[ChronOS I/O Device Driver: Pins & Ports|Ports]]
 +
** [[ChronOS I/O Device Driver: USART|USART]]
 +
* [[ChronOS HW Interrupts|HW interrupts]]
 +
* Debugging
 +
** [[ChronOS Debugging: Memory|Memory]]
 +
** [[ChronOS Debugging: CPU|CPU]]
 +
** [[ChronOS Debugging: Stacks|Stacks]]
 +
 
 +
== API documentation ==
 +
 
 +
[http://www.braunecker.at/downloads/chronos/api/masterindex.html API reference documentation]
  
  
 
== Supported Devices ==
 
== Supported Devices ==
  
Currently supported devices are:
+
Atmega (tested on M32) & AtXmega (tested on Xmega128A1)
* Atmega32
+
 
  
 +
== Download ==
 +
* [http://www.braunecker.at/ 0.1a], 06.06.2013
  
== Key Functions ==
 
* [[ChronOS Context Switch|Multitasking]] (Full context switch, essential context switch)
 
* [[ChronOS Task Management|Task Management]]
 
* Various [[ChronOS Scheduling Strategies|scheduling strategies]] (Round-Robin, Priority-Based, Automatic Priority-Based)
 
* [[ChronOS Timing Core|Software Timers]]
 
* [[ChronOS Interrupt Handling|Interrupt Handling]]
 
* [[ChronOS Memory Management|Memory Management]] using Segmentation/Paging
 
  
 
[[Category:ChronOS]]
 
[[Category:ChronOS]]

Aktuelle Version vom 16. Dezember 2016, 14:59 Uhr

About

ChronOS is a Real-Time Operating System for Bascom-AVR.


Development Environment

ChronOS is developed in Bascom-AVR 2.0.7.9


Modules/Functions

API documentation

API reference documentation


Supported Devices

Atmega (tested on M32) & AtXmega (tested on Xmega128A1)


Download