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.
>./femtoos_headers/femtoos_check.h:104:6: error: #if with no expression
1 | #if (cfgUseSynchronization == cfgSyncSingleSlot)
|
2 | #define MinSlotSize_Task 1
|
3 | #define MaxSlotSize_Task 1
|
4 | #elif (cfgUseSynchronization == cfgSyncSingleBlock)
|
5 | #define MinSlotSize_Task 2
|
6 | #define MaxSlotSize_Task 14
|
7 | #elif (cfgUseSynchronization == cfgSyncDoubleBlock)
|
8 | #define MinSlotSize_Task 4
|
9 | #define MaxSlotSize_Task 14
|
10 | #elif (cfgUseSynchronization == cfgSyncNon)
|
11 | #define MinSlotSize_Task 1
|
12 | #define MaxSlotSize_Task 14
|
13 | #elif //ZEILE 104
|
14 | /* You should not come here, if you do cfgUseSynchronization is misspelled. */
|
15 | #define MinSlotSize_Task 1
|
16 | #define MaxSlotSize_Task 14
|
17 | #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:
1 | #if ( !defined(cfgSysOptimized) || ((cfgSysOptimized != cfgTrue) && (cfgSysOptimized != cfgFalse)) )
|
2 | #error "Parameter 'cfgSysOptimized' is misspelled or incorrect."
|
3 | #endif
|
Die Meldung ist eigentlich selbsterklärend...
>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...)
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. */
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
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. ...
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.