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.

MSPM0L1117: Flash Protection Behavior – MSPM0L1117

Part Number: MSPM0L1117
Other Parts Discussed in Thread: MSPM0G3519

Tool/software:

Hello TI,

I am part of the Lauterbach development team, working on flash programming support. We are observing unexpected behavior with the flash protection registers on the MSPM0L1117 device.

According to the reference manual (Multi-bank system):

  • CMDWEPROTA should protect the first 32 sectors of Bank 0.
  • CMDWEPROTB protects Bank 0 sectors 32–255 (bits 4 and above) and Banks 1–N starting at sector 0.

However, on MSPM0L1117 device, as a workaround, we are unprotecting all sectors using CMDWEPROTB, which allows successful flashing.

Could you please clarify:

  • Is there a known erratum regarding CMDWEPROTA on MSPM0L1117?
  • Are there any recommended steps or alternative approaches to handle sector protection correctly on this device?

Best Regards,
Dhia

  • Hi Dhia,

    What issues are you seeing with regards to dynamic write protection?

    Do the following screenshots from the TRM help with how to handle dynamic write protection?

    Best Regards,
    Brian

  • Hello Brian,

    Yes, I’m familiar with the behaviour described in Sections 6.6.55 (CMDWEPROTA) and 6.6.56 (CMDWEPROTB).
    However, on the MSPM0L1117 we are testing, the observed behavior does not match the documentation.

    According to the TRM:

    • For a multi-bank system, Bank 0 sectors [0–31] should be controlled by CMDWEPROTA, and
    • CMDWEPROTB should apply from sector 32 onward (bits 3:0 ignored for Bank 0).

    Only when we unprotect using CMDWEPROTB does programming/erasing succeed, even for Bank 0 sectors.

    As a workaround, I’m currently unprotecting all sectors through CMDWEPROTB, which works reliably.
    However, this contradicts the expected behaviour per the TRM, so I’d like to confirm whether this is a known erratum or a device-specific behaviour on the MSPM0L1117.

    Best Regards,
    Dhia

  • Hi Dhia,

    It looks like the MSPM0 SDK treats this device like it does not have the CMDWEPROTA register. I am checking internally to verify whether or not this register exists in this device.

    Best Regards,
    Brian 

  • Hi Dhia,

    I have confirmed that this device only has CMDWEPROTB. I will work with the team to update our documentation. I’m sorry for any confusion this has caused.

    Best Regards,
    Brian

  • Hello Brian,

    Thanks again for clarifying the behaviour on the MSPM0L1117.

    Are there other MSPM0 or multi-bank devices that only have CMDWEPROTB? Is there a recommended way to quickly determine, for a given device, whether CMDWEPROTA exists?

    This will help us handle flash protection consistently across multiple devices.

    Best Regards,
    Dhia

  • Hi Dhia,

    The MSPM0G3519 and devices released after do not have CMDWEPROTA and no M0 devices have CMDWEPROTC.

    Best Regards,
    Brian