Arduino-Leonardo-USB mit original Bootlader

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Arduino-Leonardo-USB mit original Bootlader

      Um die USB-Schnittstelle und den original Bootlader des Arduino Leonardo
      und Klone mit dem Atmega32u4 (ist etwas anders) auch in Bascom
      verwenden zu können, wird ein kleines Programm, "Boot32u4.exe" benötigt.


      1. "Boot32u4.exe" hier herunterladen:
      purebasic.mybb.ru/search.php?a…0%D0%B2%D0%B8%D1%82%D1%8C

      2. AVRDUDE herunterladen und installieren, am besten in C:/.
      nongnu.org/avrdude/

      3. Boot32u4.exe mit in das Avrdude-Verzeichnis kopieren.

      4. Den Leonardo am USB-Port des PCs anschließen. Nun sollte eigentlich der Leonardo im Gerätemanager erkannt werden und eine COM zugewiesen bekommen haben. Das ist aber nur die für die Kommunikation mit der ARDUINO-IDE und nicht die des Bootladers. Wenn Ihr nun einen Reset auslöst wir die COM des Bootladers angezeigt.

      5 Jetzt könnt Ihr Boot32u4.exe starten. Oben wählt Ihr Euer Bascom Verzeichnis und das HEX-File aus. Darunter stellt Ihr noch die COM-Adresse vom Bootlader ein. Nun nur noch auf Programmieren klicken. Ab hier habt Ihr etwas Zeit, um RESET zu aktivieren, Spannung Ein/Aus funktioniert übrigens nicht! Danach sollte das Kopieren des Files im Fenster angezeigt werden.
      32u4exe.JPG32u4exe-avrdude.JPG

      5. Nach dem nun Euer Programm gespeichert ist, startet es automatisch. Die erste von der Arduino-IDE mit "Blink" vergebene USB-Schnittstelle ist nun natürlich nicht mehr verfügbar.


      Viel Spaß!
      Gruß Udo

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Udo01 ()

    • Udo01 schrieb:

      original Bootlader des Arduino Leonardo
      Ein kleiner Nachtrag:
      Nach vergeblichen Versuchen irgend einen Timer zu aktivieren, hat die LED nach einem Einschalten auf einmal geblinkt. Das Fazit daraus ist meiner Meinung nach, alle Bootloader sind S.....e. Nö, warscheinlich blockiert der PLL-Timer4, welcher mit dem Bootloader und USB gestartet wird und weiterläuft, die restlichen Timereinstellungen. Nach dem Trennen der Betriebsspannung, wobei der Bootloader nicht gestartet wird, funktioniert das Programm wie gewohnt und das sogar mit einem 2. 16 Bit Timer.
    • Hallo Udo,
      ich arbeite schon eine halbe Ewigkeit mit BASCOM und Atmels mit dem Brenner USBASP von Fischl.
      Jetzt wollte ich mal den Arduino UNO über dessen USB- Anschluss und mit BASCOM programmieren.
      Geht das wirklich nur so umständlich über ein separates Programm von Dir, dem Boot32u4.exe?
      Wenn im Arduino ein Bootlader installiert ist, dann muss das Programm doch nur seriell übertragen werden.

      Entschuldige wenn ich so unbedarft anfrage, aber diese ganze Hysterie über Arduino und Bootlader ist völlig an mir vorbei gegangen
      und bedarf einer Aufklärung. Ich möchte mich nicht mit der speziellen Arduino Entwicklungsumgebung beschäftigen weil die nie so gut
      und perfekt funktionieren kann wie Bascom und weil ich C überhaupt nicht ausstehen kann.

      Viele Grüße
      Dieter
    • DiBo schrieb:

      Ich möchte mich nicht mit der speziellen Arduino Entwicklungsumgebung beschäftigen weil die nie so gut
      und perfekt funktionieren kann wie Bascom und weil ich C überhaupt nicht ausstehen kann.

      Hallo Dieter,
      Da gebe ich Dir erst einmal vollkommen recht!
      Beim Arduino UNO hast Du da keinerlei Probleme und kannst aus Bascom heraus den installierten Bootlader verwenden. Der UNO hat einen ATMEGA328P und eine separates USB-Interface. Beim Leonardo muss das Interface mit dem Bootlader auf den Atmega32u4 erst geladen werden. Scheinbar sind da doch einige Besonderheiten programmiert. Zumindest werden zB. die Timer verbogen um 48 MHz PLL zu bekommen. Die Arduino IDE berücksichtigt das ganze dann wieder. Ich hab aber erst einmal keine andere Lösung gefunden, wenn man die USB Schnittstelle in Bascom verwenden möchte. Normal lohnt sich der Aufwand nicht, aber es soll klein sein und ich hab das Bord unten hier. Das lohnt zwar auch wieder nicht, sind nur die paar Pins angeschlossen.
      Gruß Udo
      32u4.jpg
    • Schraubbaer schrieb:

      wenn du den USB seriell Treiber installiert hast kannst du einfach über Bascom programmieren, schau mal ins Lexikon,,da gibts einige Beiträge dazu. Nichts ist einfacher als ein Vorprogrammierter uno mit bootloader.

      Tobias
      Hallo Tobias, hallo Udo

      danke für die Antwort(en).
      Leider muss ich nochmal nachfragen um welchen USB seriell Treiber handelt es sich jetzt. In der angebotenen Vielzahl von Treiber in Bascom habe ich nichts passendes gefunden, denn dort finde ich nur welche für das gute alte STK500. Aber ich möchte so gerne einen in BASCOM integrierten Programmer-Treiber verwenden. Gerade das macht es doch schließlich aus, in BASCOM kann ich entwickeln, F7 drücken dann wird automatisch kompiliert, gebrannt und ab geht die Post. Das nenne ich perfektes Werkzeug. Irgendwelche fremde Treiber Software einsetzen das ist für mich ein Gräuel und raubt mir meine ohnehin viel zu kurze Lebenszeit. (hi)
      Des Weiteren frage ich mich, was Du mit Lexikon meinst- sorry- aber den Begriff habe ich im Zusammenhang mit Bascom noch nicht gelesen- meinst Du vielleicht das Archiv- dort habe ich nichts Erklärendes gefunden?
      Viele Grüße
      Dieter

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DiBo ()

    • DiBo schrieb:

      Des Weiteren frage ich mich, was Du mit Lexikon meinst- sorry- aber den Begriff habe ich im Zusammenhang mit Bascom noch nicht gelesen- meinst Du vielleicht das Archiv- dort habe ich nichts Erklärendes gefunden?
      Arduino Uno mit BASCOM über Bootloader nutzen (Erste Schritte)

      Wenn du einen Arduino über USB mit deinem PC verbindest, muss dazu von Windows ein Treiber geladen werden. Dann ist der Arduino im Gerätemanager von Windows zu finden, unter Com-ports. Die zugeordnete comport-Nummer ist wichtig, um in bascom mit der Brennfunktion auf den Arduino zugreifen zu können.

      Siehe auch hier die ersten Zeilen
      avrhelp.mcselec.com/arduino.htm
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von tschoeatsch ()

    • DiBo schrieb:

      Leider muss ich nochmal nachfragen um welchen USB seriell Treiber handelt es sich jetzt. In der angebotenen Vielzahl von Treiber in Bascom habe ich nichts passendes gefunden, denn dort finde ich nur welche für das gute alte STK500. Aber ich möchte so gerne einen in BASCOM integrierten Programmer-Treiber verwenden.
      Dein UNO hat einen seriell-USB Treiberchip drauf.
      Auf Windows-Seite ist da USB und auf AVR Seite ist da einfach eine serielle Schnittstelle mit 115,2 oder 57,6 kBaud angeschlossen.
      Dein Windows braucht einen Treiber um den USB Chip ins System als serielle Schnittstelle einzubinden.
      Meist wird zur Zeit der CH340 benutzt.
      Hast du diesen Treiber installiert?
      Siehst du im Gerätemanager einen zusätzlichen COM-Port, wenn du den UNO ansteckst?
      Dann geht es nämlich weiter mit Bascom.

      P.S.: Hier ist der Treiber:
      makershop.de/ch340-341-usb-installieren/

      PPS: Hier der direkte Link zum Treiber:
      wch.cn/downloads/file/5.html
    • Die China-Clone haben den CH340 drauf. In Bascom wählst Du dann ARDUINO (ohne Zusatz) als Programmer aus. Ermittlung der Com- Schnittstelle wie Michael geschrieben hat. Die Übertragungsrate auch wie Michael geschrieben hat. Bei mir möchte der Uno eine andere Übertragungsrate als der Nano. Ansonsten funktionieren die ARDUINOs problemlos aus Bascom heraus.
      Wenn das die Lösung ist, möchte ich mein Problem wieder haben.
    • DiBo schrieb:

      Ich arbeite schon eine halbe Ewigkeit mit BASCOM und Atmels mit dem Brenner USBASP von Fischl.
      Jetzt wollte ich mal den Arduino UNO über dessen USB- Anschluss und mit BASCOM programmieren.

      Hallo Dieter,
      warum gehst Du nicht mal anders an die Sache heran. Arduino hin und her, am Ende ist da auch nur ein Atmel Prozessor auf der Platine. Der Rest an Bauteilen, ist im besten Fall nur nützlich. Also kannst Du den Atmega328p genau so, wie Du das früher gemacht hast, behandeln. Mit einem ISP-Programmer kannst Du somit jeden Dir genehmen Bootlader brennen. Die Fuses kannst Du dabei natürlich auch nach Deinen Bedürfnissen anpassen. Du bist somit in keinster Weise an die Arduino IDE gebunden! An der
      USB-Schnittstelle ändert sich dabei nichts. Die stellt Dir nach wie vor einen USB-Serial-Port zur Verfügung, wie früher zB. mit dem MAX232 als nur Serial-Port. Ich benutze lieber einen ISP-Programmer. Ein Bootlader nimmt Platz im RAM weg und man hat immer eine Startverzögerung.
      Gruß Udo
    • Ich finde an den Arduinomodulen gerade den Bootloader das praktische. Gerade zum Experimentieren benötigt man nicht mehr als ein USB Kabel. Die Teile sind preiswert und man kann ohne Zusatzkosten direkt loslegen.
      Für meine praktischen Anwendungen nutze ich dann aber die konventionellen Controller, meist sogar DIL, gesockelt, um im Bedarfsfall schnell mal wechseln zu können.

      So hat jede Technologie seine Berechtigung. Allerdings könnte ich mir auch vorstellen einen Nano auf einer Anwendungsplatine zu Sockeln.
      Wenn das die Lösung ist, möchte ich mein Problem wieder haben.