Moin, Ist jemand von Euch dasselbe passiert, daß avrdude falsche Signature Bytes zurückbekommt? Ich kaufte mir vor einiger Zeit ein paar China 328PB Nanos von "Imported Electronics". https://www.importedelectronics.com/products/arduino-nano-v3-0-micro-usb-compatible-board-atmega328pb-terminal-adapter https://www.importedelectronics.com/collections/all/nano Beim Testen ergab sich, daß avrdude den Programmiervorgang mit der Begründung vorzeitig beendete, daß die "gelesenen" Signature Bytes mit 0x15950f falsch wären und daß eigentlich 0x159516 erwartet wären. Daraufhin prüfte ich die avrdude conf Datei und die Signature Bytes sind dort für den 328pb korrekt eingetragen. Abgesehen davon funktionierten ältere Watterott 328pb Pro-Minis immer einwandfrei mit derselben Installation. Dann schloss ich den AVR ISP mit AS7 an und der las die korrekten Signature Bytes mit 0x159516 aus. OK, das könnte dann höchstwahrscheinlich nur noch der China Bootloader selber sein. Ich flashte daraufhin den 328pb mit dem mitgelieferten Watterott optiboot 328pb bootloader. Daraufhin funktionierte der Nano wie er sollte. Ist es so, daß der Bootloader nicht die tatsächlichen Signature Bytes ausliest, sondern nur hard coded Bytes zurück gibt? Wer weiß da Näheres? Jedenfalls werde ich die alten BL alle austauschen. Auch weiß ich nicht ob der China Bootloader mit dem Watchdog Reset korrekt umgeht. Da hatte ich früher mit alten 328P Bootloadern auch meine Probleme. VG, Gerhard
:
Bearbeitet durch User
Hallo, ich weiß zwar aktuell nicht wie ein Bootloader Einfluss auf die Signatur hat, aber 0x1E950F ... ist der 328P 0x1E9516 ... ist der 328PB hast bestimmt nur einen Tippfehler. ;-) Hat der kleine Chinese bestimmt nur falsch geflasht. :-) Mal ein Gedankenspiel. Der PB ist ja zum P binär kompatibel. Wenn man so tut als wäre er ein P könnte das ggf. "in 99%" der Fälle funktionieren. Ich wüßte nur nicht wo der Sinn ist das als PB zu verkaufen um ihn als P zu verwenden. Weil man kauft ja einen PB und will ihn als PB behandeln. Zudem man als Käufer nicht weiß das er als P signiert wurde. Bleibt seltsam. Eine Frage in die Runde. Kann ein Bootloader wirklich eine andere Signatur vorgaukeln?
Der Bootloader tut für den PC so als sei er ein Programmiergerät. Dein echtes Programmiergerät bekommt den Befehl "gib mir mal die Signatur", liest die dann aus und liefert. Der Bootloader kann auf das Kommando natürlich einfach irgendwas abliefern, und vielleicht auch das echte, wenn er es denn lesen kann (ich weiß nicht ob der Programmcode die Sig lesen kann). Ist aufgrund der Programmgröße vielleicht aber auch einfach kleiner und schneller wenn er einfach das passende liefert, denn im Gegensatz zum Programmer ist der Chip für den Bootloader ja immer der selbe.
Hallo, Sorry wegen 0x15; ich schrieb das aus dem Gedächtnis. Nach dem Austausch zum Optiboot funktionierte alles Bestens. Mich verwunderte es nur, dass AS7 die Signature richtig ausgelesen hat, aber das Avrdude falsche Daten zurückbekommt. Ich vermute fast, daß die alten Bootloader die die China Leute verwenden, alt und ehemals nur für den 328p gestrickt worden sind. Jedenfalls funktionieren sie mit dem Watterott 328PB Optiboot einwandfrei. Ich habe einige der WR Bords und die machen auch keine Probleme. Grüsse, Gerhard
H. H. schrieb: > Jens M. schrieb: >> (ich weiß nicht ob der Programmcode die Sig lesen kann). > > Kann er. Danke, Hinz, Das werde ich mal aus ausprobieren.
...Mal ein Gedankenspiel. Der PB ist ja zum P binär kompatibel. Wenn man so tut als wäre er ein P könnte das ggf. "in 99%" der Fälle funktionieren... Das habe ich gemacht und funktioniert. Nur gefällt mir es nicht, austricksen zu müssen.
Veit D. schrieb: > Eine Frage in die Runde. Kann ein Bootloader wirklich eine andere > Signatur vorgaukeln? Ja! Wäre aber ein ganz schöner Schwachsinn, aus meiner Sicht.
Arduino F. schrieb: > Wäre aber ein ganz schöner Schwachsinn, aus meiner Sicht. Vielleicht auch einfach ein Zusaammenklopper dem es schegal ist was er da reinschreibt. Das Programm ist geklaut, das Layout ist geklaut, die Platinen macht derjenige der den kleinsten Preis knapp über "auch geklaut" hat, die Chips sind vielleicht auch geklaut, ausgelötet oder uralt/vom Broker/neu beschriftet. Die Langnasen kaufen es, also warum drauf achten das der Bootloader der für den PB ist?
Hallo, Danke für Bootloader Info. Stimmt, hätte auch gleich "in 100%" der Fälle schreiben können. Muss ja gehen sonst wäre er nicht binär kompatibel. ;-) Aber ich gebe dir recht, das macht keinen Sinn, dann wäre der Kauf extra des PB Typs sinnlos. Man will ja bewusst den PB und nicht nur den P. Davon abgesehen finde ich allein die Idee den PB binär kompatibel herzustellen schon irgendwie cool. Da hat jemand richtig mitgedacht. Ich schweife ab ...
Veit D. schrieb: > Eine Frage in die Runde. Kann ein Bootloader wirklich eine andere > Signatur vorgaukeln? Der Bootloader ist ein Programm, das lediglich an einer speziellen Stelle im Speicher steht. Was meinst du mit deiner Frage? Ein Programm kann irgendetwas ausgeben - kommt drauf an, was im Programmcode steht. Wenn das Programm nicht die aus den Signaturregister ausgelesenen Werte ausgibt, sondern irgendetwas anderes, tut es das halt. Warum soll es das nicht tun können?
Jens M. schrieb: > Arduino F. schrieb: >> Wäre aber ein ganz schöner Schwachsinn, aus meiner Sicht. > > Vielleicht auch einfach ein Zusaammenklopper dem es schegal ist was er > da reinschreibt. > Das Programm ist geklaut, das Layout ist geklaut, die Platinen macht > derjenige der den kleinsten Preis knapp über "auch geklaut" hat, die > Chips sind vielleicht auch geklaut, ausgelötet oder uralt/vom Broker/neu > beschriftet. Die Langnasen kaufen es, also warum drauf achten das der > Bootloader der für den PB ist? Moin, Jetzt muß ich vehement widersprechen, was Deine Kritik betrifft. Alle Arduino Designs sind Open Source und es ist legal sie kommerziell auf den Markt zu werfen. Was Programm IP betrifft, habe ich keine Ahnung unter welchem Lizenzmodell die Arduino Bootloader existieren noch interessiert es mich. Naja, und wenn der Preis stimmt und die Teile funktionieren, wäre mir ein ausgelöteter Original uC lieber als ein geklonter Neuer. Die Herstellungskosten sind halt in China billiger als irgendwo sonst und man ist mit weniger Gewinn zufrieden. Abgesehen davon finde ich die vernünftige Wiederverwendung von Elektronik Komponenten ohnehin nicht schlecht. Der einzige Punkt über den man wirklich streiten sollte/könnte, ob es ethisch vertretbar ist, die Preise der Original so aggressiv zu unterbieten. Ich weiß nicht, wie die Arduino Gruppe darüber denkt. Fair gegenüber Arduino ist es bestimmt nicht. Andrerseits darf ich zumindest keine Steine werfen, weil selber bis jetzt im Verhältnis nur wenige Originale gekauft habe. Andrerseits, ein Schüler, der nicht genug Geld für ein Original Arduino hat, denkt vielleicht darüber ganz anders. So gesehen, tut Arduino wahrscheinlich das einzig Richtige, indem sie neue Werte schaffen und die Original Uno, Nano Welt mehr oder weniger abgeschrieben haben und fähigere Zukunftsprodukte geschaffen haben, für die sich billige Chinaklonen nicht lohnen. Allerdings finde ich die Arduino Nano Preise im Verhältnis viel zu hoch, wenn man bedenkt wieviel weniger ein Nano Every kostet. Irgendwie ist der Preisunterschied nicht im Verhältnis. Jedenfalls will ich selber hier nicht den schuldfreien Apostel spielen - Guilty as Charged! VG, Gerhard
:
Bearbeitet durch User
Rainer W. schrieb: > Veit D. schrieb: >> Eine Frage in die Runde. Kann ein Bootloader wirklich eine andere >> Signatur vorgaukeln? > > Der Bootloader ist ein Programm, das lediglich an einer speziellen > Stelle im Speicher steht. > Was meinst du mit deiner Frage? > > Ein Programm kann irgendetwas ausgeben - kommt drauf an, was im > Programmcode steht. Wenn das Programm nicht die aus den Signaturregister > ausgelesenen Werte ausgibt, sondern irgendetwas anderes, tut es das > halt. > Warum soll es das nicht tun können? Vielleicht dachte man damals, dass es genügen würde, die Signature Bytes vorzuspiegeln. Vielleicht war es aus Gründen der Bootloadergröße wichtig nur unbedingt notwendige Funktionalität zu haben. Damals gab es ja nur den ersten 328P. Ich kann mir schon vorstellen, daß die Entwickler sich vielleicht gedacht haben, diese Vereinfachung wäre vertretbar. Das Problem wurde erst dann akut als der 328pb seinen Kopf in die Welt streckte und man in China nicht aufpasste und sich nicht unbedingt der Wichtigkeit bewußt war. Oder man dachte, die Kunden sollten mit dem Problem fertig werden. Es ist schon etwas überraschend, daß die Bords erst einen FW Upgrade brauchen um mit dem Arduino IDE verwendbar zu sein. Leute die die Bords mit dem ISP Flashen, würden diesem Problem gar nicht begegnen. Ist ja nur der "böse" avrdude, der dem Bootloader auf die Finger schaut.
Gerhard O. schrieb: > Vielleicht dachte man damals, dass es genügen würde, die Signature Bytes > vorzuspiegeln Ist völlig normal, dass man das tut. Auslesen der richtigen Signatur ist doch viel aufwändiger (und damit platzraubender), als einfach die gewünschten Bytes zurück zu liefern. Bei ganz frühen AVRs konnte man die Signatur gar nicht per Software auslesen – Bootloader gab es auch damals aber schon. Ein Bootloader sollte ja normalerweise auch wissen, auf welchem Chip er sitzt. ;-)
Jörg W. schrieb: > Gerhard O. schrieb: >> Vielleicht dachte man damals, dass es genügen würde, die Signature Bytes >> vorzuspiegeln > > Ist völlig normal, dass man das tut. Auslesen der richtigen Signatur ist > doch viel aufwändiger (und damit platzraubender), als einfach die > gewünschten Bytes zurück zu liefern. Bei ganz frühen AVRs konnte man die > Signatur gar nicht per Software auslesen – Bootloader gab es auch damals > aber schon. > > Ein Bootloader sollte ja normalerweise auch wissen, auf welchem Chip er > sitzt. ;-) Ja. Ich sehe es genauso. Ist halt nur blöd, daß der Hersteller nicht aufpasst. Ich konnte mir zwar helfen; Ich könnte mir aber auch vorstellen wie es einen Anfänger nerven und herausfordern könnte damit klarzukommen. Ohne ISP Zugang hätte ich es nicht eindeutig nachprüfen können. Nicht jeder Anfänger/Schüler hat schon einen ISP wenn er nicht gerade einen zweiten Arduino hat, der das übernehmen könnte. Ich denke, die Moral von der Geschicht', ist, daß es am Besten ist, bei Import Modulen, schon von Anfang an, einen bewährten B.L. wie Optiboot draufzuspielen, weil man ja keine Ahnung hat, welcher da drauf ist. Das ist auch aus einem weiteren Grund zweckmässig um sicher sein zu können, daß der Watchdog Reset vom B.L. korrekt behandelt wird.
Gerhard O. schrieb: > Ich denke, die Moral von der Geschicht', ist, daß es am Besten ist, bei > Import Modulen, schon von Anfang an, einen bewährten B.L. wie Optiboot > draufzuspielen, weil man ja keine Ahnung hat, welcher da drauf ist. Das > ist auch aus einem weiteren Grund zweckmässig um sicher sein zu können, > daß der Watchdog Reset vom B.L. korrekt behandelt wird. Um einen anderen Bootloader aufzuspielen, braucht man ja einen ISP-Programmer. Dann kann man auch gleich auf den Bootloader verzichten und über ISP programmieren.
Jobst Q. schrieb: > Um einen anderen Bootloader aufzuspielen, braucht man ja einen > ISP-Programmer. Dann kann man auch gleich auf den Bootloader verzichten > und über ISP programmieren. Naja, aber mit dem BL. ist es etwas bequemer. Ich bin ganz froh, dass es ihn gibt.
Gerhard O. schrieb: > Der einzige Punkt über den man wirklich streiten sollte/könnte, ob es > ethisch vertretbar ist, die Preise der Original so aggressiv zu > unterbieten. Der Nano war mit rund 35 €uro dermaßen überteuert, dass sie ihn scheinbar garnicht verkaufen wollten. Ganz sicher war es ein Fehler, für USB FTDI zu verwenden, deren Preise ich generell unverschämt finde. Inzwischen ist der echte Nano günstiger geworden, aber die Diskrepanz zu China ist noch immer deutlich. > Ich weiß nicht, wie die Arduino Gruppe darüber denkt. Fair > gegenüber Arduino ist es bestimmt nicht. Es wird ihnen nicht gefallen, aber mit OpenSource ist das eben so. > Andrerseits darf ich zumindest > keine Steine werfen, weil selber bis jetzt im Verhältnis nur wenige > Originale gekauft habe. Ich habe kein einziges Original gekauft. Gerhard O. schrieb: >> Ein Bootloader sollte ja normalerweise auch wissen, auf welchem Chip er >> sitzt. ;-) > > Ja. Ich sehe es genauso. Ist halt nur blöd, daß der Hersteller nicht > aufpasst. Ich konnte mir zwar helfen; Ich könnte mir aber auch > vorstellen wie es einen Anfänger nerven und herausfordern könnte damit > klarzukommen. Wirklich? Ich benutze die Arduino-IDE, der Bootloader meldet sich und der Programmupload startet. Da die Softwarekompatibilität gegeben ist, muß die Arduino-IDE den tatsächlichen Typ PB nicht wissen. > Ohne ISP Zugang hätte ich es nicht eindeutig nachprüfen > können. Nicht jeder Anfänger/Schüler hat schon einen ISP wenn er nicht > gerade einen zweiten Arduino hat, der das übernehmen könnte. Hatte ich zu Beginn auch nicht, bis es dann mal ein Problem gab. Ich habe mir dann ein Programmierboard vom Chinesen gekauft, war um 4,50 USD schon die Luxusvariante.
Manfred P. schrieb: > Wirklich? Ich benutze die Arduino-IDE, der Bootloader meldet sich und > der Programmupload startet. Da die Softwarekompatibilität gegeben ist, > muß die Arduino-IDE den tatsächlichen Typ PB nicht wissen. Hallo Manfred, nein, das stimmt nicht. Es war avrdude, das sich über den Nano genervt hatte. Guck mal auf die screen captures. Das dritte Bild zeigt dieselbe Bord mit Optiboot_328pb wo es funktioniert. Sonst keine Änderungen. Gerhard
Manfred P. schrieb: > Gerhard O. schrieb: >> Der einzige Punkt über den man wirklich streiten sollte/könnte, ob es >> ethisch vertretbar ist, die Preise der Original so aggressiv zu >> unterbieten. > > Der Nano war mit rund 35 €uro dermaßen überteuert, dass sie ihn > scheinbar garnicht verkaufen wollten. Ganz sicher war es ein Fehler, für > USB FTDI zu verwenden, deren Preise ich generell unverschämt finde. Ja. Überteuert ist er auf alle Fälle dort. > > Inzwischen ist der echte Nano günstiger geworden, aber die Diskrepanz zu > China ist noch immer deutlich. Am Nano Every is zum Gegensatz nichts auszusetzen, was Preis betrifft. > >> Ich weiß nicht, wie die Arduino Gruppe darüber denkt. Fair >> gegenüber Arduino ist es bestimmt nicht. > > Es wird ihnen nicht gefallen, aber mit OpenSource ist das eben so. Das war auch so beabsichtigt. > >> Andrerseits darf ich zumindest >> keine Steine werfen, weil selber bis jetzt im Verhältnis nur wenige >> Originale gekauft habe. > > Ich habe kein einziges Original gekauft. Hmmm. OK:-) > > Gerhard O. schrieb: >>> Ein Bootloader sollte ja normalerweise auch wissen, auf welchem Chip er >>> sitzt. ;-) >> >> Ja. Ich sehe es genauso. Ist halt nur blöd, daß der Hersteller nicht >> aufpasst. Ich konnte mir zwar helfen; Ich könnte mir aber auch >> vorstellen wie es einen Anfänger nerven und herausfordern könnte damit >> klarzukommen. > > Wirklich? Ich benutze die Arduino-IDE, der Bootloader meldet sich und > der Programmupload startet. Da die Softwarekompatibilität gegeben ist, > muß die Arduino-IDE den tatsächlichen Typ PB nicht wissen. Das stimmt nur zum Teil. Dem IDE ist es zwar gleich, aber avrdude führt ein strenges Regiment und lässt solche Schlampigkeiten nicht ohne -F Anweisung durchgehen:-) > >> Ohne ISP Zugang hätte ich es nicht eindeutig nachprüfen >> können. Nicht jeder Anfänger/Schüler hat schon einen ISP wenn er nicht >> gerade einen zweiten Arduino hat, der das übernehmen könnte. > > Hatte ich zu Beginn auch nicht, bis es dann mal ein Problem gab. Ich > habe mir dann ein Programmierboard vom Chinesen gekauft, war um 4,50 USD > schon die Luxusvariante. Ja. Das stimmt. ...
:
Bearbeitet durch User
Gerhard O. schrieb: > nein, das stimmt nicht. Es war avrdude, das sich über den Nano genervt > hatte. Guck mal auf die screen captures. Dann steht wahrscheinlich in deiner Boarddatei nicht die zu dem Board/Bootloader passende Signatur. Statt den Bootloader zu ändern, könntest du auch die Erwartungshaltung von AVRdude anpassen ;-)
Rainer W. schrieb: > Statt den Bootloader zu ändern, könntest du auch die Erwartungshaltung > von AVRdude anpassen ;-) Das ist der richtige Umgang mit solch einer Lüge?
Arduino F. schrieb: > Rainer W. schrieb: >> Statt den Bootloader zu ändern, könntest du auch die Erwartungshaltung >> von AVRdude anpassen ;-) > > Das ist der richtige Umgang mit solch einer Lüge? Im Zeitalter alternativer Fakten...
Beim Händler geht in den Beschreibungen ja auch 328P und 328PB munter durcheinander. Ich kann nachvollziehen, dass der Hersteller das Board darum mit einem Bootloader ausliefert, der einen 328P meldet. Dann muss der Anwender nicht mühsam eine 328PB-Umgebung aufsetzen, sondern kann das Board wie einen üblichen Nano bespielen. Sind die zusätzlichen Ports überhaupt hinausgeführt? LG, Sebastian
Sebastian W. schrieb: > Sind die zusätzlichen Ports überhaupt hinausgeführt? Maximal fehlen PE0 und PE1, dafür müßte das Board 2 Pins mehr haben. Weil das auf dem 'P' VCC und GND ist. Damit fehlt nur die zweite I2C, welche man am Ehesten verschmerzen kann. Alles andere sind übliche Mehrfachbelegungen der Pin Funktionalität.
Jobst Q. schrieb: > Um einen anderen Bootloader aufzuspielen, braucht man ja einen > ISP-Programmer. Dann kann man auch gleich auf den Bootloader verzichten > und über ISP programmieren Ganz so einfach ist das nicht. Der ISP nutzt Pins der SPI-Schnittstelle. Wenn man da ein Device fest angelötet oder mit einem ohne Demontage des Geräts nicht zugänglichen Steckverbinder angeschlossen hat ... Arbeitet ja nicht jeder mit Steckbrett. ;-)
Sebastian W. schrieb: > mühsam Welches "mühsam" magst du da wohl meinen? Mit der Arduino IDE beschränkt sich das "mühsam" bei fremd Boards meist auf das kopieren einer Zeile und ca 5 Mausklicks. Wer das nicht hinbekommt hat sicherlich noch mehr/andere Probleme. Das ist hier (PB) nicht anders.
Rolf schrieb: > Wenn man da ein Device fest angelötet oder mit einem ohne Demontage des > Geräts nicht zugänglichen Steckverbinder angeschlossen hat ... Dann braucht /CS ein Pullup, damit das Device nicht dazwischen quatscht. Das ist immer so, hat mit dem konkreten Board nix zu tun.
Arduino F. schrieb: > Mit der Arduino IDE beschränkt sich das "mühsam" bei fremd Boards meist > auf das kopieren einer Zeile und ca 5 Mausklicks. https://github.com/watterott/ATmega328PB-Testing/issues/52 LG, Sebastian
Rolf schrieb: > Jobst Q. schrieb: >> Um einen anderen Bootloader aufzuspielen, braucht man ja einen >> ISP-Programmer. Dann kann man auch gleich auf den Bootloader verzichten >> und über ISP programmieren > > Ganz so einfach ist das nicht. Der ISP nutzt Pins der SPI-Schnittstelle. > Wenn man da ein Device fest angelötet oder mit einem ohne Demontage des > Geräts nicht zugänglichen Steckverbinder angeschlossen hat ... > > Arbeitet ja nicht jeder mit Steckbrett. ;-) Ich mache es gerade über ISP, weil ich das fertige Gerät nicht immer aufschrauben will, wenn ich an der Software etwas ändern will. Ich nutze vorwiegend Pro Minis, um dezentral Daten zu sammeln, die dann per RS485 von einem Raspi angefordert werden. Mit Bootloader brauche ich noch einen USB-UART-Adapter, der mit dem RS485-Modul konkurriert. Für ISP habe ich einen Pro Micro als Programmer mit einem RJ-12 (6P6C) Stecker und jedes Pro Mini Gerät bekommt eine RJ-12 Buchse. Kann man auch als SPI-Interface nutzen, es braucht dann nur noch einen Umschalter zwischen /Reset und /CS Pin. Und zum Hochladen einmal Strg-U zu drücken ist auch nicht viel unbequemer als das Klicken auf den Button. Beim Pro Mikro mit USB-Schnittstelle schätze ich den Bootloader durchaus.
Gerhard O. schrieb: >> Wirklich? Ich benutze die Arduino-IDE, der Bootloader meldet sich und >> der Programmupload startet. Da die Softwarekompatibilität gegeben ist, >> muß die Arduino-IDE den tatsächlichen Typ PB nicht wissen. > Das stimmt nur zum Teil. Dem IDE ist es zwar gleich, aber avrdude führt > ein strenges Regiment und lässt solche Schlampigkeiten nicht ohne -F > Anweisung durchgehen:-) Beachte bitte, in welchem Zusammenhang ich das geschrieben habe, Anfänger war das Zauberwort. Manfred P. schrieb: >> Ich könnte mir aber auch >> vorstellen wie es einen Anfänger nerven und herausfordern könnte damit >> klarzukommen. > Wirklich? Ich benutze die Arduino-IDE, der Bootloader meldet sich und > der Programmupload startet. Da die Softwarekompatibilität gegeben ist, > muß die Arduino-IDE den tatsächlichen Typ PB nicht wissen. Gerhard O. schrieb: > aber avrdude führt > ein strenges Regiment und lässt solche Schlampigkeiten nicht ohne -F > Anweisung durchgehen:-) Mit avrdude gehörst Du nicht zur typischen Zielgruppe der Arduinos und bist auch kein Anfänger. Im Gegenteil, Du benutzt sie als günstige µC-Baugruppe außerhalb der vorgesehenen Umgebung.
Jobst Q. schrieb: > Ich mache es gerade über ISP, weil ich das fertige Gerät nicht immer > aufschrauben will, wenn ich an der Software etwas ändern will. Irgendwie muß man ja dran, also kein Argument für ISP. Die aufwendige Lösung "Rueckwand.jpg", mit einem Adapterkabel den USB von A*Nano in die Rückwand gebraucht. Oder auch nicht, Du musst Deine RJ-Buchse ja auch irgendwie befestigen und verbinden. Oder "USB_Kappe.jpg", da sitzt der Nano so, dass man seinen Mini-USB direkt erreichen kann. ProMini mit Akkubetrieb "Gehaeuse_Rueck.jpg", da sitzt er auch so, dass ich den 6pol-Pfostenstecker direkt greifen kann, später ein Klebeschild drüber. Um mir da keine Pegelprobleme zu fangen, Programmierzugang per ADUM1201 getrennt "Gehaeuse_Rueck.jpg".
Moin, Ich verwende manchmal solche USB Frontplatten montierbare Kabel um mit der Bord zu verbinden: https://www.datapro.net/products/usb-panel-mount-b-to-socket.html https://www.datapro.net/catalog/usb-panel-mount-cables.html Die gibt’s auch billiger in der Bucht. Finde ich recht praktisch. Gerhard
:
Bearbeitet durch User
Gerhard O. schrieb: > Ich verwende manchmal solche USB Frontplatten montierbare Kabel um mit > der Bord zu verbinden: > https://www.datapro.net/catalog/usb-panel-mount-cables.html Sowas habe ich in "Rueckwand.jpg" verbaut, Mini-USB-Stecker auf USB-B-Buchse. > Die gibt’s auch billiger in der Bucht. Ich kaufe nichts über ebay, meine kamen über Aliexpress und liegen preislich deutlich unter datapro. > Finde ich recht praktisch. Mir macht es keinen Spaß, das Loch für die Buchse zu feilen. Aber musste sein, weil nach Inbetriebnahme noch Optimierungen der Software notwendig waren.
Manfred P. schrieb: > Gerhard O. schrieb: >> Ich verwende manchmal solche USB Frontplatten montierbare Kabel um mit >> der Bord zu verbinden: >> https://www.datapro.net/catalog/usb-panel-mount-cables.html > > Sowas habe ich in "Rueckwand.jpg" verbaut, Mini-USB-Stecker auf > USB-B-Buchse. > >> Die gibt’s auch billiger in der Bucht. > > Ich kaufe nichts über ebay, meine kamen über Aliexpress und liegen > preislich deutlich unter datapro. Die Bucht ist für uns hier weniger ein Problem. Ich habe bis jetzt immer gute Erfahrungen mit ALIExpress gemacht. > >> Finde ich recht praktisch. > > Mir macht es keinen Spaß, das Loch für die Buchse zu feilen. Aber musste > sein, weil nach Inbetriebnahme noch Optimierungen der Software notwendig > waren. In Plastik kann man runde Löcher eigentlich recht einfach mit einer nicht zu feinen quadratischen Feile auf Maß bringen. Ich mußte das vor ein paar Wochen an meinen UV Belichter machen. Ich habe Feilen die das sehr leicht machen. Wenn vorhanden ist auch eine vertikale Tischfräse recht nützlich. Mit einem 6mm viernutigen Flach-Fräser kann man viele Aufgaben bequem erledigen (DB9...) Was ich nicht ganz verstehe ist, warum der Adapterkabelhersteller um die USB-B Buchse herum kein rundes Führungsloch vorgesehen hat. Dann bräuchte man nur drei runde Löcher bohren und es sieht gleich gut ohne große Anstrengungen aus und man erspart sich das Feilen. Beim Wasserhöhenmesser baute ich eine abnehmbare 12.7mm Schraubkappe ein um Zugang zur Nano USB Buchse zu haben. Der Kabelstecker hat dann noch genug Spiel. Es ist definitiv gut, Zugang zum Nano UDB Port im eingebauten Zustand zu haben.
:
Bearbeitet durch User
Gerhard O. schrieb: > Beim Wasserhöhenmesser baute ich eine abnehmbare 12.7mm Schraubkappe ein > um Zugang zur Nano USB Buchse zu haben. Der Kabelstecker hat dann noch > genug Spiel. https://www.mikrocontroller.net/attachment/604477/USB_Kappe.jpg
Jörg W. schrieb: > Ist völlig normal, dass man das tut. Auslesen der richtigen Signatur ist > doch viel aufwändiger (und damit platzraubender), als einfach die > gewünschten Bytes zurück zu liefern. Aha, sicher. Routine zum Flash auslesen und schreiben muss sowieso vorhanden sein. Signature Bytes auslesen benötigt nur 3 zusätzliche Instruktionen. Alles andere ist dasselbe wie beim Fusebits auslesen.
Marc V. schrieb: > Signature Bytes auslesen benötigt nur 3 zusätzliche Instruktionen. Ja, und? Zurückgeben einer Konstante ist trotzdem weniger Aufwand. Sowas hat man schon vor Urzeiten gemacht, siehe AVR109:
1 | $ fgrep SIGNATURE_ * |
2 | defines.h:#define SIGNATURE_BYTE_1 0x1E |
3 | defines.h:#define SIGNATURE_BYTE_2 0x93 |
4 | defines.h:#define SIGNATURE_BYTE_3 0x07 |
5 | main.c: sendchar( SIGNATURE_BYTE_3 ); |
6 | main.c: sendchar( SIGNATURE_BYTE_2 ); |
7 | main.c: sendchar( SIGNATURE_BYTE_1 ); |
8 | preprocessor.sh:#define SIGNATURE_BYTE_1 ${sig1} |
9 | preprocessor.sh:#define SIGNATURE_BYTE_2 ${sig2} |
10 | preprocessor.sh:#define SIGNATURE_BYTE_3 ${sig3} |
Ja, natürlich kann man das auch anders machen, wenn man möchte (und einen hinreichend neuen AVR hat – zu Zeiten von AVR109 ließ sich sowas gar nicht im Programm auslesen), aber man muss es eben auch nicht, wenn man einen Bootloader hat, der eh nur auf genau einem vorher bekannten Controller läuft. > Alles andere ist dasselbe wie beim Fusebits auslesen. Viele Bootloader implementieren das gleich gar nicht erst, weil es ziemlich sinnlos ist: die lassen sich da eh nicht ändern.
Jörg W. schrieb: > weil es ziemlich sinnlos ist Alles klar, lieber Mist zurückgeben, lügen, als auslesen. Jörg W. schrieb: > Ja, natürlich kann man das auch anders machen, Ja das kann man! Jörg W. schrieb: > zu Zeiten von AVR109 ließ sich sowas > gar nicht im Programm auslesen) Das ist natürlich ein schlagkräftiges Argument: Weil es früher nicht ging, machen wir es heute auch nicht. Früher war eben alles besser, sogar die Zukunft.
:
Bearbeitet durch User
Manfred P. schrieb: > Gerhard O. schrieb: >> aber avrdude führt >> ein strenges Regiment und lässt solche Schlampigkeiten nicht ohne -F >> Anweisung durchgehen:-) > > Mit avrdude gehörst Du nicht zur typischen Zielgruppe der Arduinos und > bist auch kein Anfänger. Im Gegenteil, Du benutzt sie als günstige > µC-Baugruppe außerhalb der vorgesehenen Umgebung. Hallo, kennst du die Arduino IDE? Denn du verwechselt da was. Auch die Arduino IDE benötigt avrdude zum flashen mittels Bootloader. Weil das beim Gerhard nicht funktionierte, hat er danach!, seinen ISP Programmer angeschlossen und den BL ausgewechselt.
Arduino F. schrieb: > lieber Mist zurückgeben, lügen Wie kommst du auf den schmalen Pfad? Ich sehe immer noch nicht das Problem: wenn ich einen Bootloader auf einen ATmega328P flashe, dann weiß ich doch, dass es ein ATmega328P ist, dann kann ich dem Bootloader sagen, dass er genau das als Signatur zurückgeben soll. Flashe ich ihn auf einen ATmega328PB, dann weiß ich das auch vor dem Flashen schon, und kann ihn so konfigurieren. Warum sollte da jemand "lügen"? Verpfuschen kann man natürlich immer alles. "Lügen" muss ein Bootloader übrigens sowieso immer: wenn ihm gesagt wird, er solle ein "chip erase" machen, dann hat er dafür erstens schlicht gar nicht die Möglichkeit, das zu tun (was beispielsweise impliziert, dass er die lock bits nicht löschen kann), außerdem wird sich jeder sinnvoll gebaute Bootloader wohl schwerlich hüten, sich selbst zu entfernen. Dort "lügt" er also am Ende tatsächlich …
Jörg W. schrieb: > Ich sehe immer noch nicht das Problem: wenn ich einen Bootloader auf > einen ATmega328P flashe, dann weiß ich doch, dass es ein ATmega328P ist, > dann kann ich dem Bootloader sagen, dass er genau das als Signatur > zurückgeben soll. Flashe ich ihn auf einen ATmega328PB, dann weiß ich > das auch vor dem Flashen schon, und kann ihn so konfigurieren. Offensichtlich hast du das Eingangsposting nicht gelesen. Dort ist ihm die Lüge auf die Füße gefallen. Jörg W. schrieb: > wenn ihm gesagt > wird, er solle ein "chip erase" machen, dann hat er dafür erstens > schlicht gar nicht die Möglichkeit, Ein Strohmann Argument, welches nichts mit dem Eingangsposting zu tun hat. Und keinesfalls die völlig unnötige Signaturlüge rechtfertigt. Bemerke: Der Bootloader hätte sicherlich einwandfrei funktioniert wenn er nicht gelogen hätte. Selber die Signatur gelesen.
:
Bearbeitet durch User
Arduino F. schrieb: > Offensichtlich hast du das Eingangsposting nicht gelesen. Habe ich. Ich halte das aber nicht für eine "Lüge" (die einen Vorsatz unterstellt, jemandem etwas falsches absichtlich zu erzählen), sondern schlicht für Schlampigkeit beim Erstellen der Teile. > Ein Strohmann Argument Es ist ein Hinweis darauf, dass sich ein Bootloader sowieso niemals 100 % wie ein externer Programmer benehmen kann, egal, wie du das nun drehst und wendest.
Moin, An sich ist das jetzt kein wirkliches Problem mehr. Die Moral von der Geschicht' ist, beim Kauf von den Chinabords immer selber den richtigen Optiboot via ISP draufspielen. Abgesehen davon, habe ich die Erfahrung gemacht, daß die China Klonen immer alte Bootloader drauf haben die mit dem Watchdog Reset nicht zurecht kommen. Wenn es eben so ist, dass die Signature Bytes nicht aktuell vom BL gelesen werden, dann muß man eben selber aufpassen, daß der korrekte Optiboot draufgespielt wird. In meinen Fall bin ich davon ausgegangen, daß der Hersteller den korrekten Bootloader installiert hat und die sich vielleicht gedacht haben, daß es keine Rolle spielt. Wer weiß... Die haben nur nicht bedacht, daß avrdude dem Bootloader wegen der Signature Bytes auf die Finger schaut und so eine Schummelei nicht übersieht und durchgehen lässt:-) Jedenfalls, alleine wegen der Watchdog Funktion hat es Sinn, einen moderneren Bootloader wie Optiboot drauf zu haben. VG, Gerhard
Gerhard O. schrieb: > Abgesehen davon, habe ich die Erfahrung gemacht, daß die China Klonen > immer alte Bootloader drauf haben die mit dem Watchdog Reset nicht > zurecht kommen. Das ist natürlich eh Mist. > In meinen Fall bin ich davon ausgegangen, > daß der Hersteller den korrekten Bootloader installiert hat Davon würde ich natürlich auch ausgehen. Dann kann er die Teile auch gleich ohne Bootloader ausliefern, wenn die so mies sind und $KUNDE ohnehin noch mit ISP anfassen muss (egal, ob nun wegen der Signatur, dem Watchdog oder was anderem). Andererseits, you get what you pay for. Solange sie da was verkaufen können, werden sie sicher an ihrer Strategie nichts ändern.
Jörg W. schrieb: > Gerhard O. schrieb: >> Abgesehen davon, habe ich die Erfahrung gemacht, daß die China Klonen >> immer alte Bootloader drauf haben die mit dem Watchdog Reset nicht >> zurecht kommen. > > Das ist natürlich eh Mist. Ja. Deswegen bin schon seit vielen Jahren auf Optiboot umgestiegen. > >> In meinen Fall bin ich davon ausgegangen, >> daß der Hersteller den korrekten Bootloader installiert hat > > Davon würde ich natürlich auch ausgehen. Dann kann er die Teile auch > gleich ohne Bootloader ausliefern, wenn die so mies sind und $KUNDE > ohnehin noch mit ISP anfassen muss (egal, ob nun wegen der Signatur, dem > Watchdog oder was anderem). > > Andererseits, you get what you pay for. Solange sie da was verkaufen > können, werden sie sicher an ihrer Strategie nichts ändern. Ist nicht schlimm, solange man sich helfen kann. Mir würde nur ein unerfahrener Schüler oder User leid tun, der erst darauf kommen muß und möglicherweise keinen zweiten Arduino zum ISP Flashen hat oder ein anderes ISP Programmiergerät. An der Bord HW Qualität gibt es nichts wirklich auszusetzen. Die besagten Bords sind sauber gelötet und vom Flußmittel befreit. Kann mich eigentlich nicht beklagen. Für USD5.64 das Stück, nehme ich das BL Problem ohnehin ohne Murren in Kauf.
:
Bearbeitet durch User
Gerhard O. schrieb: > Mir würde nur ein unerfahrener Schüler oder User leid tun, der erst > darauf kommen muß und möglicherweise keinen zweiten Arduino zum ISP > Flashen hat oder ein anderes ISP Programmiergerät. Der muss dann halt, wie oben beschrieben, den MCU-Typ auf der Seite der Arduino-IDE anpassen auf das, was der Bootloader behauptet.
Jörg W. schrieb: > Gerhard O. schrieb: >> Mir würde nur ein unerfahrener Schüler oder User leid tun, der erst >> darauf kommen muß und möglicherweise keinen zweiten Arduino zum ISP >> Flashen hat oder ein anderes ISP Programmiergerät. > > Der muss dann halt, wie oben beschrieben, den MCU-Typ auf der Seite der > Arduino-IDE anpassen auf das, was der Bootloader behauptet. Daran dachte ich einen Moment auch. Nur steht im Header der config.conf Datei, daß man diese Datei nicht verändern sollte, weil jene bei jedem IDE Upgrade erneuert wird. Da müsste man also aufpassen, daß man das dann nicht übersieht.
Gerhard O. schrieb: > Daran dachte ich einen Moment auch. Nur steht im Header der config.conf > Datei, daß man diese Datei nicht verändern sollte, weil jene bei jedem > IDE Upgrade erneuert wird. Da müsste man also aufpassen, daß man das > dann nicht übersieht. Versteh ich nicht. Der gemeine User kauft solch einen Nano, stellt einen Nano in der Arduino IDE ein, und legt los. Dass er eigentlich einen 328PB und nicht einen 328P hat kümmert ihn dabei nicht. Oder? LG, Sebastian
Sebastian W. schrieb: > Gerhard O. schrieb: >> Daran dachte ich einen Moment auch. Nur steht im Header der config.conf >> Datei, daß man diese Datei nicht verändern sollte, weil jene bei jedem >> IDE Upgrade erneuert wird. Da müsste man also aufpassen, daß man das >> dann nicht übersieht. > > Versteh ich nicht. Der gemeine User kauft solch einen Nano, stellt einen > Nano in der Arduino IDE ein, und legt los. Dass er eigentlich einen > 328PB und nicht einen 328P hat kümmert ihn dabei nicht. Oder? > > LG, Sebastian Es ist nur avrdude, der die falschen Signature Bytes beanstandet und den Programmier Zyklus abbricht. Schau Dir meine Screenshot Bilder höher im Thread an. Alles andere mit dem IDE ist in Ordnung. Es ist der falsche Bootloader der hier Zicken macht, weil er falsche Information liefert und avrdude dann abbricht. Die Lösung ist halt, den offiziell richtigen Bootloader draufzuspielen. Optiboot gibt es für die verschiedensten uC. Man kann Optiboot selber konfigurieren und bauen, weil das komplette Source Code Projekt frei erhältlich ist. (habe ich gemacht um z.B. einen 4MHz Pro-Mini zu haben) Oder man geht zur Github Seite von Watterott und ladet sich dort die korrekte 328pb Optiboot herunter. Ich habe ein paar der Watterott Bords. Oder man kopiert einen funktionierenden BL für den gewünschten uC.
:
Bearbeitet durch User
Gerhard O. schrieb: > Es ist nur avrdude, der die falschen Signature Bytes beanstandet und den > Programmier Zyklus abbricht. Ja, aber doch nur, weil in der IDE nicht Arduino Nano, sondern Atmega328PB konfiguriert ist! Oder was verstehe ich hier falsch? LG, Sebastian
Sebastian W. schrieb: > Gerhard O. schrieb: >> Es ist nur avrdude, der die falschen Signature Bytes beanstandet und den >> Programmier Zyklus abbricht. > > Ja, aber doch nur, weil in der IDE nicht Arduino Nano, sondern > Atmega328PB konfiguriert ist! Oder was verstehe ich hier falsch? > > LG, Sebastian Das stimmt. Deswegen erwartet avrdude beim Bootloader, dass er die korrekte 0x1E9516 zurück gibt. Aber der China Nano gibt 1e950F aus und dann bricht avrdude ab. Ich verwende das Watterott Paket (da ich auch mit deren Pro-Mini mit dem 328PB arbeite) und stelle natürlich den 328PB ein. Bei den Watterott Bords funktioniert ja alles auch einwandfrei. Es ist der "böse" China Nano der mit einem alten 328P BL geliefert wird. Der Fehler ist alleine auf den Fakt zurückzuführen, dass der China Hersteller irgendeinen alten 328P BL drauf spielte. Das ist auch kein Malheur wenn man das mal weiss, aber dem "unsuspecting" User wird vielleicht uebel mitgespielt. Die Bottom Line ist, dass IDE Einstellung und Bootloader zueinander passen müssen, was avrdude betrifft und ein passender BL in der HW installiert sein soll. Das ist alles im Grunde genommen. Das Problem liegt ganz auf der Seite des Herstellers. Alles andere im Arduino Bereich ist in Ordnung.
Hallo, Sebastian, verstehst du das Problem wirklich nicht? Kann doch nicht sein. Wenn jemand der Lesen kann und bewusst den 'PB' bestellt und seine IDE demzufolge für 'PB' konfiguriert, der steht vor dem besagten Problem was Gerhard erfahren hat. Wenn natürlich ein Brain irgendeinen Nano bestellt und keine Ahnung von der Bedeutung der Bezeichnungen hat, der hat Glück. Nur von solchen Brains sollte man nicht pauschal ausgehen.
Du verwendest 6.3. Schon mal in den release notes zu avrdude nachgeschaut in Bezug zu 328PB? 6.4: * New devices supported: - ATmega328PB .... 7. - ATmega328P reported as lgt8fx328p #812 Fix avrdude.conf timings for ATmega328PB and other parts #1001 https://github.com/avrdudes/avrdude/blob/main/NEWS
Chris K. schrieb: > Schon mal in den release notes zu avrdude nachgeschaut in Bezug zu > 328PB? Was hat das damit zu tun? Natürlich sind beide unterstützt (genau genommen alle drei, der ursprüngliche ATmega328 mit 0x1e 0x95 0x14, der ATmega328P mit 0x1e 0x95 0x0f und der ATmega328PB mit 0x1e 0x95 0x16).
Veit D. schrieb: > Nur von solchen Brains sollte man nicht pauschal ausgehen. Wie gesagt, ich denke dass der Hersteller genau von solchen Brains ausgegangen ist, die bei Konfiguration "Arduino Nano" ob der Fehlermeldung bei Rückgabe der 328PB-Signatur verzweifelt das Produkt als defekt retournieren würden. Der umgekehrte Fall, dass ein User extra eine sonderliche Erweiterung "328PB" in die Arduino-IDE installiert, um auch ja alle tollen Features des 328PB nutzen zu können, der also zeigt dass es weiß was er tut, und dann an der Fehlermeldung durch die gefakte 328P-Signatur scheitert und dadurch das Produkt retourniert, ist für den Hersteller halt relativ unwahrscheinlicher. LG, Sebastian
Veit D. schrieb: > Sebastian, verstehst du das Problem wirklich nicht? Kann doch nicht > sein. Er hat das Problem verstanden, in gleicher Weise, wie ich es schrieb: Manfred P. schrieb: > Wirklich? Ich benutze die Arduino-IDE, der Bootloader meldet sich und > der Programmupload startet. Da die Softwarekompatibilität gegeben ist, > muß die Arduino-IDE den tatsächlichen Typ PB nicht wissen. Manfred P. schrieb: > Mit avrdude gehörst Du nicht zur typischen Zielgruppe der Arduinos und > bist auch kein Anfänger. Im Gegenteil, Du benutzt sie als günstige > µC-Baugruppe außerhalb der vorgesehenen Umgebung. Sebastian W. schrieb: > Veit D. schrieb: >> Nur von solchen Brains sollte man nicht pauschal ausgehen. > Wie gesagt, ich denke dass der Hersteller genau von solchen Brains > ausgegangen ist, die bei Konfiguration "Arduino Nano" ob der > Fehlermeldung bei Rückgabe der 328PB-Signatur verzweifelt das Produkt > als defekt retournieren würden. Genau so sehe ich die Zielgruppe: Nano auswählen, anschließen und fertig - egal, ob ein B oder PB drauf ist. Ich habe keine Ahnung, ob Arduino eine neuere IDE hat, wo man ausdrücklich "328PB" angeben kann.
Manfred P. schrieb: > ob Arduino eine neuere IDE hat, wo man > ausdrücklich "328PB" angeben kann. Arduino kennt das Konzept der hinzuladbaren Hardware Definitionen. Auch für PB Boards. Manfred P. schrieb: > Ich habe keine Ahnung, Offensichtlich. Manfred P. schrieb: > Genau so sehe ich die Zielgruppe: Nano auswählen, anschließen und fertig > - egal, ob ein B oder PB drauf ist. Welch ein Unsinn.
:
Bearbeitet durch User
Manfred P. schrieb: > Ich habe keine Ahnung, ob Arduino eine neuere IDE hat, wo man > ausdrücklich "328PB" angeben kann. Moin, Was den 328PB betrifft, hat Watterott und ein paar andere Bord Packages dafür geschaffen, die alles berücksichtigen. Auch der ATMEGA1284 ist unterstützt, sowie die neuen AVR128Dx Typen. Für 328PB:- https://github.com/watterott/ATmega328PB-Testing Man gibt dann in preferences diese commandline ein: https://github.com/watterott/ATmega328PB-Testing/raw/master/package_m328pb_index.json und alles wird vollautomatisch mithineingezogen. Wenn das mal installiert ist, kann man den 328PB und Optionen anwählen. https://github.com/topics/atmega328pb Für ATMEGA1284 gibt es den MightyCore: https://github.com/MCUdude/MightyCore Für AVR128Dx: https://github.com/SpenceKonde/DxCore Mit diesen "Plug-Ins" werden dann alle diese Varianten im Arduino IDE kompatibel. Nur wenn man "bare Metall" programmiert, dann ist man mehr auf sich selber gestellt. Gerhard
:
Bearbeitet durch User
Manfred P. schrieb: > Nano auswählen, anschließen und fertig > - egal, ob ein B oder PB drauf ist. Mit der Taktik kommst du nicht mehr weit, denn es gibt inzwischen zahlreiche völlig andere "Arduino Nano" Boards. https://www.arduino.cc/en/hardware#nano-family
Hallo, ich hänge mich hier mal mit an. Habe das gleiche Problem. Gekaufte China- Klone ATMEGA 328PB. Ich habe von Watterott / Github das genannte Board Package in der IDE installiert und über Bordverwalter eingestellt. Ich will mit Hilfe eines UNO diesem 328PB, welcher auf einem Nano Board einen defekten 328P ersezt, einen Bootloader per ISP brennen. Doch hier taucht eine andere Signatur auf: 0x1F 95 17, erwartet wird für den 328PB 1E 95 16. AVRDude bricht ab. Gibt es noch andere Board Packages, die diese Signatur beinhalten? Oder eine andere Lösung, den Bootloader zu brennen?
Holger M. schrieb: > Hallo, ich hänge mich hier mal mit an. Habe das gleiche Problem. > Gekaufte China- Klone ATMEGA 328PB. Ich habe von Watterott / Github das > genannte Board Package in der IDE installiert und über Bordverwalter > eingestellt. Ich will mit Hilfe eines UNO diesem 328PB, welcher auf > einem Nano Board einen defekten 328P ersezt, einen Bootloader per ISP > brennen. Doch hier taucht eine andere Signatur auf: > 0x1F 95 17, erwartet wird für den 328PB 1E 95 16. AVRDude bricht ab. > Gibt es noch andere Board Packages, die diese Signatur beinhalten? Oder > eine andere Lösung, den Bootloader zu brennen? Bei welchem Schritt genau taucht diese Signatur auf? Beim Hochladen des ArduinoISP-Programms auf den Uno? Beim Benutzen des ArduinoISP-Programms auf dem Uno zum Programmieren des neuen Bootloaders auf den Atmega328PB-Nano? Oder wobei genau? LG, Sebastian
Das taucht auf, wenn ich den Bootloader brennen will. Also auf dem UNO ist das Pog "ArduinoISP" geladen. Das hat problemlos funktioniert. Dann in der IDE "Arduino as ISP" gewählt, in "Werkzeuge" das Bord gewählt und dann "Bootloader brennen".
Habe mal schnell einen Screen Shoot gemacht
Hab gerade gesehen. das wichtigste hat gefehlt, daher noch ein Versuch
Moin, Schau mal ins "config.conf" rein. Vielleicht kann man dort die Signature vorübergehend anpassen. Es gibt such eine Commandline Option für avrdude "-E" um diesen Test zu unterdrücken. Habe das nicht ausprobiert, weil ich lieber mit Atmel Studio 7.0 und dem AVR ISP MKII arbeite. Da stört das nicht. Wenn Du das ähnlich machen könntest, dann brauchst Du nicht mit avrdude streiten bzw. sein Setup zu modifizieren. Gerhard
:
Bearbeitet durch User
Gerhard O. schrieb: > Moin, > > Schau mal ins "config.conf" rein. Vielleicht kann man dort die Signature > vorübergehend anpassen. > > Es gibt such eine Komnandoline Option für avrdude "-E" um diesen Test zu > unterdrücken. > > Habe das nicht ausprobiert, weil ich lieber mit Atmel Studio 7.0 und dem > AVR ISP MKII arbeite. Da stört das nicht. > > Wenn Du das ähnlich machen könntest, dann brauchst Du nicht mit avrdude > streiten bzw. Zu modifizieren. > > Gerhard Danke, da werd ich mal danach suchen. Habe mir aber auch schon überlegt, ob ich das nicht mit Atmel Studio und USB-ISP mache. Ich besitze einen Elnec Programmer T51Prog2, auf dem ist dieser ATMEGA 328P auswählbar, in der letzten unterstützten Softwareversion (leider nur bis 2021) war auch der 328PB, aber der verweigerte auch das Brennen (noch außerhalb des Arduino in einem TQFP32 Adapter). Per ISP könnte ich mein Prog doch eigentlich auch ohne den Bootloader brennen? Das erzeugte Hex- oder Bin File kann man doch sicher auch mit Atmel Studio brennen?
Holger M. schrieb: > Gerhard O. schrieb: >> Moin, >> >> Schau mal ins "config.conf" rein. Vielleicht kann man dort die Signature >> vorübergehend anpassen. >> >> Es gibt such eine Komnandoline Option für avrdude "-E" um diesen Test zu >> unterdrücken. >> >> Habe das nicht ausprobiert, weil ich lieber mit Atmel Studio 7.0 und dem >> AVR ISP MKII arbeite. Da stört das nicht. >> >> Wenn Du das ähnlich machen könntest, dann brauchst Du nicht mit avrdude >> streiten bzw. Zu modifizieren. >> >> Gerhard > > Danke, da werd ich mal danach suchen. > Habe mir aber auch schon überlegt, ob ich das nicht mit Atmel Studio und > USB-ISP mache. Ich besitze einen Elnec Programmer T51Prog2, auf dem ist > dieser ATMEGA 328P auswählbar, in der letzten unterstützten > Softwareversion (leider nur bis 2021) war auch der 328PB, aber der > verweigerte auch das Brennen (noch außerhalb des Arduino in einem TQFP32 > Adapter). Per ISP könnte ich mein Prog doch eigentlich auch ohne den > Bootloader brennen? Das erzeugte Hex- oder Bin File kann man doch sicher > auch mit Atmel Studio brennen? Damals kopierte ich einfach das Hex Image vom Watterott 328pb und brannte es dann in den anderen 328pb. Das ging ohne irgendwelche Schwierigkeiten. Allerdings kopierst Du ein irgendein schon geladenes Programm mit. Aber das macht ja nichts. Ich habe nur den AVR-ISP und einen STK500. Seit letztes Jahr noch den ATMEL ICE wegen UPDI. Deinen Elnec kenne ich leider nicht. Ist blöd, daß der Elnec beim 328pb nicht mitspielen will. Dann wäre es möglicherweise doch leichter den config.conf zu modifizieren, so daß die Signaturen wie vereinbart passen. Du kannst avrdude auch mit Deiner eigenen Commandline aufrufen. Das habe ich einmal gemacht und hat funktioniert.
Hallo, @ Holger: Hast du den UNO als temporären Programmer auch richtig beschalten? Viele Leute vergessen den Kondensator der den Reset des UNO verhindern muss. Wenn das nicht klappt versucht man beim Bootloader brennen immer wieder den UNO zu flashen statt den Ziel Controller der am UNO hängt. Glücklicherweise verhindert die Signaturprüfung immer wieder Schlimmeres. Übrigens fragt avrdude in dem Fall hier vom 328PB die echte Signatur ab. avrdude will ja nicht mit dem möglicherweise vorhandenen Bootloader vom 328PB reden. Das heißt die Signatur vom 328PB muss stimmen.
:
Bearbeitet durch User
Hallo Veit, am Reset Pin habe ich einen kleinen C 0,1µ. Eventuell zu klein? Ich hol mal nen 10µF. Ich meld mich gleich nochmal
Hallo, 100nF sind zu klein. 10µF sollten es schon sein. Desweiteren kannst du erstmal den Kontakt testen ohne Dateiangabe. Also eine Art Pingtest. Sowas in der Art. avrdude -c avrispmkII -p m328pb -v oder avrdude -c avrispmkII -p m328pb -v -P usb Parameter/Optionen anpassen. Wenn die Signatur und alles andere passt sollte keine Fehlermeldung kommen. Erst wenn das passt kannste mit flashen weitermachen.
Also mit 10µ ändert sich auch nichts. Immer diese Signatur 1F 95 17! Steckt da am Ende ganz etwas anderes drin? Aufdruck ist aber eindeutig Atmega 328PB
1E 95 17 wäre ein ATmega324P. Der sieht ganz anders aus. :-) 1F xx xx ist ein ganz anderer Hersteller … Irgendwas ist an dem Chip nicht in Ordnung. Wie sieht er denn auf der Rückseite aus? Früher hatte Atmel da die Losnummer nochmal drauf geschrieben, Microchip scheint das nicht mehr zu machen.
:
Bearbeitet durch Moderator
Hallo, die Beschriftung ist anders. Zum Vergleich ein Original ... entweder war es ein Sample von Microchip oder bei Mouser bestellt. Wo hast du deine denn her?
:
Bearbeitet durch User
Kann auch einfach ein kaputter Chip sein. In der falschen Signatur ist immer Bit0 gesetzt.
Ich habe meine beim ALI gekauft. So langsam wundere ich mich nicht mehr. Es ist sicher so, dass da ein 324 drin steckt, wie Jörg schreibt. Neulich hatte ich Transistoren BD 237 bestellt und lt. Aufdruck auch bekommen. Beim probehalber Durchmessen habe ich festgestellt, dass da eine Freilaufdiode integriert war. Lt. Datenblatt gibt es im BD 237 aber gar keine und hätte in meiner Schaltung auch gestört! So langsam gehe ich davon aus, dass das wirklich kein 328PB ist, ebenso wie das bei den BD's war. Hatte ich damals reklamiert und habe mein Geld wieder bekommen, auf Rücksendung haben sie verzichtet. Musste ich allerdings beweisen, hatte dazu bei der Messung ein Video dazu gemacht und geschickt. Jetzt werde ich erst mal darüber schlafen! Es waren ja nur 10 St., die ich gekauft hatte...... Danke an alle und Gute N8!
Hab mal noch die Rückseite abgebildet:
Veit D. schrieb: > Zum Vergleich ein Original Der ist aus der Vor-Microchip-Zeit. Meine aktuellen sehen ähnlich aus wie der gezeigte.
Holger M. schrieb: > Hab mal noch die Rückseite abgebildet: OK, meine sind in Taiwan montiert worden und nicht in Thailand, die sehen etwas anders aus (nur ein Punkt in der Mitte). Bleibt natürlich die versemmelte Signatur. Du könntest probieren, auf der Kommandozeile diese mit der Option "-F" zu überschreiben und dann zu sehen, wie sich der restliche Chip benimmt. Holger M. schrieb: > Es ist sicher so, dass da ein 324 drin steckt, wie Jörg schreibt. Nein, glaube ich nicht. Erstens ist da immer noch die falsche Vendor ID, zweitens ist der ATmega324 viel größer. Keiner macht den Aufwand, einen Chip aus einem existierenden Gehäuse zu extrahieren und neu zu verpacken / bonden. Da ist einfach die Signatur versemmelt worden, von wem auch immer und warum auch immer. Ob es dann wirklich ein "PB" ist, könnte man nur durch eine Firmware klären, die die erweiterten Features versucht zu benutzen. Möglicherweise ist es irgendwie ein recycelter "P".
Holger M. schrieb: > Ich habe meine beim ALI gekauft. So langsam wundere ich mich nicht mehr. > Es ist sicher so, dass da ein 324 drin steckt, wie Jörg schreibt. Für einen Mega324 hätte der Chip zuwenige Pins.
Hallo, klingt zwar vielleicht immer komisch. Aber bei Ali, ebay & Co kauft man keine Halbleiter. Früher hatte man Pech wenn man eine Fälschung bekommen hat. Heute hat man Glück wenn es keine Fälschung bzw. ein funktionierendes Irgendwas ist. Und billiger sind die auf den diversen Plattformen im Grunde auch nicht mehr. Nach der Info vom Jörg habe ich das Manual zum 324P aufgeschlagen. Danach gibt den nur im 44 Pin TQFP Gehäuse. Das passt mit deinem leider hinten und vorne nicht. Egal wie man es dreht und wendet. Wer weiß was da drin steckt. Warte auf die nächste Mouser Sammelbestellung im Forum Marktplatz und kauf Originale. Das erspart viel Frust und Zeit. Ich kann es mir beim besten Willen nicht vorstellen das die mit falscher Signatur das Werk verlassen. Vorne raus. :-) Im dümmsten Fall landet Schrott durch irgendwelche dunklen Kanäle bei Ali & Co und damit schließt sich der Kreis das man bei denen keine Halbleiter kauft. Wenn du ganz viel Zeit und Forscherdrang haben solltest, änderst du in der avrdude Config die Signatur und testet den durch. Ich würde mir das nicht antun. Dafür sind die zu billig. :-)
Jo, hast Recht. Muss mal sehen, was ich damit noch anstelle. Habe ja auch noch einen gewissen Vorrat an neuen NANOS hier liegen. Mit dem 328P. Denen muss ich allerdings auch den neueren Bootloader verpassen, weil ich auch den Watchdog nutzen muss.... Aber damit funktioniert das ja, hatte ich schon gemacht. Gruß Holger
Wie gesagt, den Signatur-Test kannst du bei AVRDUDE mit -F überschreiben. Dann musst du halt nur sehen, was der restliche Chip denn wirklich ist. Ein alter ATmega328, ein ATmega328P, oder ein ATmega328PB?
Veit D. schrieb: > Ich kann es mir beim besten Willen nicht vorstellen das die mit falscher > Signatur das Werk verlassen. Gewiss nicht. Ich vermute eher, dass da alte Chips "aufgemöbelt" worden sind und man sich beim Umprogrammieren der Signatur vertan hat.
Hallo, da kann im Keller zwischen neu bonden, vergießen und lasern schon einmal was schief gehen. Dabei wußte der Letzte nicht was der Erste vergossen hat. :-) :-)
Gerhard O. schrieb: > nein, das stimmt nicht. Es war avrdude, das sich über den Nano genervt > hatte. Guck mal auf die screen captures. Dort hast du unter avrdude als Programmer "Arduino" dies liest den Bootloader aus. Mit dem ISP unter AVRDUDE müsste er selbstverständlich auch die richtigen Fuses und Signatur bringen. Unter AS7 mit einem ISP liest du selbstverständlich die fest gebrannten Fuses des Chips aus - den ISP interessiert logischerweise der Bootloader überhaupt nicht da er ja direkt auf Flash und Rom zugreift ohne über einen Bootloader zu gehen. (Deswegen kann man mit einem ISP ja auch den Bootloader schreiben)
:
Bearbeitet durch User
Veit D. schrieb: > Dabei wußte der Letzte nicht was der Erste vergossen hat. :-) :-) Er hätte ja zumindest wissen können, dass der Chip von Atmel ist und die richtige Vendor ID in die Signatur schreiben …
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.