Forum: Mikrocontroller und Digitale Elektronik .bin-Datei für PIC-Programmierung verwendbar? Wie Umwandeln?


von Simba (Gast)


Lesenswert?

Bei einem Labornetzgerät baugleich Mastech HY3005M-3 ist eine Hälfte 
defekt. Das Problem scheint bekannt, und offenbar ist die Ursache ein 
defekter PIC16F873A.

Laut hier:
http://translate.google.com/translate?hl=ru&sl=ru&tl=en&u=http://cxem.net/remont/remont61.php
gäbe es für das betreffende Gerät auch die passende Firmware für beide 
"Hälften" bzw. die dort verbauten PIC µC.

Allerdings liegen diese dummerweise als *.bin-Dateien vor, womit man ja 
erstmal wenig anfangen kann.
http://cxem.net/ckfinder/userfiles/comments/40300_Mastech%20HY3005M-3.rar

Kann mir jemand sagen, ob und wie die Dateien zu verwenden sind bzw. 
welche Software dazu nötig ist?

von Olaf B. (Firma: OBUP) (obrecht)


Lesenswert?

Hi Simba,

Fw f. PICs werden mittels PICkit 3 aufgespielt

s. 
http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=PG164130

Dort findest Du sämtliche Infos über Programmierung der PICs - Tools, SW 
& Docs.

mfg

Olaf

von Thomas E. (picalic)


Lesenswert?

Von der Größe der Dateien (je 8192 Bytes) könnte das schon der 
Programmcode für die PICs sein (4 KWords), allerdings fehlt dazu der 
Inhalt des Konfigurations-Words. Da kann man nur raten (z.B. Watchdog 
Konfiguration) und oder aus der externen Beschaltung versuchen, Schlüsse 
zu ziehen (Oszillator, Reset-Beschaltung). Auch hat der Controller 
EEPROM, das möglicherweise Kalibrierungsdaten (evtl. vom Hersteller 
erzeugt) enthält - nur so als Hinweis...

: Bearbeitet durch User
von Dietrich L. (dietrichl)


Lesenswert?

Falls der Programer .bin nicht frisst gibt es bin2hex.exe zum Umwandeln 
in eine .hex-Datei.
z.B. http://www.keil.com/download/docs/113.asp

Ob das in Deinem Fall funktioniert kann ich allerdings nicht sagen :-(

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

Das gute™ MPLAB 8.92 kann wohl auch bin-Files laden.

Bei einer glatten Laenge werden wohl aber die Configbits fehlen.

von Simba (Gast)


Lesenswert?

Das habe ich fast so befürchtet, bedeutet das dann, dass mit den 
verlinkten bin-Dateien kein "Ersatz-PIC" erstellbar ist?

Auf der Seite sind auch Dateien für das bauähnliche Gerät mit 2x3A 
Ausgängen (3-L/3-R) als Hex-Datei verfügbar, aber auch das hilft 
vermutlich nicht wirklich weiter.

Kann man aus dem noch funktionierenden µC der intakten Hälfte irgendwie 
Config-Bits auslesen (vermutlich nicht...)?

von Thomas E. (picalic)


Lesenswert?

Simba schrieb:
> Das habe ich fast so befürchtet, bedeutet das dann, dass mit den
> verlinkten bin-Dateien kein "Ersatz-PIC" erstellbar ist?
>
> Auf der Seite sind auch Dateien für das bauähnliche Gerät mit 2x3A
> Ausgängen (3-L/3-R) als Hex-Datei verfügbar, aber auch das hilft
> vermutlich nicht wirklich weiter.

Kommt darauf an, wie "bauähnlich" die Geräte wirklich sind. Ob es Binär- 
oder Hex-Dateien sind, sollte eigentlich nicht unbedingt über go oder 
no-go entscheiden, eher die fehlenden Konfig-Bits. Auf der anderen Seite 
sind die Konfig-Einstellmöglichkeiten aber auch begrenzt, so daß man es 
mit ein paar Versuchen vielleicht durch Ausprobieren hinbekommt. Aber 
ein gewisses Grundwissen über den Controller sollte man dafür schon 
haben, und ein Programmiergerät (PICKit) natürlich auch.

Simba schrieb:
> Kann man aus dem noch funktionierenden µC der intakten Hälfte irgendwie
> Config-Bits auslesen (vermutlich nicht...)?

Die Config-Bits wird man, denke ich, schon auslesen können - aber ob die 
Konfiguration des einen Bausteins auch die richtige für den anderen 
Baustein ist, kann man so natürlich nicht sagen. Versuch macht kluch...

: Bearbeitet durch User
von Simba (Gast)


Lesenswert?

Thomas E. schrieb:
> Kommt darauf an, wie "bauähnlich" die Geräte wirklich sind.

Sehr. Das eine hat 2x3A Ausgänge, das andere 2x5A, sonst identisch.

Wie auch auf der oben verlinkten russischen Seite bereits steht, sind 
beide "Hälften" eines Netzteils, also die Programmierung von "IC-5L" und 
"IC-5R" bis auf die Tastenanordnung (Einstellung für Spannung/Strom 
gespiegelt) offenbar identisch.

(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag 
#4921711:
> Das gute™ MPLAB 8.92 kann wohl auch bin-Files laden.

Leider sieht es auf den ersten Blick nicht so aus, als könnte MPLAB 8.92 
die bin-Datei direkt öffnen oder importieren, außer ich habe da was 
übersehen.

Bevor ich mir ein PICKit zulege wollte ich erst sicherstellen, dass ich 
zumindest die Datei öffnen kann. Sonst wird das ein sinnloses 
Unterfangen.

von Thomas E. (picalic)


Angehängte Dateien:

Lesenswert?

Servus Simba,

ich habe die Dateien mal in HxD geladen und als Intel-Hex exportiert.
Damit lässt es sich in MPLAB über File->Import laden. Sieht auch so aus, 
als wäre es tatsächlich ein PIC-Programm ;)
Nach dem Import landen die Daten im (virtuellen) Programmspeicher des 
PICs (ansehen über View->Program Memory). Von da aus müsste es möglich 
sein, die Daten mit dem PICKit in einen PIC zu übertragen.

Link zu HxD:
https://www.mh-nexus.de/de/

: Bearbeitet durch User
von Erich (Gast)


Lesenswert?

Simba schrieb:
> Auf der Seite sind auch Dateien für das bauähnliche Gerät mit 2x3A
> Ausgängen (3-L/3-R) als Hex-Datei verfügbar, aber auch das hilft
> vermutlich nicht wirklich weiter.

Mit viel Glück schon.
Man könnte mutig die Konfiguration aus der HEX Datei (anderes Gerät) 
jetzt an die von Thomas Elger (picalic) umgewandelte Datei anfügen.

Link zu der HEX Datei (anderes Gerät) ??

von Simba (Gast)


Lesenswert?

Erich schrieb:
> Link zu der HEX Datei (anderes Gerät) ??

Das wären diese beiden (2x3A Gerät)

http://yadi.sk/d/8I6rMTrYKbuoa
http://cxem.net/ckfinder/userfiles/comments/46900_Ic_3R.HEX


Vielen Dank an Thomas Elger (picalic) fürs Umwandeln und die Hinweise zu 
MPLAB. Ich kann das bei mir soweit in MPLAB nachvollziehen.

Muss jetzt ein PICKit besorgen und dann einen Programmierversuch starten 
(Ersatz PIC16F873A habe ich hier).

Das mit den Config Bits muss halt noch irgendwie ausgeknobelt werden, 
hoffe aber da kann man bei der 3A-Version "abkupfern".

von Simba (Gast)


Angehängte Dateien:

Lesenswert?

Abschließende Rückmeldung, falls das noch für andere relevant ist:

Nachdem ich endlich einen PICKit3 samt passendem DIL-Adapter hier hatte 
ist es mir gelungen zunächst den "defekten" PIC auszulesen. Anschließend 
habe ich die Hex-Datei mit der aus der 3A-Version und der von Thomas 
Elger (picalic) erstellten verglichen. So konnte ich die erforderlichen 
Config Bits "dazubasteln".
Und was soll ich sagen - das Gerät läuft wieder.

Außerdem hat sich herausgestellt, dass der vermeintlich defekte PIC 
nicht elektrisch defekt war, sondern wohl lediglich einen 
"Bit-Schluckauf" hatte, nachdem ich diesen neu programmiert hatte 
funktioniert dieser ebenfalls wieder wie gewünscht.

Im Anhang noch die von mir verwendeten Intel Hex-Dateien (inkl. Config 
Bits) und ein Screenshot der korrekten Config Bits.

Der Code der 3A-Version unterscheidet sich überhaupt nur in zwei Zeilen 
von der Hex-Datei der 5A-Version.

Vielen Dank für eure Hilfe,
es war für mich ein spannender Ausflug in die PIC-Welt ;-)

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.