Hallo *, ich habe mal mit den Arduinos rumgespielt und fand es eigentlich ganz nett. Da ich noch ein altes (sehr altes) STK300 board rumliegen hatte und auf dem schon vor Jahren die MCU gegen einen ATmega1281 getauscht habe, dachte ich mir: >Es waere schoen auch dort die Arduino IDE nutzen zu koennen.< Ich habe dann den bootloader >ATmegaBOOT_168.c< fuer meinen ATmega1281 uebersetzt und in das STK300 geflasht. Danach habe ich in der >.../hardware/arduino/avr/boards.txt< einen eigenen Eintrag gemacht: ############################################################## m1281.name=STK300 m1281.upload.tool=avrdude m1281.upload.maximum_data_size=8192 m1281.bootloader.tool=avrdude m1281.bootloader.low_fuses=0xFF m1281.bootloader.unlock_bits=0x3F m1281.bootloader.lock_bits=0x0F m1281.build.f_cpu=7372800L m1281.build.core=arduino m1281.build.variant=standard # default board may be overridden by the cpu menu m1281.build.board=AVR_MEGA1281 m1281.menu.cpu.atmega1281=ATmega1281 m1281.menu.cpu.atmega1281.upload.protocol=arduino m1281.menu.cpu.atmega1281.upload.maximum_size=126976 m1281.menu.cpu.atmega1281.upload.speed=115200 m1281.menu.cpu.atmega1281.bootloader.high_fuses=0xDA m1281.menu.cpu.atmega1281.bootloader.extended_fuses=0xF5 m1281.menu.cpu.atmega1281.bootloader.file=optiboot/ATmegaBOOT_168_atmega 1281.hex m1281.menu.cpu.atmega1281.build.mcu=atmega1281 m1281.menu.cpu.atmega1281.build.board=AVR_MEGA ############################################################## Und oh Wunder das Flashen eines kleinen Blinkers klappte auf Anhieb :-) Leider kann ich das Flaschen aus der IDE heraus nicht wiederholen. Dabei erhalte ich immer: >>avrdude: stk500_recv(): programmer is not responding >>avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 Ich muss dann immer erst den Bootloader neu flashen (was gluecklicherweise direkt aus der IDE geht) um im zweiten Schritt das Programm zu erneuern. ############################################################# Was ich nicht verstanden habe ist, wie der Bootloader mit dem Arduino Programm und der IDE zusammenarbeitet. Ist es so, dass die IDE zunaechst den Arduino resetet und dann im Bootloader das neue Programm flasht? Es koennte auch sein, dass ich die Fuses fuer den ATmega1281 falsch gesetzt habe. Ich stehe ein wenig auf dem Schlauch und wuerde mich ueber Hilfe freuen.
Womöglich falsch gefust.. Ich würde im fuse calculator beide Seiten vergleichen, eventuell falsche bootloadergrösse.
Simon S. schrieb: > Drück mal den Reset taster wenn er versucht zu flashen. Danke: Ja, das geht. Aber bei dem Arduino den ich hatte, brauchte man das nicht.
> Aber bei dem Arduino den ich hatte, brauchte man > das nicht. Weil auf Arduino Boards der Reset Pin mit einer Steuerleitung des seriellen ports (bzw. USB-UART) verbunden ist.
Stefan U. schrieb: >> Aber bei dem Arduino den ich hatte, brauchte man >> das nicht. > > Weil auf Arduino Boards der Reset Pin mit einer Steuerleitung des > seriellen ports (bzw. USB-UART) verbunden ist. Der Reset kommt von DTR
Ah :-) Ich hatte so etwas vermutet. Wollte es im Grunde nur bestaetigt haben. Danke, an alle!
ArthurDent schrieb: > m1281.build.f_cpu=7372800L Da gibts einen dunklen Punkt in der Arduino Welt: Bei dem Takt ist die Berechnung/Besetzng des ADC Takt Vorteilers nicht korrekt. Solltest du also händisch nachholen, wenn du analogRead() nutzen möchtest
Oh, danke! Ich weiss zwar gar nicht, ob ich das benoetige, da es wie gesagt eigentlich nur ein wenig Spielerei darstellt. Allerdings weiss ich, wie lange man nach so etwas sucht, wenn man es selbst herausfinden muss. Ist im Uebrigen eine der weiteren Aenderungen, die ich an meinem STK300 vorgenommen habe: -> Ich habe den eingeloeteten Quarz durch eine Fassung ersetzt, so dass ich bei Bedarf die Quarze so tauschen kann, wie ich lustig bin. Ausserdem verwende ich meist nur gerade Taktraten wie 1.8433MHz, 3.6864MHz, 4.9152MHz, 7.3728MHz, ... um immer 115200Baud sauber zu treffen. Allerdings sind mein STK300 und die AVRs ein wenig in die Jahre gekommen. Ich mag sie halt, weil sie so einfach sind, dass meine Kiddies das mit endlichem Aufwand auch verstehen koennen. Fuer aktuelle Projekte setze ich eher auf STM32, LPC oder gleich auf komplette Linux Boards.
Hallo, meine beiden alten Pollin NetIO habe ich hier Beitrag "AVR-NetIO recycling" auch zum Arduino erklärt. Gruß aus Berlin Michael
Hallo *, g++ 5.4.0 übersetzt bei mir unter XUbuntu nicht. Fehler: avr-g++: error: device-specs/specs-null: No such file or directory Im Netz finde ich keine Info zu diesem Fehler. Mit einem Arduino Uno funktioniert das gesamte Setup einwandfrei. Hintergrund ist die versuchte Wiederbelebung von Waspmote V1.1 Boards von Libelium. Die alte IDE, die diese Boards programmieren kann, sträubt sich unter 64-Bit Systemen. Der Eintrag in boards.txt ist erfolgt wie oben angegeben. Zusätzlich habe ich versucht, mit Daten aus der alten Entwicklungsumgebung abzugleichen: ############################################################## wasp01.name=waspmote-api-v.033 wasp01.upload.protocol=stk500 wasp01.upload.maximum_size=122880 wasp01.upload.speed=38400 wasp01.bootloader.low_fuses=0xdf wasp01.bootloader.high_fuses=0xd0 wasp01.bootloader.extended_fuses=0xf5 wasp01.bootloader.path=wasp_v8.1 wasp01.bootloader.file=ATmegaBOOT_v0003.hex wasp01.bootloader.unlock_bits=0x3F wasp01.bootloader.lock_bits=0x0F wasp01.build.mcu=atmega1281 wasp01.build.f_cpu=8000000L wasp01.build.core=waspmote-api-v.033 ############################################################## Wenn man sich die HW ansieht, machen diese Angaben Sinn. Das führte zu: ############################################################## m1281UHE.name=Waspmote V1.1 UHE m1281UHE.upload.tool=avrdude m1281UHE.upload.maximum_data_size=8192 m1281UHE.bootloader.tool=avrdude m1281UHE.bootloader.low_fuses=0xDF m1281UHE.bootloader.high_fuses=0xD0 m1281UHE.bootloader.unlock_bits=0x3F m1281UHE.bootloader.lock_bits=0x0F m1281UHE.build.f_cpu=8000000L m1281UHE.build.core=waspmote-api-v.033 m1281UHE.build.variant=standard # default board may be overridden by the cpu menu m1281UHE.build.board=AVR_MEGA1281 m1281UHE.menu.cpu.atmega1281=ATmega1281 m1281UHE.menu.cpu.atmega1281.upload.protocol=stk500 m1281UHE.menu.cpu.atmega1281.upload.maximum_size=122880 m1281UHE.menu.cpu.atmega1281.upload.speed=38400 m1281UHE.menu.cpu.atmega1281.bootloader.high_fuses=0xD0 m1281UHE.menu.cpu.atmega1281.bootloader.extended_fuses=0xF5 m1281UHE.menu.cpu.atmega1281.bootloader.file=optiboot/ATmegaBOOT_168_atm ega1281.hex m1281UHE.menu.cpu.atmega1281.build.mcu=atmega1281 m1281UHE.menu.cpu.atmega1281.build.board=AVR_MEGA ############################################################## Ich bin langjähriger Programmierer, kenne mich jedoch mit der AVR/Arduino Productivity Chain nicht aus. Ich finde kein makefile, ant, maven etc., keine Konfiguration. Bezüglich device-specs fand ich nur das Verzeichnis /usr/lib/gcc/avr/5.4.0/device-specs. Darin gibt es ausser 'specs-atmega128rfa1' und '...rfr2' keine Dateien, die auf einen 1281 hindeuten. In der alten Entwicklungsumgebung für den Waspmote fand ich noch core-files, die ich unter /usr/share/arduino/hardware/arduino/cores/ eingebaut habe. Irgend etwas am gcc scheint mir zu fehlen.
Bei mir ist in diesem Verzeichnis viel mehr drin. Ich nutze Debian Linux. Vielleicht hilft es, die Pakete avr-libc und gcc-avr neu zu installieren.
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.