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
Hast Du alle Interrupts disabled ? Peter
Ja, vor dem Aufruf der Apifunktion wird EA=0 gemacht.
Erratas lesen. Viele der Atmels haben Probleme mit einer PageSize von 128 Bytes. Probier mal eine Pagesize von 16 aus. Thomas
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.