This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

F28M35 Flash problem

Other Parts Discussed in Thread: SYSBIOS, CONTROLSUITE

Hello,

for about 5 months we are working on a custom board with f28m35 device. Until now there was no problem with flash programming, but today some errors occured during programming and afterwards it was not possible to erase the N flash sector (because of CSM module). We have exchanged the device on the board to a new one and after several programming cycles we have the same situation. Error during programming and no possibility to use the device any more. There are many possibilitis for the fault during programming (perhaps our xds100 is broken, perhaps some contact is not good, etc.). But we can't debug the error when the devices are destroyed after few programming cycles. Thus, I have two questions:

1. Is there any possibility to recover flash after programming error? I can't see the "depletion" option in the flash plugin.

2. When will these devices be available to purchase?

Best regards,

Kamil

  • Kamil,

    There is no depletion concept in F28M35x Flash devices. 

    You might have programmed password locations and hence not able to erase the Flash anymore.  You can open the debugger memory window and see what values you have programmed in the password locations and copy them to Key registers in the plugin and unlock the device before trying to erase.

    I will let somebody from marketing team to reply on #2.

    Thanks and regards,

    Vamsi

  • Reposting same reply as previous reply's font was small for some reason....

    Kamil,

    There is no depletion concept in F28M35x Flash devices.

    You might have programmed password locations and hence not able to erase the Flash anymore.  You can open the debugger memory window and see what values you have programmed in the password locations and copy them to Key registers in the plugin and unlock the device before trying to erase.

    I will let somebody from marketing team to reply on #2.

    Thanks and regards,

    Vamsi

  • Thanks for a quick reply. The code and cmd file were not changed. It worked, than error during programming (I don't remember the error message). Afterwards CSM problem appeared. We have changed the processor. Several times programming worked fine, and then, after xds100 connection error, another flash got locked. I await reply about purchase possibility. We have short deadlines and only one sample more (waiting for a new board at the moment).

  • Is it possible that some project misconfiguration or code caused programmer malfunction?

  • Reading CSM locations gives 0xFFFFFFFF and it is not possible to unlock the flash with this value. Is it possible to read the CSM password when it is saved once?

    Some recent changes were made to SYSBIOS config file, but not in the CMD file (where CSM locations are defined and do not overlap other sections). In the map file, CSM locations are not used.

  • Kamil,

    Until you program PSWDLOCK fields in M3 OTPSECLOCK location in OTP, you will be able to see the passwords programmed in the Flash in the debugger window.

    Looks like you noticed that the password locations are all 0xFFFFFFFFs.  What error message did you get when you clicked on unlock button with the Key fields loaded with all 0xFFFFFFFFs?

    Is this M3 core or C28x core that is giving this problem?

    Did you program any fields in OTPSECLOCK location in OTP?  If you are able to see the passwords in Flash, then you might not have programmed this.  But could you confirm whether you are able to see the password locations as all 0xFFFFFFFFs or not in memory window?

    Roughly how many programming cycles did you do before you see this issue?

    Instead of using CCS plugin, will you be able to use Flash API example provided in controlsuite to erase the Flash and check if you are able to erase?

    What are the changes that you made in SYSBIOS config file?

    Thanks and regards,
    Vamsi

     

  • Hello,

    today I have checked all again, and information on FFs in the CSM locations was wrong. There are 0x00000000 values in these locations.

    It is still possible to erase all flash secors B-M with the ccs plugin. What more can I do with the API?

    Unlocking with the value 0x00000000 gives: "Cortex_M3_0: Performing Security Operation...
    Cortex_M3_0: Device unlock failed. Device is still locked. Please check the provided password."

    Roughly 1000 cycles, but than I have exchanged the device, several programmings went fine and then we got the same problem.

    In the SYSBIOS cfg file I have removed a static tasks (one of four static tasks), then I have made the task dynamic and gave more heap space. Afterwards the error occurred. The new code was working a few times on the new (exchanged) device and the problem appeared again. I will switch back to the old version on the new board (next week).

    We use external flash for data storage. Thus, only stack overflow, etc. could fail. Flash is not explicitely written by our code. The first was xds100 connection error before the problem occurred. 

    If there is anything more I can do in order to recover the flash, or something that I can check before I lock another device, please let me know.

    Thanks and regards.

  • Content of the flash is:

    0x00200000: 00000000 00000000 00000000 00000000 FFFFFFFF FFFFFFFF 00000000

    0x00680800: FFFFFFFF    --------    --    FFFFFFFF    FFFFFFFF    FFFFFFFF



  • Kamil,

    I see that the Zone1 password locations are programmed with all 0x00000000s.  This tells that the device is permanently locked.  Programming 0s in password locations locks the device permanently.   

    I see that the Zone 1 GRABSECT locations are also programmed to zero which makes Flash sectors inaccessible.

    Did you check Zone 2 password locations and Zone2 GRABSECT locations contents as well?

    Thanks and regards,
    Vamsi

  • Zone 2 is not locked, but as you mentioned, zone 1 grabbed all the sectors.

    Also, Zone 1 GRABRAM is zero, but I am able to run programs from RAM. Unfortunately, my code is too big to run from RAM.

  • Is it possible to permanently disable CSM when I get a new device?

  • Hi Kamil,

    There is no option to permanently disable the security on this device. From your earlier messages in this post, it appears that CSM passwords for Zone1 have been programmed as 0x00000000 which locks the Zone1 permanently and since GRABSECT are also programed as 0x00000000 which means all the sectors are disabled. I am afraid that nothing much can be done on this device for Flash on M3 side.

    Regards,

    Vivek Singh

  • No good news, but thanks a lot for your suggestions. Now we know for sure what the problem is, but we don't know the cause.

    I will have a new board soon, I will also change xds100.

    Could it be a problem with CCS or USB on the laptop side?

    Is it sufficient to remove these locations from CMD to protect them from being written? Any other suggestions for checking the code? At first I will try to run the last good version from the archive.

    What about flash plugin settings?

    Regards,

    Kamil

  • Kamil,

    I don't think it is a CCS/USB/laptop issue.

    Coming to plugin settings, one possibility might be that you entered all zeros in the password locations of the plugin and program them by mistake.  Did you do this?

    What are you trying to do by doing program/erase cycling for 1000 times?  Are you programming same code/data at same Flash locations in all these 1000 iterations of program/erase? OR are you fixing some code during development and hence programming/erasing these many times to test the new code?  OR are you using the Flash for data storage and hence program/erase the flash multiple times?  I doubt your application is somehow programming the password locations. 

    Thanks and regards,
    Vamsi