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.

CCS/MSP432P401R: Error initializing flash programming: Your XMS432P401R material is no longer supported.

Part Number: MSP432P401R
Other Parts Discussed in Thread: UNIFLASH

Tool/software: Code Composer Studio

Hi there,

I ran the sample code provided in source explorer and it ran well when the frequency was 8.33MHz.

#include <ti/devices/msp432p4xx/driverlib/driverlib.h>

/* Standard Includes */
#include <stdint.h>
#include <stdbool.h>

int main(void)
{
/* Halting the Watchdog */
MAP_WDT_A_holdTimer();

/* Configuring GPIO as an output */
MAP_GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);

//![Simple FPU Config]
/* Enabling FPU for DCO Frequency calculation */
MAP_FPU_enableModule();

/* Setting the DCO Frequency to a non-standard 8.33MHz */
MAP_CS_setDCOFrequency(8330000);
//![Simple FPU Config]

/* Configuring SysTick to trigger at 4165000 (MCLK is 8.33MHz so this will
* make it toggle every ~0.5s) */
MAP_SysTick_enableModule();
MAP_SysTick_setPeriod(4165000);
MAP_Interrupt_enableSleepOnIsrExit();
MAP_SysTick_enableInterrupt();

/* Enabling MASTER interrupts */
MAP_Interrupt_enableMaster();

while (1)
{
MAP_PCM_gotoLPM0();
}
}

void SysTick_Handler(void)
{
MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0);
}

However when I tried to boost the frequency to 48MHz which is the maximum frequency for the DOC, it failed and this is the error:

CORTEX_M4_0: * WARNING *: The connected device is not MSP432P401R
CORTEX_M4_0: GEL Output: Memory Map Initialization Complete
CORTEX_M4_0: GEL Output: Halting Watchdog Timer
CORTEX_M4_0: Error initializing flash programming: Your XMS432P401R material is no longer supported. We recommend you moving to production-quality MSP432P401R/M silicon by ordering samples at www.ti.com/product/MSP432P401R.
CORTEX_M4_0: Loader: One or more sections of your program falls into a memory region that is not writable. These regions will not actually be written to the target. Check your linker configuration and/or memory map.

I had the same issue before and the only thing that most people recommended was just to buy a new one, which is absolutely ridiculous. I try to use Uniflash to just erase the chip but I don't know exactly what to do. Is there anyone telling me how to just make the MSP432P401R work as normal? I tried faculty reset as the manual indicated but it didn't work at all.

Also why was the MCU bricked when I tried 48MHz? if I still want to have my DOC runs at 48MHz what should I do?

Please let me know asap because the due day is coming.

Keith 

  • To run at 48MHz, you need to set the flash wait states [Ref data sheet (SLAS826G) Sec 5.8].  Something like:

    >MAP_PCM_setCoreVoltageLevel(PCM_VCORE1);
    >MAP_FlashCtl_setWaitState(FLASH_BANK0, 1);
    >MAP_FlashCtl_setWaitState(FLASH_BANK1, 1);

    I lifted these from example cs_hfxt_start here:

    http://dev.ti.com/tirex/explore/node?node=AIaHSvjn.KjUNRDtdnUpsg__z-lQYNj__LATEST

    The VCORE line may not be necessary (VCORE may already be high enough) but it's probably a good idea anyway.

  • Hi Bruce,

    Do you have any idea how to un-brick the MCU? I think there should be a way to make it work other than just buying a new chip or even the whole launchpad.

  • You probably have to do a Factory Reset, part of which is a Mass Erase to clear out your previous code.

    I use the sequence described in the Launchpad User Guide (SLAU597B) Section 5. It's a bit arcane, so just follow the steps.

  • I tried it but it did not work at all. I also tried to use Uniflash but when I performed the reset or mass erase an error popped out and said the device was not MSP432P401R. 

  • Is this a blackboard?

  • If you refer to the color of the launchpad it is the red one. I believe it is revision 2.0

  • The example was using an external clock. Does it work for the internal DCO as well?

    If so will I place these three lines like this?

    MAP_FPU_enableModule();

    MAP_CS_setDCOFrequency(36000000);

    MAP_PCM_setCoreVoltageLevel(PCM_VCORE1);
    MAP_FlashCtl_setWaitState(FLASH_BANK0, 1);
    MAP_FlashCtl_setWaitState(FLASH_BANK1, 1);

    MAP_SysTick_enableModule();
    MAP_SysTick_setPeriod(1);
    MAP_Interrupt_enableSleepOnIsrExit();
    MAP_SysTick_enableInterrupt();

  • Add those lines before you change the DCO.

    The rule is that you need to set the wait states before you change the system clock. The other example started up the external clock, but didn't attach it to the system clock until after setting the wait states. In your case, the DCO is already the system clock, so that will change immediately.

    Did you succeed with the factory reset? I've seen sporadic reports from people who said it didn't work for them, but it has always (sample size maybe 10) worked for me, and I've done some cruel things to my MCU. Corollary: I don't know an alternate plan.

  • Bruce,

    No the factory reset doesn't work at all. At this point I am just gonna buy another one because there is no time for me to hop onto another board.

    For the system clock is it possible to have the clock ticks every 27.7ns?  To do this I have to change the frequency to 36MHz and then do MAP_SysTick_setPeriod(1). This will suffice but I don't know if there would cause any issue at all.

    Also for those three lines of code do I put it before MAP_CS_setDCOFrequency(36000000) or even before MAP_FPU_enableModule()?

    Thanks

  • Hi Keith,

    If you are seeing "Your XMS432P401R material is no longer supported. We recommend you moving to production-quality MSP432P401R/M silicon"

    and indeed you have an XMS version, it's quite possible you "bricked" it.

    You should be good with a newer launchpad which will have factory tested and passed silicon.  Let me know if you have any issues.

  • > Add those lines before you change the DCO.

  • Hi Keith,

    It's been a few days since I have heard from you so I’m assuming your question has been answered.
    If this isn’t the case, please click the "This did NOT resolve my issue" button and reply to this thread with more information.
    If this thread locks, please click the "Ask a related question" button and in the new thread describe the current status of your issue and any additional details you may have to assist us in helping to solve your issues.


**Attention** This is a public forum