Gast
#1767662
Hallo an alle 8051 Spezialisten, ich schreibe gerade eine Versuchssoftware für den AT89C51RC2 in Assembler, mit der ich aus der Anwendung heraus ein Byte im Flash verändern will. Der µC soll also ein Byte seines eigenen Flash umprogrammieren. Im Datenblatt von Atmel ist beschrieben, daß dies über eine API-Funktion möglich ist (Program Data Byte). Welche Register mit welchen Werten beschrieben werden müssen ist soweit klar (R1=02h, Acc=Data-Byte, DPTR=Adresse im Flash). Doch mit welchem Befehl, bzw. SFR-Register initiere ich den Schreibprozess? Das Datenblatt spricht von: "All calls are made through a common interface, PGM_MTP. The programming functions are selected by setting up the microcontroller’s registers before making a call to PGM_MTP at FFF0h. Results are returned in the registers". Das Problem für mich ist, wie führe ich den Call nach PGM_MTP aus? Atmel hat zwar Beispielcode in C, aber ich arbeite in ASM und verfüge über keinen C-Compiler um mir die Beispiele zu kompilieren und den ASM-Code anzusehen. Wäre sehr dankbar für einen Tipp. Grüsse