Hi, ich bin auf der Suche nach einer DLL, mit der ich eine Hex-Datei in eine Bin-Datei umwandeln kann. Der Grund hierfür besteht darin, dass ich via einer C# Applikation die Bin-Daten zum Mikrocontroller senden möchte. Gibt es für C# sowas?
Danke für den Link. Und wie kann ich nun die Bytearrays in Binärformat umwandeln
Mit der Funktion "ReadHexFile" kann ich zwar die Hex-Daten in ein Array kopieren. Wie bekomme ich nun die Binary Daten ?
User0815 schrieb: > Mit der Funktion "ReadHexFile" kann ich zwar die Hex-Daten in ein Array > kopieren. Wie bekomme ich nun die Binary Daten ? ??? binärer wird's nicht oder das ganze muss in irgendwas anderes umgewandelt werden
Kannst du mir sagen wie man zu diesem binären File kommt ?
Es muss doch eine DLL geben, die man quasi einbinden kann.
[X] Ich habe keine Ahnung [X] Ich verwende etwas, was fälschlicherweise als "Programmiersprache" bezeichnet wird [X] "Probleme" löse ich per "Copy & Paste"
edgar schrieb: > [X] Ich habe keine Ahnung > [X] Ich verwende etwas, was fälschlicherweise als "Programmiersprache" > bezeichnet wird > [X] "Probleme" löse ich per "Copy & Paste" Dem zweiten Punkt möchte ich mal vehement widersprechen. Aber bei den anderen beiden: Volle Zustimmung. User0815 schrieb: > Es muss doch eine DLL geben, die man quasi einbinden kann. Gibt es da mal nichts zum herunterladen? Das ist aber traurig. Guck' dir das Hexformat an und schreib' dir eine Funktion dafür. So schwierig ist das nicht. Mit C# kann man auch richtig programmieren und nicht nur Klicki-Bunti machen und bei Pille-Palle-Kram nach Hilfe schreien. mfg.
Hallo zusammen, mir fehlt da noch das Mapping der Adressen im hex-File auf den Adressbereich des Controllers. Ich vermute jetzt mal, das bin-File enthaelt einfach ein Speicherabbild des kompletten Flash-Speichers des Controllers? Dann muesste man ja nur ein Array in der Groesse des Controller-Flash initialisieren (bzw. eine bin-Datei anlegen, dann das hex-File durchparsen und im Array (Datei) den entsprechenden Wert an der richtigen Stelle (hier braucht man das Mapping) reinschreiben. Gruß
olf79 schrieb: > mir fehlt da noch das Mapping der Adressen im hex-File auf den > Adressbereich des Controllers. Im Gegensatz zu Hex sind BIN-Dateien reine Roh-Daten, da gibt es keine Adressangaben - wenn du eine Datei von 4 kB hast und sie soll im Kontroller an der Adresse 2000H bis 2FFFH gespeichert werden, musst du das in einer Notiz dazuschreiben. Wenn du die Datei in einen Programmer einliest, fragt dich der ja auch wohin damit, dann gibst du 2000H ein. Das Mapping ist also nicht in der Datei, sondern in deinem Kopf. Gruss Reinhard
nun es gibt für solche Dinge auch profesionelle Tools. Wenn du das also nicht selbst lösen kannst, und das ist nun wirklich einfach, kannst du auch was kaufen. http://www.hse-electronic.de/Deutsch/Produkte/dHexit/dhexit.html Das kann das alles was du machen willst, und noch sehr viel mehr. So eine Toolsammlung hat allerdings ihren Preis. Thomas
Hi, das Problem ist nicht das herunterladen auf den Mikrocontroller sondern nur das wandeln von einer Hexdatei in eine Bindatei.
Und google zu bedienen, ist soo schwer? http://www.daniweb.com/software-development/csharp/threads/245079
>Datum: 20.09.2011 16:37
du hast das doch schon längst im richtigen format
dort steht, dass die Daten schon in einem Array sind
dem namen der Funktion nach, schon im korrekten format
also wo liegt jetzt dein problem?
diese daten brauchst jetzt nur noch an den Mikrocontroller "schicken"
oder halt in eine datei schreiben ...
(.hex -> bin macht übrigens auch z.B: ponyprog, damit kannst dein
Ergebnis verifizieren..)
Guten Morgen, ich möchte in meiner C# Applikation die generierte HEX Datei in eine BIN Datei umwandeln. Mit einem Zusatztool kann ich das zwar tun, aber besser wäre es in meiner C# Applikation.
Wo ist das Problem: 2 hex Zeichen ergeben ein binäres Byte. Zum Beispiel: "3B" ergibt 3*16 + 11 = 59 "FF" ergibt 15*16 + 15 = 255 Das musst du nur noch programmieren. Und welch ein Glück C# ist eine PROGRAMMIERSPRACHE!
Was hindert dich daran, das zu programmieren. Einfach zeilenweise einlesen und dekodieren. Früher (TM) gabs dafür sscanf(), das konnte sogar hex-kodierte ascii Zeichen lesen. Ich bin ganz sicher, das gibts mit C# auch noch. Ansonsten hab ich ja schon einen Link gepostet da oben....
hier steht doch FixFertig wie es geht Beitrag "Re: Intel-Hex in .NET einlesen." ich mein, noch mehr vorkauen geht wohl nicht mehr..
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.