Hallo Ich habe gerade die Kode für ein ATtiny12 fertiggeschrieben, Paltine entworfen und die IC-s bestellt... und jetzt dass: MCU not supported. Aus dem Thread http://www.mikrocontroller.net/forum/read-2-408.html#410 geht hervor, dass die Tinys vom GCC nicht unterstützt werden. Gibt es dennoch eine Möglichkeit den ATtiny12 in C zu programmieren, und wenn, dann wie, und womit? Danke Zoltan
Die Dinger haben keinen RAM, vergiß es. Das ist der wesentliche Grund, warum avr-gcc sie nicht unter C unterstützt. Aber ganz ehrlich, bekommst Du das eine Kilobyte an Flash nicht auch mit Assembler gefüllt? (Das sind 512 Befehle, mehr paßt also nicht.) Rudimentären Support für die kleinen ATtinys (und den AT90S1200, der in der selben Liga spielt) hat die avr-libc, d. h. insbesondere, daß Du die Konstanten aus <avr/io.h> benutzen kannst. Es stimmt übrigens so pauschal nicht, daß ,,die Tinys'' vom avr-gcc nicht unterstützt würden. Die ATtiny-Varianten mit RAM werden auch unter C unterstützt (ATtiny22 und ATtiny26, wobei der 22 mittlerweile durch den AT90S2343 ersetzt worden ist). Im Übrigen kannst Du ja mal folgende Strategie probieren: binde all Deine Variablen fest an Register (steht in der FAQ, wie das geht). Dann compiliere das Projekt für einen etwas größeren AVR in Assemblercode (avr-gcc -S). Diesen fummelst Du dann so zurecht, daß er für Dein Exemplar paßt. Du mußt natürlich die push/pop Registerrettung der Unterprogramme auch eliminieren, außerdem haben die kleinen ATtinys einige Befehle nicht, die die größeren AVRs haben.
Danke für Deine Hilfe, aber ich habe die Bestellung noch auf AT90S2343 ändern können, und somit hat sich das Problem erledigt. Allerdings scheinen diese MC Startprobleme zu haben, wenn der interne RC-Oscillator benutzt wird: http://www.avrfreaks.net/phorum/read.php?f=3&i=20641&t=20635&PHPSESSID=e79a5f733419be0040263f9e5883656e#20641 ?????
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.