FreeRTOS

pmac

Neues Mitglied
23. Sep. 2008
54
0
0
Sprachen
Hallo,

hat jemand Erfahrung mit FreeRtos auf AVR-Prozessoren? Vielleicht sogar für den Mega128?
Zwar habe ich eine Protierung für den Mega 128 gefunden die für meinen Compiler (CodeVision) geeignet ist, aber für einen Takt von 8Mhz ausgelegt ist. Das zu verwendende Board läuft jedoch mit 16 Mhz. Aufgrund meiner mangelnden AVR Erfahrung (ist mein erste Projekt ;-) ) kann ich die Stelle nicht finden, an der die Taktfgrequenz der CPU für das FreeRtos eingestellt wird (damit das RTOS interne Timing funktioniert). Ich vermute das es an dieser Stelle stattfindet, bin mir aber nicht sicher:
/* Hardware constants for Timer1. */
#if (defined _CHIP_ATMEGA128_) | (defined _CHIP_ATMEGA64_)
/* ATmega64, ATmega128 chips, Timer 1 runs in Mode 4 */
#define portCLEAR_COUNTER_ON_MATCH ( ( unsigned portCHAR ) 0x08 ) // WGM13=0 WGM12=1
#define portPRESCALE_64 ( ( unsigned portCHAR ) 0x03 )
#define portCLOCK_PRESCALER ( ( unsigned portLONG ) 64 )
#define portCOMPARE_MATCH_A_INTERRUPT_ENABLE ( ( unsigned portCHAR ) 0x10 )

#else
#error please modify Timer1 hardware constants to suit your chip
#endif
hat jemand einen guten Tip für mich?
Danke
Peter
 
Hallo Peter,

FreeRTOS setze ich selber nicht ein.

Als Zeit-Event nutzt hier FreeRTOS anscheinend den Timer1 (16bit) im CTC-Mode (ClearTimer on Comparematch). Verwendet wird der CompareInterurptA. Die Periodendauer des Interrupts ist abhängig von
  • dem Systemclock (16MHz)
  • von dem Prescaler des Timer1
  • vom Inhalt des Registers OCR1A (OCR1AH, OCR1AL)
Der Prescaler ist anscheinend auf 64 eingestellt. Du musst die Stelle noch finden, wo OCR1A eingestellt wird. Theroretisch brauchst du den Wert von OCR1A nur verdoppeln, das geht natürlich nur dann, wenn der Wert auch in das 16Bit CompareRegister passt.

Hilfreich für die Berechnung des Comaprewertes ist vielleicht auch unser Tool AVR-Timer-Calculator.

Grüße,
Dirk
 
Danke Dirk,

ich seh' mich mal um ...

Peter
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)