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.

RTOS/MSP432P401R: RTC wakeup timer from LPM3 example?

Part Number: MSP432P401R

Tool/software: TI-RTOS

I am looking for an example project that puts the MSP432 into LPM3 and wakes it up periodically using the RTC.

Thanks.

  • Ferdster,

    With regards to the exact example you are looking for, I do not have one on hand right now that I could provide for you, but you can reference this example that goes to LPM3.5 and can be woken up with a GPIO.

    dev.ti.com/.../

    or this example that goes to LPM0 and wakes up with a GPIO event.

    dev.ti.com/.../

    I will look and see if we have an internal example of what you are looking for and let you know.

    It would also be helpful to reference the following document when playing with the power policies for RTOS.

    dev.ti.com/.../
  • On the powerdeepsleep example, I don't think that's working right. I see it go into LPM3.5 on the first button press, but I don't think it ever wakes up again. In gpioButtonFxn0() I changed the led to toggle instead of turning off and I don't see it toggle - it just stays off after the initial toggle.

    Thanks.
  • Ferdster,

    As I mentioned in another thread, I was out of town so thanks again for the patience :) Catching back up on all my emails.

    On the powerdeepsleep example, I cannot recreate your issue. What I did was place a breakpoint in the gpioButtonFxn0 callback function on the GPIO_clearInt() and each time I pressed Button 0 (S1 on the LP) it wakes up, hits the breakpoint.

    Were you able to figure this out? Can you try the above and see it work?
  • Alright, I tried the powerdeepsleep example again (SDK 1.30.00.40) on my red MSP432 LaunchPad. With no modification, I see it go to sleep after pushing S1 - EnergyTrace shows 0.0105mA (all jumpers still connected).

    I then added a breakpoint in gpioButtonFxn0() and it does go in there on every button press. But, why when I change 'GPIO_write(Board_GPIO_LED1, Board_GPIO_LED_OFF);' to 'GPIO_toggle(Board_GPIO_LED1); inside the callback, does the LED not toggle?

    Thanks.
  • Hello,

    ferdster said:
    Alright, I tried the powerdeepsleep example again (SDK 1.30.00.40) on my red MSP432 LaunchPad. With no modification, I see it go to sleep after pushing S1 - EnergyTrace shows 0.0105mA (all jumpers still connected).

    Could you please download this image "powerdeepsleep_MSP_EXP432P401R_tirtos_ccs.txt" into your MSP432 Launchpad (modified version of the powerdeepsleep) and let us know your measurements after you press S1 (whe LED is off). An easy way to download this image is using the uniflash cloud version https://dev.ti.com/uniflash

    ferdster said:
    I then added a breakpoint in gpioButtonFxn0() and it does go in there on every button press. But, why when I change 'GPIO_write(Board_GPIO_LED1, Board_GPIO_LED_OFF);' to 'GPIO_toggle(Board_GPIO_LED1); inside the callback, does the LED not toggle?

    It is working for me, BTW, I added that functionality on the image above. And these are my modified files:

    MSP_EXP432P401R.c

    powerdeepsleep.c

    Hopefully this helps.

      David

  • Hi David,

    I loaded your image using the cloud version of uniflash and it doesn't do anything. Both leds stay off and pressing either switch does nothing.

    Here is the console log from uniflash:

    [3/24/2017, 2:50:28 PM] Status: CORTEX_M4_0: Program verification successful for C:/Users/ADMINI~1/AppData/Local/Temp/ti_cloud_storage/ (1).powerdeepsleep_MSP_EXP432P401R_tirtos_ccs
    [3/24/2017, 2:50:38 PM] GEL: CORTEX_M4_0: GEL Output: Memory Map Initialization Complete
    [3/24/2017, 2:50:38 PM] GEL: CORTEX_M4_0: GEL Output: Halting Watchdog Timer
    [3/24/2017, 2:50:38 PM] GEL: CORTEX_M4_0: WARNING : On MSP432P401R hitting a breakpoint cannot be detected by the debugger when the device is in low power mode. Click the pause button during debug to check if the device is held at the breakpoint.
    [3/24/2017, 2:50:38 PM] Status: CORTEX_M4_0: Flash Programmer: Found illegal reset vector address
    [3/24/2017, 2:50:38 PM] Status: CORTEX_M4_0: Flash Programmer: Erasing main memory
    [3/24/2017, 2:50:39 PM] Status: CORTEX_M4_0: Flash Programmer: Writing 32752 bytes to flash memory 0x00000000
    [3/24/2017, 2:50:40 PM] Status: CORTEX_M4_0: Flash Programmer: Writing 17183 bytes to flash memory 0x00007ff0
    [3/24/2017, 2:50:41 PM] Status: Program Load completed successfully.
    There is a warning about an illegal vector address, not sure if that could be the cause.
    I appreciate all the help, thanks.
  • Ferdster,

    Sorry for not keeping up with this. i just ran the code provided by David and it seems to be working for me. I would definitely say that the "Found illegal reset vector address" is the problem in this case. If you have an illegal reset vector, the whole program is not going to start. Can you tell me what revision of silicon is on the red launchpad that you have? Have you possibly tried a second launchpad?
  • Ok, I got it to load using uniflash on my PC. I see ~1.4uA when the leds are off, and led1 does toggle on S1.

    Thanks.

**Attention** This is a public forum