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
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.
Die Firmware ist im bin Format, kein hex file. Ob die erschlüsselt ist weiß ich leider nicht, wie kann ich das sehen?
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.
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
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.
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?
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.
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.
Ist die Beschaltung der andern Pins denn wirklich komplett egal? Am VCORE hängt noch ein Kondensator so wie es sein soll.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.