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.

MSP430F5510: How to use PMMSWBOR to trigger BOR from S/W

Part Number: MSP430F5510

We are using MSP430F5xx_6xx driverlib Version 2.91.13.01 for MSP430F5510. We need to generate a BOR from S/W but we noticed that the PMM_trigBOR API does not exist on this device even though the associated PMM register bits exist in H/W.

Questions:

  1. Is it ok to use PMMCTLO:PMMSWBOR to trigger a BOR from S/W?
  2. Assuming yes to 1, why is the driverlib PMM_trigBOR() API missing for this device?
  3. Assuming yes to 1, which of the following would be the proper implementation
    1.     HWREG16(PMM_BASE + OFS_PMMCTL0) |= PMMSWBOR;
    2.     HWREG8(PMM_BASE + OFS_PMMCTL0_H) = PMMPW_H;
          HWREG8(PMM_BASE + OFS_PMMCTL0) |= PMMSWBOR;
          HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;

The driverlib source for MSP430FR5xx_6xx implements the function as shown in 3b but I'm thinking a 16bit write as shown in 3a should be sufficient.

Thanks 

  • Hello,

    What you have proposed should work to trigger a BOR via the PMM. You would need to change your coding though to incorporate the PMMPW for the register. So you would want to do word access, and provide the PMMPW + PMMSWBOR.  PMMSWBOR would be low byte btw.

    So something like:  -- assuming PMMPW is defined via driverlib

        
        /// DriverLib Style
        HWREG16(PMM_BASE + OFS_PMMCTL0) |= (PMMPW + PMMSWBOR);
        
        
        /// Register Level
        PMMCTL0 |= (PMMPW + PMMSWBOR);

    Assuming you have the standard MSP430 header files linked, I also included a register level example of doing this.

  • Thanks! I was getting a reset without a password but this is the PUC that results from writing the incorrect password. I've fixed this now to get the desired POR.

**Attention** This is a public forum