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.

MSPM0L1228: Flash bank swap functionality requires CSC?

Part Number: MSPM0L1228
Other Parts Discussed in Thread: MSPM0L2228, MSPM0L1227, MSPM0L2227,

Tool/software:

For MSPM0L1227/MSPM0L1228/MSPM0L2227/MSPM0L2228, according to the Technical Reference Manual, it looks like these devices do not support the SYSCTL.FLBANKSWAP register, and instead use SYSCTL.SECCFG.FLBANKSWP. The documentation for FLBANKSWP seem to imply that the CSC must be present to set the flag then invoke INITDONE for the change to take effect.

I have a couple questions about the bank swap functionality:

  • Is it possible to use the flash bank swap functionality without CSC? That is, is it possible to use the direct bank swap functionality of FLBANKSWAP on other L-series devices, where enabling bank swap takes effect immediately without having to invoke INITDONE+SYSRST?
  • If the bank swap takes effect immediately upon INITDONE+SYSRST, does this mean that CSC must be duplicated to address zero of both flash banks?
  • If invoking INITDONE causes SYSRST, under what situation does the security status (SECSTATUS) get reset? Does it get reset via BOOTRST?
  • What is the effect of FLBANKSWPPOLICY? Can it be set by CSC, or is it only used by the boot ROM code?

Thanks!

  • Hi, Gavin

    it looks like these devices do not support the SYSCTL.FLBANKSWAP register, and instead use SYSCTL.SECCFG.FLBANKSWP.

    From Lx22x's TRM https://www.ti.com/lit/ug/slau847d/slau847d.pdf, 2.7.51 FLBANKSWP Register

    It's SYSCTL.FLBANKSWAP register.

    For SYSCTL.SECCFG.FLBANKSWP, it's from MSPM0's SDK's SYSCTL register.

    For more details, I will update to you tomorrow.

    Regards,

    Helic

  • Hi, 

    Is it possible to use the flash bank swap functionality without CSC? That is, is it possible to use the direct bank swap functionality of FLBANKSWAP on other L-series devices, where enabling bank swap takes effect immediately without having to invoke INITDONE+SYSRST?

    Don't need a CSC. But in TRM 6.5.1, need to handle SWAP function by customer's code.

    CSC is used for security functions. If there is no security requirement, you can directly enter the application code through reset.

    Please refer to MSPM0 L TRM 4 Security: https://www.ti.com/lit/ug/slau847d/slau847d.pdf

    Also, please refer to TRM 6.5.1 Bank Address Swapping to meeting bank swap condition.

    Also, please wait for the future dual bank swap guide.

    Regards,

    Helic

  • Hi ,

    I tried to use driverlib functions DL_SYSCTL_enableFlashBankSwap() and DL_SYSCTL_executeFromUpperFlashBank() but nothing happens after calling those functions: execution continues from the same flash bank.

    If there is a guide/example that shows how to use the flash bank swapping feature without CSC, that would be greatly appreciated.

    Thanks,

    Gavin

  • Hi, 

    If there is a guide/example that shows how to use the flash bank swapping feature without CSC, that would be greatly appreciated.

    We don't have this kind document now and it will be released in the future (TBD).

    Regards,

    Helic