mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit femtoos auf atmega8535


Autor: He (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin gerade dabei das Minibetriebsystem femtoos auf einem atmega8535 
zum laufen zu bringen. Beim compilieren erhalte ich zahlreiche 
Fehlermeldungen.Was zunächst nicht verstehe warum wird eine 
config_application.h Datei verlangt. Desweiteren gibt es weitere 
Fehlermeldungen wie:

./femtoos_headers/femtoos_check.h:104:6: error: #if with no expression
./femtoos_headers/femtoos_check.h:240:4: error: #error "Parameter 
'cfgSysOptimized' is misspelled or incorrect."

Ich weiss nicht wie ich diese Fehlermeldungen beseitigen kann.

Für jegliche Hilfe bedanke ich mich schon im voraus.

Autor: He (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat hier schonmal jemand dieses kleine Echtzeitbetriebssystem auf einem 
AVR zum laufen gebracht?

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halte dich an das Tutorial und alles wird gut.

http://www.femtoos.org/code_start.html

Autor: aa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>./femtoos_headers/femtoos_check.h:104:6: error: #if with no expression
#if   (cfgUseSynchronization == cfgSyncSingleSlot)
  #define  MinSlotSize_Task                         1
  #define  MaxSlotSize_Task                         1
#elif (cfgUseSynchronization == cfgSyncSingleBlock)
  #define  MinSlotSize_Task                         2
  #define  MaxSlotSize_Task                         14
#elif (cfgUseSynchronization == cfgSyncDoubleBlock)
  #define  MinSlotSize_Task                         4
  #define  MaxSlotSize_Task                         14
#elif (cfgUseSynchronization == cfgSyncNon)
  #define  MinSlotSize_Task                         1
  #define  MaxSlotSize_Task                         14
#elif //ZEILE 104
  /* You should not come here, if you do cfgUseSynchronization is misspelled. */
  #define  MinSlotSize_Task                         1
  #define  MaxSlotSize_Task                         14
#endif
Das ganze soll wohl eine Art switch-case mit default-"Anweisung" sein, 
der Präprozessor(!) hat das anscheinend aber nicht kapiert und erwartet 
einen Ausdruck. VIELLEICHT kann man einfach einen Ausdruck der immer 
wahr ist (1==1) da hin tun, wenn der PP die Sache linear von oben nach 
unten abarbeitet sollte das klappen (ohne Gewähr!).

>./femtoos_headers/femtoos_check.h:240:4: error: #error "Parameter
>'cfgSysOptimized' is misspelled or incorrect."

Dieser "Fehler" ist kein normaler Fehler sondern ein absichtlich 
provozierter:
#if ( !defined(cfgSysOptimized) || ((cfgSysOptimized != cfgTrue) && (cfgSysOptimized != cfgFalse)) )
  #error "Parameter 'cfgSysOptimized' is misspelled or incorrect."
#endif

Die Meldung ist eigentlich selbsterklärend...

Autor: aa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was zunächst nicht verstehe warum wird eine
>config_application.h Datei verlangt.
Genaue Meldung bzw. wo steht das?
Ich vermute mal diese Datei muss vom Nutzer erstellt werden und enthält 
jene Einstellungen die der PP nicht gefunden hat (cfgSysOptimized und 
eventuell weitere). Das sollte in der hoffentlich vorhandenen Doku 
eigentlich erklärt sein. (RTFM nett verpackt...)

Autor: aa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sry für Dreifachpost, müsste mich mal anmelden...

>VIELLEICHT kann man einfach einen Ausdruck der immer
>wahr ist (1==1) da hin tun, wenn der PP die Sache linear von oben nach
>unten abarbeitet sollte das klappen (ohne Gewähr!).

Bedenke aber:
>/* You should not come here, if you do cfgUseSynchronization is misspelled. */

Autor: aa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo? Feedback?

Autor: Tobias W. (hacker-tobi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mal etwas Werbung machen darf...

Vielleicht kannst du ja auch mal ein Blick auf nanos werfen ;)

http://sourceforge.net/projects/nanoos/

Ist zwar derzeit noch nicht auf den 8535 portiert,aber machbar wäre das 
sicher, da das System für AVRs entwickelt wurde.

Es unterstützt:

-Preemptive Multitasking,
-Semaphore
-Messages Queues,
-dynamisches Anlegen und löschen von Tasks sowie
-ein einfaches Fehlermanagement.

gruß

tobi

Autor: aa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aa schrieb:
> Hallo? Feedback?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aa schrieb:
> aa schrieb:
>> Hallo? Feedback?

Lerne Programmieren, dann brauchst Du kein OS. Das ist auf einem so 
kleinen MC sowiso Unfug. Es verschwendet nur einen Haufen Ressourcen, 
die Dir dann an der Anwendung fehlen.

...

Autor: aa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau lesen bitte! Ich bin nicht der TO.

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.