Bascom auf Linux (Zorin Os)

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Bascom auf Linux (Zorin Os)

      Hi,
      mich nervt Windows zusehens, drum beschäftige ich mich mal mit Linux, aktuell mit dem Zorin Os.
      Die Installation auf einem Testrechner neben win11 hat schon mal gut funktioniert (auf einem anderen Rechner gar nicht a_31_4f4a3ad8 )
      Was ich schon zum Laufen gebracht habe ist z.B. eagle, das sich seine Dateien von meinem NAS holt. Das ist schon mal erfreulich.
      Bascom läuft jetzt auch, das heißt ich kann Projekte einlesen, kompilieren geht auch, so wirkt es zumindest. Nur, jetzt soll's ja auch auf den Chip. Wenn ich jetzt eine Arduino anstöpsle, über welchen com-port ist der erreichbar? Ich finde sowas wie den Gerätemanager bei win nicht, wo man das auslesen kann.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Hi
      Zorin OS kenne ich nicht mal vom Namen. Scheint was ganz exotisches zu sein.
      Wenn du von Windows kommst, kann ich dir Linux Mint Cinnamon ans Herz legen.
      Das verwende ich schon seit Jahren, bietet guten Support und ist recht weit verbreitet und beliebt.
      Das schöne ist, es wird wie Windows bedient, sogar die Tastenkürzel gehen.

      Eine Gerätemanager gibt es zwar in Linux (Mint), der zeigt aber keine Schnittstellen an.
      Denn in Linux wird alles als Datei verwaltet.

      Es gibt ein Verzeichnis, in dem werden die USB-Geräte aufgelistet, die gerade in Mint laufen/angestöpselt sind.
      Müsste ich nachschauen wie das heißt.

      Aber da gibts noch andere Probleme mit den Programmern. Die Programmer werden von Linux bestimmt erkannt (im Terminal mal lsusb eingeben), Problem ist aber, dass Bascom eigentlich einen COM erwartet, bzw einen virtual Com.
      Das ist etwas kompliziert.

      Deswegen auf einen Treiber wie AVR-Dude umsteigen oder wenn du noch Windows als 2. System nutzen willst, so wie ich das mache, dann kann man Windows als Gastsystem in der VirtualBox installieren. Dort Bascom Nutzen wie gewohnt.
    • Zorin ist auch ein Ubuntu-derivat.
      Mit der app hardinfo sehe ich jetzt, was am usb-port passiert. Sowohl ein Arduino wird als solcher erkannt, wie auch der AVR ISP MKII.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Such mal nach sudo, das am anfang von Befehlen lässt diesen als Admin laufen, der darf in der regel dann schreiben.
      Kannst dir auch einfach Arduino installieren, das kann doch auch Hex files schreiben, sollte unter Linux auch genauso funktionieren.
      Mein PC bekommt nächstes Jahr Linux, der ist trotz 14 Jahre noch mehr als gut genug. Und inzwischen gibts bis auf Bascom auch alles für linux, Thunderbird, Kicad, Freecad Libreoffice etc.
      Berufsbedingt hab ich eh noch nen Windoof Laptop, der bekommt dann halt das was der Pinguin irgendwie nicht kann. Vielleicht mach ich auch noch ne Virtuelle Maschine mit nem ollen windows auf den Pinguin, Bascom läuft auch ohne internet.
      Serielle ports sind in der regel im im Verzeichnis /dev/ zu finden fagen meist mit "ttyUSB" an. werden so auch angesprochen.

      Tobias
    • War jetzt eine schwere Geburt, aber ein erster Test mit dem AVRISPMKII, eingebunden nach der Anleitung von @six1 aus dem Lexikon, hat geklappt. Was auch klappt, ist unter der Arduino IDE auf einen Arduino zu schreiben. Was doof ist, die Arduino IDE öffnet keine .hex files. Ich kann also noch keine Programme von bascom auf einen Arduino laden. Wie bekomme ich das noch hin?
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Mitch64 wrote:

      Du kannst die Hex in Bascom laden und von dort mit dem Atmel AVRISP MKII flashen.
      Also über den Bootloader.
      Ich will die hex von Bascom über den bootloader vom Arduino laden.
      Also idealerweise so, wie es unter win geht, in bascom unter Programmierer Arduino auswählen, baud einstellen und flashen.

      Unter dmesg werden der AVRISPMKII bzw. der Arduino aufgeführt, oder halt unter der app Hardinfo
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch wrote:

      Ich will die hex von Bascom über den bootloader vom Arduino laden.
      Also idealerweise so, wie es unter win geht, in bascom unter Programmierer Arduino auswählen, baud einstellen und flashen.
      Ja genau!
      Bascom starten, Programmer auswählen für den Bootloader Support. Irgendwas mit Arduino.
      Dann manuell Proggen öffnen. Dort die Hex in den Buffer laden und Buffer auf Chip flashen.

      In windows musste dazu ein Dummy-Projekt mit dem Controller wie auf dem Arduino angelegt werden.
      Es reicht ein $Regfile ...
      und eine Do Loop.

      Ich nehme an, dass das auch in Linux erforderlich sein wird.
    • Ich komme von bascom aus nicht an den Arduino ran. Hat bislang zumindest nicht geklappt.
      Wenn ich den Arduino anschließe, dann erscheint das
      serial by id.jpgserial.jpg

      damit kann ich aber nix anfangen, was ich dann in den Programmer Optionen einstellen soll
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • So, weiter experimentiert,arg- und furchtlos, kann ja nix passieren.
      Bascom läuft, ist schon mal gut.
      Festgestellt, wenn man unter Linus die linuxversion der Arduino IDE öffnet, dann verbindet sich ein eingesteckter Arduino uno mit ttyACM0. Wenn ich lange genug versuche einen sketch zu übertragen, klappt das auch irgendwann. Warum es nicht sofort geht, keine Ahnung.
      Wenn ich jetzt im Verzeichnis /.wine/dosdevices die Verknüpfung com31 (als Beispiel, ich habs einfach mal mit der probiert) lösche, dann kann ich die im Terminal mit dem Befehl
      ln -s /dev/ttyACM0 ~/.wine/dosdevices/com31
      wieder erstellen.
      Jetzt kann ich in bascom den programmer auf Arduino stellen, com31 auswählen und baud auf 115200 stellen und schon bekomme ich eine Verbindung mit dem angestöpselten Arduino board und kann das dann über den bootloader flashen. Genau so, wie ich das will.
      Was mir aber aufgefallen ist, diese Verknüpfungen unter dosdevices sind irgendwie sehr 'zart'. Wenn man eine löscht, bisschen woanders rum klickt, zack ist die gelöschte wieder mit einer offensichtlichen Voreinstellung wieder da.
      Kenn sich da jemand aus, wie man das idiotensicher einrichten kann, dass ich mit bascom über den bootloader auf Arduinoboards flashen kann? Es scheint ja nicht ganz so kompliziert zu sein.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Dieser Wraper von six1 benutzt ja unter der Haube den avrdude - Treiber.
      Will man was flashen, muss das Ding wissen, wie die Daten zu Chip gelangen.

      Nutzt man den Programmer AvrISP MKII muss man das advrdude mit option -c avrispmk2 mitteilen.
      Wenn du über den Bootloader gehen willst, musst du natürlich den Port angeben.

      Bei Arduono wird wohl ein ttyACM.. angelegt. Diesen Namen musst du dann angeben.

      Wenn du mal avrdude -c xx aufrufst, werden alle unterstützten "Geräte" angezeigt. Wobei ein Gerät nicht zwingend ein Gerät im Sinne eines Programmierers sein muss.

      Ruf das mal auf, da gibt es auch eine Option 'arduino'.
      Vielleicht klappt es damit.

      Bevor du nun in Bascom experimentierst, kannst du das auch erst mal in der Konsole ausprobieren.
    • @Mitch64 hi, du scheinst ja fit in linux zu sein. Wenn ich was am Usb anstöpsle, wo kann ich ablesen, welchen port das Teil verwendet, also zB. ttyusb0, oder ttyacm0?

      Was mir bei meinen Versuchen noch aufgefallen ist, die Arduino Ide läuft in der linuxversion deutlich holpriger als unter win. Ich habe einen uno, der wird unter Linux nur sporadisch erkannt, unter win sofort.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Ich habe linux schon ein paar Jährchen. Aber die Jahrzehnte, die ich mit Windows verprasst habe, kann ich so schnell nicht aufholen.

      Also folgendes.
      Das Gerät sollte im Verzeichnis \dev\ angezeigt werden.
      Bei mir steht da das Gerät ttyACM0 (so wie es in der Arduino-IDE angezeigt wird).
      Das Gerät tauchte aber erst auf, nachdem ich die Arduino-IDE gestartet habe und die Portauswahl angeklickt habe. Da wurde der ttyACM0 angezeigt mit Pfad. Also konktret in der IDE: \dev\ttyACM0

      Bei deinem Linux könnte das auch anders heißen.

      Den Arduino-Uno konnte ich in der Console wie folgt über den Bootloader ansprechen:

      avrdude -c arduino -p m328p -P /dev/ttyACM0 -b 115200 -n

      damit erhielt ich folgende Rückmeldung:

      avrdude: AVR device initialized and ready to accept instructions
      Reading | ################################################## | 100% 0.00s
      avrdude: Device signature = 0x1e950f (probably m328p)
      avrdude: safemode: Fuses OK (E:00, H:00, L:00)
      avrdude done. Thank you.

      Nach klein '-c' muss 'arduino' stehen, das ist der Programmer.
      Nach klein '-p' muss der Controller angegeben werden.
      Nach groß '-P' muss nun der Port angegeben werden, also die Schnittstelle. Bei mir kann der Pfad auch entfallen. ttyACM0 reicht.
      Nach klein '-b' muss die Baudrate angegeben werden. Normal 115200 Baud, kann aber im Einzelfall auch mal anders sein.
      Das '-n' habe ich selber angehängt. Das bewirkt, dass nichts auf den Controller geschrieben werden soll. An der Stelle müsste man nun das File angeben mit einer Option.

      Aber probiere es erst mal so aus, ob es bis hier her klappt.
    • Wie hast du denn Arduino-IDE in Linux installiert?
      Ich hoffe doch nicht über Wine?

      Übrigens solltest du nur in Ausnahmen etwas vom Netz direkt installieren, und nur dann, wenn du bei der Quelle sicher bist, dass du dir nichts einfängst.

      Normalerweise findest du alles an Software direkt über die Reprosity, der Bestandteil von linux ist.
      Von dort kannst du recht gefahrlos alles installieren und auch wieder loswerden. Bei mir ist das die Anwendungsverwaltung.
    • Mitch64 wrote:

      Wie hast du denn Arduino-IDE in Linux installiert?
      Nein, über den 'software'-Koffer von Zorin, also Linux ubuntu
      'software'Koffer.jpg
      Raum für Notizen

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

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