Ich arbeite auf dsPic33EP256MC502 Anwendung, ich muss auf Flash schreiben, um die Konfiguration zu speichern. Alle Arbeiten außer dem Löschen der Seite lösche ich zu viel oder zu viel.dsPic33 Seite löschen Größe
Datenblatt sagen Seitenlöschen Seitengröße „1024 Anweisungen“ (3072 Bytes) ist Da der Befehl 24 Bits + phantom Byte ist, Anweisung ist 32 Bit ausgerichtet Wir müssen zwei Adreßeinheit eine Anweisung
Beispiel zur Adresse:
0x000000: [Phantom] [Anweisung1] [Anweisung1] [Anweisung1]
0x000002: [Phantom] [Anweisung2] [Anweisung2] [Anweisung2]
0x000004: [Phantom] [Anweisung3] [Anweisung3] [Anweisung3]
0x000006: ...
A/Naiver i berechnen 1024 Anweisungen Seitengrße wie:
- 4096 Bytes (phantom Byte enthalten) [1024 Anweisungen x 4 Byte]
- 3072 utile bytes. [4096 Byte x 0,75]
- wir 2048 Adreßeinheit [4096/2] eine Seiten So müssen Adresse: 0x800-Adresse pro Seite
B/ich einen empirischen Test, um zu überprüfen und ich fand 0x600-Adresse pro Seite, bedeutet 1024 Anweisungen ist:
- 0x600 ist 1536 Adresse
- 3 072 Bytes (phantom Byte enthalten) [1536 x 2 Bytes]
- 2304 utile Bytes [3072 Byte x 0,75]
- I gefunden erase Seite ist 768 Anweisungen[3072/4]
Ich verstehe nicht, wie das Datenblatt zählen Anweisungen mit oder ohne das Phantom-Byte, drei oder vier Bytes? Wie viele Adressen pro Seite sind verfügbar?
Kann mir jemand helfen, meinen Fehler zu verstehen und/oder einen guten Standpunkt zu bekommen?