Forum: Mikrocontroller und Digitale Elektronik PIC Firmware Bootloader


von Charly (Gast)


Lesenswert?

Hallo,

ich habe eine Firmware für einen PIC, in der Firmware ist das Programm 
und ein Bootloader, leider ist mir der Original PIC kaputt gegangen, 
kann man mit der Firmware den Bootloader extrahieren damit man de 
komplette Firmware flashen kann?

Charly

von chris (Gast)


Lesenswert?

Wenn du sicher bist, daß im Firmware bootloader + Programm vorhanden 
ist,
dann einfach auf Pic Brennen. Fuses müssen noch beim brennen eingestellt
werden. Sollte funktionieren. Ansonsten wenn Firmware unverschlüsselt, 
dann
kann man auch herausfinden, welcher Bootloader verwendet wurde, bzw 
einen
Equivalenten benutzen.

von Charly (Gast)


Angehängte Dateien:

Lesenswert?

Die Firmware ist im bin Format, kein hex file. Ob die erschlüsselt ist 
weiß ich leider nicht, wie kann ich das sehen?

von chris (Gast)


Angehängte Dateien:

Lesenswert?

Dann probier es mal. Sieht nicht schlecht aus, da man aber nicht weiss
welche cpu genau kann ich nichts genaueres berichten. Teilweise sind
da illegale Opcodes drin, könnten ev. incrementelle Checksums sein.
Aber da zuwenig Infos passt sollte es so passen.

von Charly (Gast)


Lesenswert?

Danke fürs umwandeln, leider hab ich keinen programmer, den müste ich 
mir erst bauen, was aber nichts bringt wenn ich dann die Firmware nicht 
reinbekomme.
Die Fuses scheinen bei dem Typen schon aufwendig zu sein, ist das 
rauszubekommen?
CPU ist PIC24HJ128 GP310i

von Charly (Gast)


Lesenswert?

Ist der Brenner 9 von sprut der einfachste den ich verwenden kann?

von Charly (Gast)


Lesenswert?

Wie hast du das bin in das hex gewandelt?

von chris (Gast)


Lesenswert?

such nach bin2hex . Ich habe offset 0 angenommen, es gibt eine app note,
AN1094 nach der die SW ab 0xc00 oder 0xc02 starten sollte.
Die Fuses, die bekommt man raus, nicht aber ohne Wissen was die HW tut
und wie sie angeschlossen ist. Ev kannst du auch die SW welche den
Bootloader downloaded mal starten, und schauen ob die AN da benutzt 
wird,
und auch schauen was da die SW runterschreibt.

von Charly (Gast)


Lesenswert?

Hallo,

ich habe mir nun einen Programer besorgt PicKit 3.

Leider wird im MPlab der Prozessor nicht richtig erkannt.
Target Device ID (00000000) does not match expected Device
ID (00673000).

Das Gerät hat einen ISCP Anschluss, ich habe die Pins herausgemessen, 
das müsste passen. Der 6. Pin PM (LVP) ist nicht belegt.
An einem Funktionierendem Gerät wird beim lesen der Prozessor 
zurückgesetzt. Irgendeine Kommunikation scheint also zu laufen, wird 
aber auch nicht erkannt.

Muß ich einen seperaten Takt anlegen?

http://ww1.microchip.com/downloads/en/DeviceDoc/70175H.pdf

An Pin 63 und pin 64 ist ein 8MHz Quarz angeschlossen, welcher aber bei 
dem defekten Gerät wegen falschen Fuses nicht anläuft.

Wo könnte ich noch suchen?

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Der Quarz wird beim Programmieren nicht benötigt, PICKIT schickt selbst 
den Takt.
Evtl. mal den LVP-Anschluß ansehen. Der könnte bei falschem Anschluß und 
gesetztem LVP-Fuse den Prozessor in den Programmiermodus versetzen ohne 
daß der richtig läuft.

von Charly (Gast)


Lesenswert?

Ok, ich habe etwas gesucht und ich denke das der PIC24H keinen LVP Pin 
braucht, der kann nur in LVP programmiert werden bzw. kennt weder LP 
noch HVP. So steht es auch bei Sprut.

"Alle dsPIC33F- und PIC24H-Typen haben einen internen Spannungsregulator 
zur Versorgung des Prozessorkerns mit 2,5V, der nicht extra 
eingeschaltet werden muss. Es genügt, 3,3 V in Vdd einzuspeisen, und am 
Vcore (oder Vddcore) Pin einen 10 uF-Kondensator nach Vss 
anzuschließen."

http://www.sprut.de/electronic/pic/icsp/icsp.htm

Ca. Seitenmitte.

von Charly (Gast)


Lesenswert?

Ist die Beschaltung der andern Pins denn wirklich komplett egal?

Am VCORE hängt noch ein Kondensator so wie es sein soll.

von Chris B. (dekatz)


Lesenswert?

Welche "anderen" Pins's meinst du?
An PGC, PGD und Vpp dürfen bei der Programmierung keine 
PullUp-Widestände, C's, Dioden oder sonstige Peripherie hängen.

von Charly (Gast)


Lesenswert?

mit anderen meine ich alle anderen außer diese welche zum Programmer 
gehen.
VSS ist klar
VDD hängen natürlich noch in der Schaltung z.B. Kondensatoren auf Masse
PGD/PGC hängt nur der ICSP Steckplatz
MCLR ;darf da noch ein Pullup dran sein? Habe den ausgelötet hilft aber 
nicht

am Pin von VCORE ist ein Kondensator nach Masse nicht nach VDD wie bei 
Sprut, denke mir aber das sollte nichts machen.

alle anderen Pins der Rest :)

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
Noch kein Account? Hier anmelden.