2005-03-24 03:49 AM
2005-03-21 01:57 AM
ST10F276 doesn't ''want'' erase, read and write Flash Memory, after executing following commands from IFlash:
FCR0H |= 0x0100; /* set protection operation */ FARL = 0xDFB8; /* load FNVAPR0 */ FARH = 0x000E; FDR0L = 0xFFFC; /* DBGP = ACCP = 0 */ FCR0H |= 0x8000; /* operation start */ I've set full protect for ST10F276, but I want unprotect it. Is it possible to unprotect ST10F276 for this case? In my opinion this can be done in following way: 1. Load flash programming subroutine to IRAM 2. Run this subroutine to program IFLASH with following code: FCR0H |= 0x0100; /* set protection operation */ FARL = 0xDFB8; /* load FNVAPR0 */ FARH = 0x000E; FDR0L = 0xFFFF; /* DBGP = ACCP = 1 */ FCR0H |= 0x8000; /* operation start */ 3. Run programm from IFLASH to erase the IFLASH. Am I right?2005-03-21 04:20 AM
No, unforunately you're wrong. You lost the use of the flash forever. To unprotect the IFLASH the code must be run from the IFLASH itself, so if you have not a particular procedure that can be activated already stored in the IFLASH, you won't be able to unprotect it.
Bye. [ This message was edited by: linusplus on 22-03-2005 10:39 ]2005-03-24 03:49 AM
Hi,
linusplus, you are right! When both ACCP and DBGP are cleared, there is no possibility to read, erase the IFlash if the user did not put inside the code the Unprotection commands. Flash Unprotection is only possible if the user have put these unprotection commands inside its application with a special sequence to trigger the unprotection. In no way ST can unprotect a device that have been Access Protected. CIAO [ This message was edited by: Najoua on 24-03-2005 17:21 ]