USB Nano V3.0 ATmega328P CH340G und MCP2515 CAN Shield Maschinencode /Auslesen

Hallo, zusammen ich freue mich nun auch in die welt des Arduino einzusteigen.
Analoge Elektronik behersche ich zum Glück schon einigermaßen gut.

Zu meine Problem und Fragen: Ich bin noch Anfänger... also seit Lieb mit miiir :smiley:

Hatte vor 3 Jahren ein Kolleg dazu bekommen, mir für mein Fahrzeug ein Canbus Modul zu erstellen und schreiben. Damit ich auf den OEM Radio verzichten kann und gegen einen Fremdradio ersetzen kann, ohne auf den Farbdisplay Boardcomputer zu verzichten. Funktioniert Einwandfrei soweit.

Nun habe ich 2...3 andere Kollegen die das Modul auch möchten.
Mein Kollege ist aber vor gut einem Jahr ins Ausland ausgewandert und ich habe kein Kontakt mehr zu Ihm, auch hatte er mir damals die Sketches nicht als Datei gegeben.

Ich habe gelesen, über die ICSP Schnittstelle kann ich direkt den Maschinencode von Atmega auslesen, diesen abspeichern und dann wieder via ICSP auf die neuen Module drauf schreiben.
Ist das soweit richtig? Also Clonen..

Der USB Nano V3.0 ATmega328P CH340G und MCP2515 CAN Shield sind miteinander verkabelt, muss ich vor dem Auslesen die 2 Module Trennen... denke ich mal...

Ist es richtig, das auch der CAN Shield einen Sketsch aufgespielt hat, oder läuft das alles über den Nano Atmega328P ?

Kann ich via Arduino UNO die ICSP Schnittstelle ansteuern und den Maschinecode auslesen der beiden Module?
Benötige ich dazu einen AVR Dragon zum Lesen/beschreiben?

Gibt es kostengünstigere Alternativen als der AVRDragon?

Ich hab mich schon 30Stunden durch Can Foren und Anleitungen Gelesen wie der CANBUS H und L im Prinzip Funktionieren. Habe aber keine Zeit mir das ganze selber zu erstellen.. Geräte Canbus sniffing und dann Sketch schreiben.. mir fehlt da noch viel Routine und übung.. Lerne aber gerne und hartnäckig solche sachen :))

Bin für jeden Tipp und Rat sehr Dankbar.

Wahrscheinlich kommen mir noch 10 weitere Fragen in den sinn.

Gruss Andreas

Auch der Bootloader kann das Flash lesen.

Alternativ

Es reicht als Programmieradapter auch ein USBasp. Gibt es als Chinaclone für unter 2€ inklusive Versand und 3 Wochen Wartezeit.
Dazu eXtreme Burner als kostenlose Software. Die ist im Stile eine Hex-Editors aufgebaut. Fuses, EEPROM und FLASH auslesen, speichern und den neuen Baustein damit beschreiben.
Wenn dein Kollege natürlich die Fuses so gesetzt hat, das ein Auslesen untersagt ist, dann hast du ein Problem. Aber wenn er mit der Arduino Umgebung gearbeitet hat, dann sollte das nicht der Fall sein.
Einen Versuch ist es jedenfalls wert.
Wenn die Schaltung gut designt ist, dann braucht man Zusatzhardware nicht entfernen. Wenn allerdings Ausgänge einen der ISP Pins direkt und ohne Vorwiderstand gehen, dann schafft es der Programmer nicht, gegen den anderen Ausgang anzuarbeiten und du mußt dann doch auftrennen :wink:

nix_mehr_frei:
Es reicht als Programmieradapter auch ein USBasp. Gibt es als Chinaclone für unter 2€ inklusive Versand und 3 Wochen Wartezeit.
Dazu eXtreme Burner als kostenlose Software. Die ist im Stile eine Hex-Editors aufgebaut. Fuses, EEPROM und FLASH auslesen, speichern und den neuen Baustein damit beschreiben.
Wenn dein Kollege natürlich die Fuses so gesetzt hat, das ein Auslesen untersagt ist, dann hast du ein Problem. Aber wenn er mit der Arduino Umgebung gearbeitet hat, dann sollte das nicht der Fall sein.
Einen Versuch ist es jedenfalls wert.
Wenn die Schaltung gut designt ist, dann braucht man Zusatzhardware nicht entfernen. Wenn allerdings Ausgänge einen der ISP Pins direkt und ohne Vorwiderstand gehen, dann schafft es der Programmer nicht, gegen den anderen Ausgang anzuarbeiten und du mußt dann doch auftrennen :wink:

VIELEN DANK

Habe mir schon 2 USB Nano V3.0 ATmega328P CH340G gekauft welche auch mein kolleg verwendet hat.

habe gelesen um mit dem uno auslesen zu könen müsste ich den bootloader änder... der arduinoi bootloader kann nur schreiben?

werde mir sonst auch den USBarp besorgen wen der am besten ist und vlt eXtreme burner mit den anderen Modulen nicht so gut zurecht kommt? :slight_smile:

Falls mir noch jemand helfen könnte... :slight_smile:

Hier auf dem bild eingezeichnet, leider ist die usb buchse defekt, die 2 defekten usb pins auf der Platine, siehe bild.
soll ich besser 3 der pins die noch da sind dranlöten und die andere 2 am Bootloader chip anlöten? oder via ICSP? gehen beide schnittstellen über den bootloader?

hab mir nun so ein USBarp bestellt.. den damit gibte s ja anleitungen.. mit dem arduino uno nicht wirklich.. wie ich es schaffen könnte den USB Nano V3.0 ATmega328P CH340G auszulesen.

bin für tips sehr dankbar..

oder via ICSP?

Ja klar.

den damit gibte s ja anleitungen..

Vielleicht, am besten, sogar noch Videoanleitungen...

Wäre es nicht evtl. klüger, sich in das Thema einzuarbeiten, um dann mit Sachkunde da ran zu gehen?

combie:
Ja klar.
Vielleicht, am besten, sogar noch Videoanleitungen...

Wäre es nicht evtl. klüger, sich in das Thema einzuarbeiten, um dann mit Sachkunde da ran zu gehen?

ich meine nur alle reden von USBarp und nicht wie man mit dem uno auslesen könnte und ob der bootloader vom Arduino UNO auch lesen kann.. dies war meine frage, den ich habe was anderes gelesen.

Deshalb besser den USBarp nehmen? (habe ich ja auch bestellt gestern.)

ja klar zum glück gibbts youtube da erklären Inder in gebrochenen ultrafast englisch wie man es macht.. leider auch nicht einfach so ein english zu verstehen :smiley:

"Sachkunde" versuche ich mir ja gerade ein zu programmieren :wink:

Aber ohne Hilfe sätze sondern mit gegenfragen komme ich nicht viel weiter...

klar muss ich auch ohne Hilfe Lernen. sagte ja am anfang des Threades ich bin Anfänger.. und Lerne gerne dazu.. Frage ja nicht was ist plus und minus? lol

habe etwa 20 Browser fenster offen x dokumente am ausdrucken.. alle abkürzungen und anschlüsse am lernen und verstehen.. ISP/ICSP, SPI, SCLK/SCK, MOSI/SIMO, MISO/SOMI, SDI/SDO, SS,CS,STE, verstehe ich nun.. habe schon avrdude installiert, warte noch auf USBarp bis ich das Auslesen mal versuchen in der hoffnung das es die Fuses zu lassen. Aufspielen ist ja kein problem.. (Blink Sketch getestet und abgeädert) na klar das ist 0815 standart Sketch.. aber irgendwo muss ich ja anfangen :))

Aber ohne Hilfe sätze sondern mit gegenfragen komme ich nicht viel weiter..

Manno...

Dass man das Flash auch über den Bootloader lesen kann, habe ich dir gesagt.
Auch dass du AVRDUDESS verwenden könntest, und wie man ihn dazu bringt den USBasp zu nutzen.

Jetzt sage ich: Das Ding heißt USBasp und nicht USBarp.

Und natürlich kannst du den UNO zum ISP machen.
Und dann mit AVRDUDE alles lesen und schreiben.

Das Manual für AVRDUDE findest du selber?

habe schon avrdude installiert,

Ja natürlich, das ist automatisch in der neuesten Version bei der Arduino IDE dabei.
:o Hast dich vermutlich gar nicht gegen die Installation wehren können. :o

EDIT:
Ich gebe auf.

ich habe es nun verstanden danke Daaanke :wink: auch dein link nochmals durchgelesen.
haben nun folgendes Problem beim auslesen unter Windows 7 via GUI und CMD:

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0xe0

avrdude done. Thank you.

Rote Led Leuchtet dann..

wird ja wie ich gelesen habe an einem falsche Setup liegen.. aber wo?

Musste den Port in Gerätemanager unter Einstellungen schon Manuel von 10 auf 1 ändern und ein Prozess killen (war besezt COM1) damit ich überhaupt kommunizieren konnte bis zum jetzigen Sync fehler..

AVRDUDE GUI Einstellung: auf Atmega 328p, Com Port 1, Programmer Arduino,

Arduino1.8.2 Einstellungen; Board: ArduinoUNO, Port: COM1 (Arduino UNO),
Programmer: Arduino as ISP, Sketch: Arduino ISP,

Gerätemanager Einstellung COM1 Port; Treiber Arduino:1.2.3.0 Datum:24.11.2015
11520 Bits/Sek, Datenbits 8, Parität/Flussteuerung keine, Stopbits 1

Treiberupdate gemacht, sei auf dem neusten Stand. was mache ich falsch?

muss ich einen bootloader aufspielen auf dem Nano den ich auslesen möchte?

hab ich eine fehler in der verkabelung?

Arduino UNO <----------------> Usb Nano v3.0

ICSP ICSP

**MISO °. . 5V MISO °. . 5V **
SCK . . MOSI SCK . . MOSI **
** . . GND ------->RESET . . GND

** ! **
** ! **
Pin10<--------

hat nun geklappt wen ich das richtig sehe... fuses&lockbits flash und eeprom ausgelesen :)) hatte falsche programm. avrdudegui wollte nicht. avrdudes2.4 funktioniert tadellos :slight_smile:

Detected 1e950f = ATmega328P
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x1e950f
avrdude.exe: reading lfuse memory:

Reading | ################################################## | 100% 0.00s

avrdude.exe: writing output file "C:\Users\iTF\AppData\Local\Temp\74d93460-96e7-4050-b449-fe91ad7fea0f.TMP"
avrdude.exe: reading hfuse memory:

Reading | ################################################## | 100% 0.02s

avrdude.exe: writing output file "C:\Users\iTF\AppData\Local\Temp\6bc642c7-9018-47d9-9b5d-efd1e342c3a5.TMP"
avrdude.exe: reading efuse memory:

Reading | ################################################## | 100% 0.00s

avrdude.exe: writing output file "C:\Users\iTF\AppData\Local\Temp\c2018742-f446-4e68-a1d7-5ad4107d0e39.TMP"

avrdude.exe done. Thank you.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x1e950f

avrdude.exe done. Thank you.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% -0.00s

avrdude.exe: Device signature = 0x1e950f

avrdude.exe done. Thank you.