Hallo es gibt so weit ich weiß die Möglichkeit den Flashspeicher nach dem Flashen des Programms später nochmal nur wortweise zu beschreiben natürlich im Modus unprotected. Kann mir jemand sagen wie ich mit MpLap eine speicherzelle beschreibe ?? Danke für eure hilfe
Reneee wrote: > Hallo > > es gibt so weit ich weiß die Möglichkeit den Flashspeicher nach dem > Flashen des Programms später nochmal nur wortweise zu beschreiben Generell nein. D.h. generell gibt es keinen Schreibmodus, der bei allen Flash gleich ist. Um also eine Aussage zu Deinem speziellen Flash-IC zu treffen, müßtest Du erstmal mit der genauen Typenbezeichnung rausrücken. Oder am einfachsten, selber mal in dessen Datenblatt schauen. Peter
Hallo ich benutze den PIC 16F616. Ich meine wenn ich mit MPLAP den Controller auslesen kann ich im Programmmemory ja eine Zelle ändern und den Controller neu flashen. Ich sollte aber nur eine Speicherzelle beschreiben und nicht wieder den ganzen Bereich !? gruß rene
> Ich meine wenn ich mit MPLAP den Controller auslesen kann ich im > Programmmemory ja eine Zelle ändern und den Controller neu flashen. Das ist kein Argument dafür, daß sich bei dem Controller Flashzellen einzeln beschreiben lassen. Das rauszubekommen, mußt du schon das Datenblatt lesen...
In der Regel löschen und beschreiben Programmer einen Chip komplett, was anderes macht auch wenig Sinn. Ich wüßte auch keinen Flash der wortweises Löschen erlaubt, manche können einzelne Pages löschen. Wenn Du nur ein Wort ändern willst, mußt Du den Chip auslesen, mit nem Hexeditor ändern und den Chip neu brennen. Allerdings ist der bessere Weg, daß man die Änderung im Quelltext macht, neu compiliert und brennt. Peter
Laut der Memory programming specification ist eine ONE-WORD PROGRAMMING möglich. Mit welchem Programm könnte ich dann diese Speicherzelle programmieren. Oder müßte ich mit einem anderen Controller so Protokoll zum Programmierung nachbilden ?
>Laut der Memory programming specification ist eine ONE-WORD PROGRAMMING >möglich. Das stimmt. Aber wo ist der Befehl ONE-WORD ERASE ? Den gibt es nicht. ONE-WORD PROGRAMMIMG löscht die Speicherzelle vor der Programmierung nicht. Eine programmierte Speicherzelle kann nur über Chip-Erase oder Bulk-Erase gelöscht werden. Und die löschen immer den gesamten Chip. Also müssen auch immer ALLE Speicherzellen neu programmiert werden.
Wenn jetzt aber nach dem Flashen noch einige Speicherzellen frei sind. Das im Moment der Fall ist. Könnte ich dann zumindest die freien Speicherzellen einzeln doch programmieren oder?
>Wenn jetzt aber nach dem Flashen noch einige Speicherzellen >frei sind. Das im Moment der Fall ist. Könnte ich dann zumindest die >freien Speicherzellen einzeln doch programmieren oder? Ja, bau dir einen eigenen PIC Prommer und programmiere ihn für deine spezielle Anwendung. Mit MPLAB geht das nicht.
Ich hab in der Hinsicht keine Erfahrung kann ich habe das PICKit 1 sowie eine ICD2 Box, kann ich damit irgend etwas anfangen bezüglich der Problematik ?
Die Idee dahinter ist ein Projekt im Studium. Es gibt eine Software für einen Controller, bzw. ein Hexfile. Die software ist fertig und darf nicht mehr neu geflasht werden. An einer freien Stelle im Flash würden wir dann eine Seriennummer nachträglich speichern und die fertige software greift dann auf diese vordefinierte Speicherstelle zu .!? :-)
>bzw. ein Hexfile Dann nimmst du dieses HEX-File, änderst die Seriennummer an der entsprechenden Stelle im HEX-File (die Adresse ist ja hoffentlich bekannt !?), berechnest evtl. die Checksumme neu und brennst die PICs damit. Das ist leichter als seinen PIC Prommer dazu zu überreden nur einzelne Speicherzellen zu programmieren.
Mh ja sowas in der Art hatte ich mir auch schon mal überlegt. Wäre schon eine alternative. Aber es geht hier auch bisschen um Prozssoptimierung das wenn die Controller schon fertig programmiert angeliefert werden sozusagen und der Flashvorgang von nur einer Speicherzelle im vergleich zum gesamten flashspeicher natürlich zeit und geld spart. Müßte man dann für die andere Lösung einen alternativen Programmer bauen und die entsprechende software dann noch schreiben ?
Dann häng doch mal den ICD2 an den Compi und starte MPLAB. Jetzt den ICD2 als Programmer anmelden und die Eigenschaften-Seite öffnen. Wenn mich nicht alles täuscht sollte dann der zu programmierende Speicherbereich (Anfangs- und Endadresse) auf einem Tab wählbar sein. Ich kann's leider nicht ausprobieren weil ich den ICD2 nicht hier habe.
Hallo Dieter habs ausprobiert und funktioniert einwandfrei. War doch so einfach. Alles klar. Danke
Du kannst im MPLap ein Seriennummernfile generieren (SQTP File) und dann beim Programmieren nutzen, so kannst du deine Serienummern automatisch beim Flashen mit programmieren lassen. Funktioniert super.
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.