Forum: Mikrocontroller und Digitale Elektronik T89C51CC01 Problem beim Programmieren des internes Flash


von Eugen Mailaender (Gast)


Lesenswert?

Hallo alle zusammen,
ich habe folgendes Problem. Ich versuche seit Tagen, in meinen
T89c51cc01 von meiner Applikation aus das interne Flash zu
programmieren. Als Testprogramm versuche ich dabei, den Speicherbereich
von 2000H bis 7000H mit einem Muster zu beschreiben. Zum programmieren
verwende ich die Flash Api funktion des Bootloaders V1.4. Es werden
jeweils pages zu 128 Bytes programmiert. Dabei treten folgende Probleme
auf:
1. zu ca. 90 % funktioniert alles normal.
2. ab und zu bleibt das Programm komplett haengen (Kommt scheinbar  aus
Api-funktion nicht zurueck.
3. Ueberschreibt im schlimmsten Falle sogar sich selbst.
4. Einmal ist es passiert, dass die SecurityBits veraendert wurden und
ich von FLIP aus keinen Zugriff zu den Daten mehr bekam.

Das seltsame ist wie gesagt, dass das Programm sich nicht dauernd
gleich verhaelt.

Vielleicht hat jemand von euch aehnliche erfahrungen gemacht und kann
mir einen Tip geben.

Vielen Dank im Voraus.
Gruesse
Eugen

von Peter D. (peda)


Lesenswert?

Hast Du alle Interrupts disabled ?


Peter

von Eugen Mailaender (Gast)


Lesenswert?

Ja, vor dem Aufruf der Apifunktion wird EA=0 gemacht.

von Thomas Zepf (Gast)


Lesenswert?

Erratas lesen. Viele der Atmels haben Probleme mit einer PageSize von
128 Bytes. Probier mal eine Pagesize von 16 aus.

Thomas

von Eugen Mailaender (Gast)


Lesenswert?

Hallo Thomas,
Vielen Dank fuer deinen Tip. Ich habs mit Pagesize von 16 versucht und
es klappt jetzt. Neugierig wie ich bin, habe ich es bis 64 Bytes
versucht und auch da klappt es immer noch, nur bei 128 laeuft es
manchmal schief.
Danke nochmals und

Gruesse
Eugen

von Thomas Zepf (Gast)


Lesenswert?

Mein 89c51RC2 und der RB2 konnten damals nur 16 bytes.
Dann haben die wohl bei Atmel inzwischen etwas dazugelernt :-)
Seitdem mache ich halt alles mit 16 Bytes.

Das steht auch in einem der vielen Eratas den IAP modes.

Thomas

von Eugen Mailaender (Gast)


Lesenswert?

Hallo Thomas,

Um ganz auf Nummer sicher zu gehen, werde ich in meiner Applikation
trotzdem nur mit Pagelaengen von 16 Bytes arbeiten, man weiss ja nie.

Eugen

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.