As part of my design, I am implementing flash emulated EEPROM in the 'f28075. It works perfectly when the device is unsecured. I am now trying to lock down the chip in preparation for customer delivery. I have setup the DSCM with passwords and made all Flash sectors, LSx Ram and Dx Ram secured to the same zone (Zone 1). When I run the program, the Flash write portion of my program does not write anything to flash.
Debugging Observations:
- "Fapi_issueProgrammingCommand()" is used in the flash_write() routine.
- The "Fapi_issueProgrammingCommand() returns a status of "Fapi_Status_Success" when executed, however examination of Flash shows that nothing has been written.
- Flash reads (using "Fapi_doMarginRead()") seem to work properly.
- All Flash API functions and any routines that contain Flash API calls are copied to RAM, and those ram functions have been mapped to secure RAM (RAMLSx).
- If I unlock the chip using Passwork Match Flow, then flash writes operate properly.
Documentation for the DCSM and Flash API indicate that if the flash API routines are executed out of secure RAM, and that RAM is located in the same zone as the secured flash sectors, then the device does not have to be unlocked.
Is it possible to execute flash writes from secure RAM to secure Flash (both located in the same DCSM zone), without having to unlock the device?