Kann jemand mit einer Anpassung von FreeRTOS an den ATMega644 helfen (d.h. die notwendigen Änderungen in der Datei port.c, aufbauend auf der Version für den ATMega32)? Bzgl. der Anpassung des Timer-Codes haber ich untenstehenden Vorschlag gefunden, aber das scheint nicht alles zu sein. Das Programm hängt. Der 644 soll einen Programm-Counter mit 3 Bytes haben? ------------------------------------------------------------------------ -------------- #define portFLAGS_INT_ENABLED ( ( portSTACK_TYPE ) 0x80 ) #define portCLEAR_COUNTER_ON_MATCH ( ( unsigned portCHAR ) 0x08 ) #define portPRESCALE_64 ( ( unsigned portCHAR ) 0x05 ) #define portCLOCK_PRESCALER ( ( unsigned portLONG ) 64 ) #define portCOMPARE_MATCH_A_INTERRUPT_ENABLE ( ( unsigned portCHAR ) 0x02 ) static void prvTimerInterrupt( void ) /* Enable the interrupt - this is okay as interrupt are currently globally disabled. */ ucLowByte = TIMSK1; ucLowByte |= portCOMPARE_MATCH_A_INTERRUPT_ENABLE; TIMSK1 = ucLowByte; ------------------------------------------------------------------------ --------------
Hallo, habe die Anpassung vor längerer Zeit bei mir gemacht, aber das gleiche Problem wie bei dir. Das Teil hängt in REALTIME ;-) K.A. was dat is.
Es war ein Fehler bei der Timer-Initialisierung, kein Problem mit dem Programm-Counter - der ist im Gegensatz zu einer Angabe im Datenblatt (vermutlich) doch nur 2 Bytes gross.
Hi, ich habe einen FreeRTOS-Port auf den ATMega644 gemacht - inklusive Integration der UART-Bibliotheken von Peter Fleury. Der Code ist hier beschrieben: http://gonium.net/md/2008/08/10/freertos_for_atmega644/ Have fun, -Mathias
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.