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.

MSP430 FRAM security options

Part Number: MSP430FR2633
Other Parts Discussed in Thread: MSP-FET

Hello,

              I am looking for secured memory. Is fram secure??  If not then suggest some external secured memory. i would also like to know how to implement security in msp430 and communication protocols.

  • Hello,

    Thanks for your interest in our MSP430 FRAM devices. Please take some time and read through the following resources about security features such as IP encapsulation.

    Closing the security gap with TI’s MSP430™ FRAM-based microcontrollers

    Understanding security features for MSP430™ Microcontrollers

    MSP Code Protection Features

    Regards,

    James

  • Hello James,
    Could please provide some examples on how to set and the verify the password protection for FRAM in MSP430FR2633.

  • Part Number: MSP430FR2633

    Tool/software: Code Composer Studio

    Hello, 

               Here is small snippet that I have written bellow. 

    #include <msp430.h> 
    #include "driverlib.h"
    
    #define FRAM_TEST_START 0x1800  
    
    static uint8_t Delay_set1[1];
    
    uint8_t  * stored_data1,* stored_data2,* stored_data3,* stored_data4,* stored_data5,* stored_data6;
    
    void delay_ms(unsigned int ms);
    
    void main(void)
    {
    	WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer
    
        PM5CTL0 &= ~LOCKLPM5;                   // Disable the GPIO power-on default high-impedance mode
                                                  // to activate previously configured port settings
    
        SYSCFG0 = FRWPPW | PFWP;
    	Delay_set1[0]='H';
    	FRAMCtl_write8(Delay_set1,(uint8_t *) FRAM_TEST_START,1);
    	delay_ms(1);
    
    	SYSCFG0 = FRWPPW | PFWP | DFWP;
    
        stored_data1 = (uint8_t *) FRAM_TEST_START;
        __delay_cycles(1000);
    
        Delay_set1[0]='I';
        FRAMCtl_write8(Delay_set1,(uint8_t *) FRAM_TEST_START,1);
        delay_ms(1);
    
    }
    
    
    void delay_ms(unsigned int ms)
    {
        while (ms)
        {
            __delay_cycles(8000); 
            ms--;
        }
    }

     Here I am able to read and write to the same memory location but it should not be possible. Could you please explain!!! and i would also like to know how to set the password for fram.

  • Gourav H said:
     Here I am able to read and write to the same memory location but it should not be possible. Could you please explain!!! and i would also like to know how to set the password for fram.

    The MSP430FR2633 offers write protection, not read protection. If you'd like to prevent someone from reading the FRAM contents, you can secure the whole memory map to prevent unauthorized access from JTAG port or BSL, by writing JTAG and BSL signatures using the JTAG port, SBW, the BSL, or in-system by the CPU. More details about the FR2633's memory protection features can be found in Section 6.9 in its datasheet.

    Regards,

    James

  • Hello Gourav,

    Has your question been answered? Please let me know so I can close out this thread. Thanks.

    Regards,

    James
  • Hello James,
    I have managed to lock the spy-by-wire interface by writing password at 0xff80 to 0xff83. I have also managed to unlock the spy-by-wire interface using CCS 8.2.0. In debug configurations { Target->MSP43x options->"on connect erase the user code and unlock the device" } option erases the entire code and unlocks the device . But I need to unlock the device using password only!!! . please provide some suggestions...


  • what do this highlighted option in the image indicate??

  • Hello Gourav,

    Thanks for your detailed replies. To answer your question, you can lock the JTAG using the JTAG interface but can only unlock it using the BSL interface. According to Section 2.2.3 in the MSP Code Protection Features app note:

    To clear JTAG/SBW lock protection, the bootloader can be used to clear the JTAG signatures to 00000000h or FFFFFFFFh. The BSL is password protected and the last 32 bytes of the interrupt vector table (FFE0h–FFFFh) are used as the BSL password (see Section 4). Unlocking JTAG/SBW access can be easily performed with the BSL mass erase command on these FRAM devices, because the JTAG signatures are located in main memory (rather than some protected BSL area like on F5xx/F6xx).

    I hope this helps!

    Regards,

    James

  • Hi James,
    Does the "on connect erase the user code and unlock the device" performs mass erase on the device??. does the MSP-FET430UIF support bsl interface???.
  • Hello Gourav,

    Yes, that option in CCS does erase the device as long as you haven't power cycled it. Also, the legacy MSP-FET430UIF does not support BSL unfortunately, but our recommended MSP-FET does. You can learn more on our BSL page.

    Bootloader (BSL) for MSP low-power microcontrollers

    Regards,

    James

  • Hi James,
    Thanks for providing valuable information. I will go through and test this and let you know about the result.

**Attention** This is a public forum