Moin Moin,
ich möchte mal aus Neugier das RTOS AVRX probieren. RTOS-Erfahrung liegt
jede Menge vor aber nur auf 32-bit CPUs.
Ich habe hier leider nichts gefunden, was meine Fragen beantwortet. Im
YAHOO-Firum zum AVRX gab es auch keine entsprechenden Antworten. Aber
vielleicht weiß hier jemand etwas dazu.
Ich habe die AVRX Version 2.6f (Assembler) auf einem mega8515 zum laufen
bekommen mit einer Beispielapplikation. Ich möchte das RTOS aber gerne
auf einem mega324p einsetzen. Für die Portierung habe ich nirgens eine
Beschreibung gefunden. Die Fehler die beim Assemblieren entstehen, sind
meistens welche in denen Register mit IN/OUT angesprochen werden und
diese nicht in den unteren 64 Byte liegen. Das habe ich alles behoben
undauch schon x-mal gecheckt.
Die Beispiel Applikation läuft auch, solange ich den seriellen Treiber
vom AVRX nicht nutze. Im Beispiel wird der Monitor mit eingebunden, der
den UART als Kommunikationsinterface nutzt. Und dort kracht es dann, die
Anwendung ist tot. Wenn ich in der seriellen Routine 'PutChar' zum
Senden folgende Zeile auskommentiere,
1 | rcall AvrXWaitSemaphore; Wait until data register is ready
|
dann stürzt die Anwendung nicht ab. Da liegt meine Vermutung eher so,
dass es noch ein Problem mit den Semaphoren gibt, die sonst in dem
Beispiel nicht verwendet werden.
Nun meine Fragen:
1) Hat schon mal jemand dieses RTOS auf eine völlig andere AVR-CPU
portiert, als in den Makefiles angegeben.
Also mega8515/16/32/128 sollen gehen. 8515 habe ich selber probiert und
geht.
2) Weiß jemand, ob es irgendwo eine Beschreibung gibt, was alles
anzupassen ist. Leider habe ich kein "HAL"-File gefunden oder ein/zwei
Files die angepaßt werden müssen und dann ist gut.
Danke für Eure Antworten schon mal.
900ss