Hallo Ich möchte kleine WAV Dateien mit dem PICkit2 in einem 24LC1025 EEPROM speichern. Wenn ich eine hex-datei eines PIC-Programmes in das PIC-Kit lade, wird mir der Hex Code im Fenster angezeigt und ich kann mit dem "write-befehl" ins EEPROM schreiben. Ein anschliessendes auslesen des EEPROMS zeigt die korrekten Daten wieder an. Das schreiben ins EEPROM funktioniert also. Möchte ich nun die Hex-Datei des Wave Files, oder auch die nach RAW konvertierte RAW-Datei in das PIC-Kit laden, so erscheint ebenfalls die Meldung "Hex file sucessfully imported", aber im Fenster steht nur FF und es wird nichts ins EEPROM geschrieben bzw. nur FF. Im Anhang zwei Screenshoots des PICkit2. Was mache ich falsch? Mit schönen Grüßen Manfred
Schau dir mal den Inhalt der .hex files in einem Texteditor an.
Hallo Toby. So sieht das im Editor aus (siehe Screenshots): Und nun? 1. Wie bekomme ich nun die .WAV bzw. .RAW Datei in das PICkit2 und dann auch ins EEPROM? 2. Warum zeigt PICkit2 "hex file sucessfully imported" an, wenn nichts imported wurde? Grüße Manfred.
:
Bearbeitet durch User
Manfred F. schrieb: > Wie bekomme ich nun die .WAV bzw. .RAW Datei in das PICkit2 und dann > auch ins EEPROM? Vielleicht indem du sie als Binärdatei lädst - ich weiss nicht ob PIckit das kann, Programmer können das i.a., z.B. mein GALEP und andere. Georg
Hallo Georg Der Befehl im PICkit2 heisst "Import Hex/Bin". Ich kann leider davon keinen screenshoot machen. Muss die Datei für das PICkit2 im Intel Hex Format vorliegen? Wenn ja, wie kann ich die *.Wav bzw. *.Raw-Datei dahin konvertieren? Lg Manfred
Manfred F. schrieb: > Muss die Datei für das PICkit2 im Intel Hex Format vorliegen? Ein BIN-Datei sicher nicht. Die Frage ist wie man BIN statt HEX auswählt, ich habe keinen Pickit - Korrektur ich habe einen Pickit3. Georg
Manfred F. schrieb: > PIC-Programm_im_Editor.jpg > > WAV-RAW-Datei_im_Editor.jpg Hallo Georg Auswählen kann man da nix. Wenn man sich die beiden Screenshots aus dem Ediotor ansieht, dann ist die Programmdatei im Intel-Hex-Format. Die liest das PICkit problemlos ein. Die RAW Datei ist einfach nur RAW und PICkit liest die nicht ein. Also müsste ich doch die RAW-Datei mit irgend einem Tool nach Intel-Hex konvertieren. Bisher habe ich leider noch nichts im Web gefunden. Lg Manfred
:
Bearbeitet durch User
Manfred F. schrieb: > Bisher habe ich leider noch nichts im Web gefunden Dann google mal "bin to hex file". Es gibt einige, meistens uralt, z.B. noch als DOS-Programm, macht aber ja nix. Dass ein Programmer BIN anbietet, aber dann nicht kann glaube ich nicht so ohne weiteres, aber das zu überprüfen ist mir zu mühsam und bringt ja nichts. Georg
Manfred F. schrieb: > Also müsste ich doch die RAW-Datei mit irgend einem Tool nach Intel-Hex > konvertieren. Bisher habe ich leider noch nichts im Web gefunden. Selber schreiben? Ist nicht so schwer, das Format findet man. Im Wesentlichen: Schleife über: - n Bytes lesen aus der Quelle (binär) dann schreiben: - ein Doppelpunkt - 1 Byte für die Anzahl der Daten (n) in einer Zeile - Highbyte und Lowbyte der Speicheradresse - Kennung (00 für Datensatz) - byteweise die Daten nacheinander entsprechend der angegebenen Anzahl - ein Byte CRC, das Lowbyte der negierten Summe der ganzen Zeile - neue Zeile und Schleife wiederholen Und als allerletzte Zeile den Epilog: - :00000001FF Aber dir ist schon klar, dass in den Speicher bei 8kHz Abtastfrequenz und 8Bit Mono Audiosignal nur rund 16s in den 24LC1025 passen?
Manfred F. schrieb: > Und nun? > > 1. Wie bekomme ich nun die .WAV bzw. .RAW Datei in das PICkit2 und dann > auch ins EEPROM? hex ist Intel hex Format. Prozessoren werden nicht wie ein Eprom programmiert daher nimmt man dieses Format https://de.wikipedia.org/wiki/Intel_HEX Du brauchst, wie schon beschrieben, einen Konverter. > > 2. Warum zeigt PICkit2 "hex file sucessfully imported" an, wenn nichts > imported wurde? Weil das importieren ja geklappt hat ;-).
Hallo georg schrieb: > Dass ein Programmer BIN anbietet, aber dann nicht kann glaube ich nicht > so ohne weiteres, aber das zu überprüfen ist mir zu mühsam und bringt ja > nichts. Ich habe nun einfach mal die Sound.RAW in Sound.Bin umbenannt und siehe da, es klappt! PICkit2 liest die Datei ein, zeigt sie im Fenster an und programmiert auch das EEPROM korrekt. Danke Georg für den Denkanstoss. HildeK schrieb: > Aber dir ist schon klar, dass in den Speicher bei 8kHz Abtastfrequenz > und 8Bit Mono Audiosignal nur rund 16s in den 24LC1025 passen? Ja, das ist mir Klar. Ich habe im Moment zwei EEPROMs am I2C-Bus eines PIC16F1825 und könnte noch auf max. vier EEPROMs erweitern. Für ein paar Geräusche im Modellbaubereich reicht das voll und ganz. Schönen Dank an Alle. Schöne Grüße Manfred
:
Bearbeitet durch User
Hallo Das programmieren von EEPROMs klappt nun dank Eurer Hilfe bei mir mit dem PICkit2. Allerdings kann ich beim programmiern keine Optionen angeben. Es gibt lediglich einen "WRITE" Button. Die Daten werden immer an den Beginn des EEPROMS, also nach 00000h geschrieben. Dadurch kann ich kaum mehrere Dateien in das EEPROM schreiben. Die einzige Möglichkeit die ich sehe, ist die einzelnen Dateien vor dem Brennen aufwendig in einem HEX-Editor zusammenzubasteln. Ich wünsche mir zB: Prog File.bin nach 01FF3h. Dann könnte man nach und nach mehrere Dateien an verschiedene Stellen des EEPROMs schreiben. Nun meine Fragen: 1. Wie macht Ihr das? 2. Welche Programmiergeräte nutzt Ihr zum programmieren von seriellen I2C EEPROMs und was kosten die? 3. Gibt es Selbstbauprojekte für solch einen EEPROM-Brenner? Mit schönen Grüßen Manfred
:
Bearbeitet durch User
Mach aus Deinen verschiedenen Dateien eine (1) Datei durch aneinanderhängen, Du musst halt wissen und in Deiner Anwenung programmieren, bei welcher Adresse im EEPROM die jeweiligen Abschnitte anfangen und aufhören.
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.