Hallo, ich habe das Problem das ich ein Arduino Projekt habe und das auf einen anderen Prozessor (MEGA88)zum laufen bringen will. Mit der Arduino IDE bekomme ich das nicht hin und außerdem arbeite ich sonst mit CODE::BLOCKS. Die ganzen nicht STD Libs habe ich gefunden. So nur wie bekomme ich den ganzen Arduino Code um ohne deren IDE zu benutzen. VG, Klaus
Du kannst den Arduino als ISP konfigurieren so dass er danach Daten einfach "weiterreicht". Dann könntest du, wenn du die Daten für den MEGA88 einbindest, auch dein Arduino code auf den MEGA88 laden. Ich hab mir für sowas aus einer PCB und ein paar Messerleisten ein Schild für den Uno gebastelt und flashe damit sowohl Arduino code als auch direkte hex-Dateien auf ATtiny85. Hilft dir das weiter?
Irgendwie hilft mir das jetzt nicht, liegt wohl daran das ich das nicht nachvollziehen kann was Du da machst. Das einzige was ich draus lese ist das man der IDE irgendwie beibringen kann das man einen MEGA88 hat. VG, Klaus
Achso der GCC unter der IDE kann logischerweise die ganzen Prozessoren, nur wie man den hier umstellt kann ich nicht erkennen. Das Original Projekt wurde angeblich auf einen TINY45 geflasht Habe es eben mal als NANO 328 versucht zu kompielieren, ging natürlich nicht! Wäre ja zu einfach gewesen. Brauche ich die neueste IDE oder reicht die 1.61? Kann ich heute abend updaten!
Vielleicht solltest du mal damit rausrücken welches Projekt du meinst.
Hallo, Atmega 8/88/328 sind doch vom Pinout gleich, also vom UNO den Chip runter und steck den 88er rauf. Dann brauchst noch das hier dazu https://github.com/MCUdude/MiniCore Bootloader brennen und viel Erfolg damit dann. Oder machst es so wie oben schon beschrieben wurde, Arduino als ISP konfigurieren. Gruß ic_tester
:
Bearbeitet durch User
Beitrag "Projekt fertiggestellt: MP3 Player für Kinder auf ATTiny-Basis" Ich habe halt von den MEGA88 viele hier liegen und außerdem ist die Hardware nun aufgebaut und braucht jetzt nur noch die Software. Ich bin auch ohne Bootloader glücklich, den brauche ich hier nun wirklich nicht.
Klaus schrieb: > Ich bin auch ohne Bootloader glücklich, den brauche ich hier nun > wirklich nicht. Leider funktionieren Arduino-Programme nicht ohne Arduino-Bootloader. Du musst nach den Definitions-Dateien des MEGA88 für Arduino suchen und diese dann ins richtige Verzeichnis packen. Dann musst du den Beispielsketch "Arduino ISP" auf dein Arduino-Board laden, die notwendigen Leitungen verbinden (steht detailliert auf der Arduino-HP, Stichwort "Arduino ISP") und anschließend musst du in der IDE den Programmer auf "Arduino ISP" stellen und beim Board deinen MEGA88 aussuchen. Um zu schauen, ob der ISP richtig funktioniert kannst du Avrdude manuell aufrufen und schauen, ob er die richtige Signatur zurück liefert, du also den richtigen Chip ansprichst. Danach sollte das Sketch kompiliert und auf den MEGA88 geflasht werden.
Hilfe ist das ein Schrott. Sorry aber warum tut man sich das an? Gut es ist eine einfache Art ins Thema Programmierung rein zu kommen, aber dann steht man da und wundert sich das die Welt anders funktioniert. Ich glaube das ich den Code neu zusammen baue mit CB und einen eigenen Framwork dafür baue. Am eigentlichen Code will ich kaum was ändern auch um später mal andere Projekte / Libs ohne probleme nutzen zu können. Naja bei dem Projekt ist das ganze noch übersichtlich und sollte keine 4 Stunden dauern. Wäre halt nur schön gewessen, wenn es ganz einfach gewesen wäre.
Klaus schrieb: > Hilfe ist das ein Schrott. > > Sorry aber warum tut man sich das an? > Gut es ist eine einfache Art ins Thema Programmierung rein zu kommen, > aber dann steht man da und wundert sich das die Welt anders > funktioniert. Ich verstehe nicht ganz, wo das Problem liegt. Runterladen der MEGA88 def, einrichten des Arduino als ISP und hochladen des Programms erledigt sich in 10 Minuten. Die elektrischen Verbindungen vom Arduino zu einem anderen Controller sind ohne Status-LED 6 Leitungen und mit 9 Leitungen, auf nem Breadboard kein Thema. Hast du keinen Arduino den du als ISP konfigurieren kannst? Kein Problem, die IDE kennt auch so ziemlich alle anderen ISPs. Ich persönlich nutze die Arduino IDE ganz gern weil sie eben einen Haufen Bibliotheken mitbringt und man schön high-level programmieren kann. Für mich für Rapid-prototyping ideal. Womit programmierst du denn sonst deine Controller? Arduino spuckt auch einen hex-file aus, den du theoretisch sogar von Hand mit Avrdude auf den Controller laden kannst, wenn du vorher noch den Bootloader drauf lädst. Der Bootloader ist halt die "Kröte" die man schlucken muss, um high-level zu programmieren.
:
Bearbeitet durch User
Letztes Jahr versuchte ich eine HEX Datei über Kommandozeile dem Bootlader zu reichen und hatte auf Anhieb funktioniert. Folgend ist ein Auszug aus meiner Projekt Dokumentation als Beispiel: Command Line BUILD and LOAD: BOOTLOADER with AVRDUDE: Assumes C:\AVRDUDE directory with: ---------------------------------- A.BAT AVRDUDE.CONF AVRDUDE.EXE A.HEX //////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////// WORKS: (Inside A.BAT) c:\AVRDUDE\avrdude -CC:\AVRDUDE\avrdude.conf -v -patmega328p -carduino -PCOM4 -b57600 -D -Uflash:w:C:\AVRDUDE\A.hex:i //////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////// Note: Verify correct COM port is used Vielleicht hilft es Dir. Ich kann mich nicht mehr erinnern wo das Arduino IDE den HEX file speichert. Ist vielleicht unter USERS/...
Hallo ! Ralf B. schrieb: > Leider funktionieren Arduino-Programme nicht ohne Arduino-Bootloader Das ist mir jetzt aber ganz neu ! Richtig ist, das beim Brennen des Bootloaders die Fuses gesetzt werden. Deshalb muß auch bei AVR's die Bootloader nicht können, (Tiny's) der Bootloader gebrannt werden. Geht natürlich auch zu Fuß. Klaus schrieb: > Das Original Projekt wurde angeblich auf einen TINY45 geflasht Hast Du die notwendigen Erweiterungen in der Arduino-IDE nachinstalliert ? Kannst Du die TINY's anwählen ? (Unter Board's) ? Schau Dir die Datei boards.txt in der IDE an! Hier kannst Du deien MEGA88 definieren ! R. S. schrieb: > Atmega 8/88/328 sind doch vom Pinout gleich, also vom UNO den Chip > runter und steck den 88er rauf Das sollte also nicht so kompliziert sein! Viel Glück !
knollo schrieb: > Das ist mir jetzt aber ganz neu ! Richtig ist, das beim Brennen des > Bootloaders die Fuses gesetzt werden. Deshalb muß auch bei AVR's die > Bootloader nicht können, (Tiny's) der Bootloader gebrannt werden. Geht > natürlich auch zu Fuß. Interessant. Ich dachte, der setzt auch noch eine irgendwie geartete Einsprungadresse. Das macht das ganze ja eigentlich noch einfacher für den TO.
Www uecide org Kann für verschiedene Plattformen bauen
Wenn man den Bootloader nicht braucht dann ist das gut. Bin gerade dabei alles zu installieren, hoffe das ich es noch schaffe ein Ergebnis zu bekommen. Hinter Arduino steckt nichts weiter als der GCC und den habe ich seit Jahren mit Code::Blocks im Einsatz. Teilweise sogar nur mit einem Makefile. Die Arduino IDE ist halt leider nichts für jemanden der gerne mal den Debugger an wirft. Da ist dann das AVR Studio oder CB mit einer Erweiterung deutlich besser. Wozu hat man denn sonst damals die ca. 400€ ausgegeben wenn man die nicht nutzten kann. Printf und Pinwackeln sind nun mal nicht immer möglich und auch oft nicht geeignet dafür. Werde aber, auch wenn das mit der IDE geht, mir einen eigenen kleinen Framework bauen. Ist ja nicht so kompliziert und wird mir auf Dauer wohl am meisten bringen. Wichtig ist dann halt nur das ich recht einfach Arduino Projekte einbinden kann. VG, Klaus
Klaus schrieb: > So nur wie bekomme ich den ganzen Arduino Code um ohne deren IDE zu > benutzen. http://www.visualmicro.com/page/Arduino-for-Atmel-Studio.aspx
@Klaus Aus deinen Beiträgen entnehme ich das du auf jeden Fall viel viel mehr Ahnung von MCs hast als ich und die Arduino-"Krücken" die mir recht gut helfen, mich in das Thema einzuarbeiten eher lästig, unnötig und wahrscheinlich sogar störend sind. Klaus schrieb: > Hinter Arduino steckt nichts weiter als der GCC und den habe ich seit > Jahren mit Code::Blocks im Einsatz. Teilweise sogar nur mit einem > Makefile. Ich versuche mich gerade in make einzuarbeiten um von den batch-Dateien wegzukommen, die ich momentan verwende um Avrdude und avrasm2 zu steuern. Ich möchte am Ende VS Code für alle meine Programmiersprachen verwenden können, daher bietet sich das an. Wünsche dir viel Erfolg und gutes Gelingen. Mit deiner Erfahrung wird das bestimmt schnell und einfach gehen.
34 Jahre embeded Kram helfen einem manchmal leider auch nicht. Die Arduino Teile finde ich nicht schlecht, habe etliche NANO im Einsatz. Allerdings den Code habe ich immer ohne jede Änderung direkt übernomen, oder gleich was eigenes drauf laufen. Leider ist die IDE für anspruchsvolle Sachen nur bedingt geeignet. Der Hardware ist es sowieso egal wo das Program herkommt (IAR Keil GCC / ....) und mit welchem Editor der Code geschreiben wurde. Muste gesten leider 2 Minuten nach meinem Komentar abbrechen, geht heute weiter. Klaus
So ich bin fertig! Habe eine Codeblocks Erweiterung extra für Arduino gefunden, auch wenn die schon einige Jahre älter ist, macht es das ganze recht einfach. Muss man halt nur gegen den neuen Code ersetzen. Hatte aber vorher einfach alles benötigte aus dem Arduino Ordner bei mir rein kopiert und die Dateinen im Projekt eingebunden. War nicht so schwer und jetzt habe ich alles unter kontrolle. Mit der Arduino IDE habe ich auch weiter gespielt und mal die ganzen Erweiterungen eingebunden, das geht dann auch alles ohne Probleme, außer das ich keinen Debugger habe und nicth alles so machen kann wie ich will. Was mir unangenehm aufgefallen ist, ist das AD abfragen immer eine "Jetzt abfragen und warten" Sache ist. Ich bevorzuge das die Daten immer im Hintergrund abgerufen werden und ich sie einfach alle im Speicher habe. Aber das ist halt meine ART der Entwicklung. VG Klaus
Hallo, Klaus schrieb: > Was mir unangenehm aufgefallen ist, ist das AD abfragen immer eine > "Jetzt abfragen und warten" Sache ist. Ich bevorzuge das die Daten immer > im Hintergrund abgerufen werden und ich sie einfach alle im Speicher > habe. > Aber das ist halt meine ART der Entwicklung. Niemand hindert Dich daran auf analogRead() zu verzichten und den ADC selbst passend einzustellen und eine passende ISR einzubinden. Auch nicht innerhalt der ArduinoIDE, auch nicht als Kombination mit "üblichem" C-Code. Das läßt sich auch ziemlich bunt mit den Arduino-Funktionen mischen. Natürlich ist man dann auch selbst dafür verantwortlich, was man einbindet, was man nutzen will und welche Wechselwirkungen es gibt. In diesem Fall ist es gut, daß die Arduino-Sachen alle als Source vorliegen und nicht als vorcompilierte Bibliotheken. Ich habe aus Bequemlichkeit schon komplette alte AVR-Studio C-Projekte in die ArduinoIDE gworfen und dort compiliert. Gruß aus Berlin Michael
Das man der Arduino-IDE alles machen kann ist doch klar weil der GCC dahinter steckt und somit alles schluckt (C & C++). Ja zum Glück ist alles als Source da, sonst wäre Arduino möglicherweise auch nicht so erfolgreich. Das Problem ist das ich keinen Debugger unter Arduino habe, dafür brauche ich dann halt was anderes. Bei mir geht es halt nicht ohne! Ansonsten kann man sehr gut mit der Arduino IDE leben, zumal die auch immer besser wird wie ich feststellen durft. VG, Klaus
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.