mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FreeRTOS und ATMega644


Autor: Dietmar E (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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;
------------------------------------------------------------------------ 
--------------

Autor: 644 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Dietmar E (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Mathias D. (gonium)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.