SLAA721E October   2016  – March 2020 MSP430FR5969 , MSP430FR5969-SP , MSP430FR5994 , MSP430FR6989

 

  1.   Trademarks
  2. 1Introduction
    1. 1.1 Glossary
    2. 1.2 Conventions
  3. 2Implementation
    1. 2.1 Main
    2. 2.2 Application Manager
      1. 2.2.1 Bootloader and Application Detection
        1. 2.2.1.1 Forcing Bootloader Mode
        2. 2.2.1.2 Application Validation
        3. 2.2.1.3 Jumping to Application
      2. 2.2.2 Memory Assignment
      3. 2.2.3 Interrupt Vectors in FRAM Devices
    3. 2.3 Memory Interface (MI)
      1. 2.3.1 Dual Image Support
    4. 2.4 Communication Interface (CI)
      1. 2.4.1 Physical-DataLink (PHY-DL)
        1. 2.4.1.1 UART
        2. 2.4.1.2 SPI
        3. 2.4.1.3 CC110x
        4. 2.4.1.4 Comm Sharing
      2. 2.4.2 NWK-APP
        1. 2.4.2.1 BSL-Based Protocol
          1. 2.4.2.1.1 Security
          2. 2.4.2.1.2 BSL-Based Protocol Using CC110x
          3. 2.4.2.1.3 Examples Using UART or CC110x
  4. 3Customization of MSP430FRBoot
    1. 3.1 Predefined Customizations
  5. 4Building MSPBoot
    1. 4.1 LaunchPad™ Development Kit Hardware
    2. 4.2 CC110x Hardware
    3. 4.3 Software
      1. 4.3.1 Building the Target Software
      2. 4.3.2 Convert Application Output Images
      3. 4.3.3 Generating Linker Files
  6. 5Demo Using FRAM LaunchPad Development Kit as Host
    1. 5.1 Hardware
    2. 5.2 Building the Host Project
    3. 5.3 Running the Demo
  7. 6Porting the target side example projects to other MSP430FR devices
  8. 7References
  9. 8Revision History

Porting the target side example projects to other MSP430FR devices

This section lists an example of steps to porting the target side example projects to other MSP430FR devices. Take the MSP430FR2355 in IAR and use UART single image mode as an example.

  1. Choose FR2433_UART_Single target demo projects as the template. The demo project is located at "MSP430FRBoot_<version>\Target_IAR\MSP430FR2433_TARGET\FR2433_UART_Single".

  2. Copy the "FR2344_UART_Single" project and the linker folder named "FR2433_Linker_files" into another folder, as shown in Figure 6-1. For MSP430fr2xx4xx family devices, choose the MSP430FR2433 target demo projects as a template. For MSP430FR5xx6xx family devices, choose the MSP430FR5969 target demo projects.

    GUID-20CFE750-C55A-4A1E-946A-FEE9AC0A8814-low.jpg Figure 6-1 Copy UART single project and the linker folder to other folder
  3. Open FR2344_UART_Single project folder. Change the workspace name from "MSP430FR2433_UART_Single" to "MSP430FR2355_UART_Single" (based on your device).

    GUID-03D9B2E6-821E-4C02-98B0-C4F74548CCB1-low.jpg Figure 6-2 Change the workspace name
  4. Open the workspace and the three included projects.

    1. "App1_UART_Single" uses a button to jump from application to boot code.

    2. "App2_UART_Single" uses UART to receive a jump command, then jump from application to boot code.

    3. "Boot_UART_Single" is the boot side code.

      GUID-98B5AC8D-38EF-4049-9EE7-D97EE9A00793-low.jpg Figure 6-3 Projects in the workspace
  5. Modify the projects based on your application case, like different PGIOs or UART interfaces.

    1. Choose boot project "Boot_UART_Single" and search "//Need to change" in the whole project to find the files that need to be modified, as shown below.

      GUID-A2618D6E-CAE1-4A1D-A302-4E13EF41A81B-low.png Figure 6-4 Find results in the boot project
    2. Open the files that need to be changed.

    3. Search "//Simple change" in each file to find the area that needs to be modified, based on your application. Figure 6-5 shows a search in "main.c". You need to change the registers and GPIOs based on your application. (For more details about how to make the change, you can compare the differences between MSP430FR2433, MSP430FR5969, and MSP430FR5994)

      GUID-F5CC95CD-71FE-4C01-8966-FF3E8E1CC96E-low.png Figure 6-5 Find the result of the simple change to change the GPIO
    4. Make the same modification in the "App1_UART_Single" or "App2_UART_Single" projects with the boot project as steps 5.a to 5.c.

  6. Open the folder "Utilities\linkerGen" and read the file "Readme.txt" to know how to generate the linker files based on your device.

    GUID-70AE0386-54E4-4828-A867-64D228DC36FB-low.jpg Figure 6-6 Generate the linker file successfully MSP430FR2355
  7. Delete the linker files for MSP430FR2433 in the linker folder "FR2433_Linker_files" and copy the newly generated linker files into this folder.

    GUID-A681D937-01F1-4E85-B804-56F5D27559C1-low.jpg Figure 6-7 Move the linker file to the folder
  8. Open the boot project "Boot_UART_Single" options.

    1. Change the device to MSP430FR2355 (based on your device).

    2. Change the definition of "__MSP430FR2433__" to "__MSP430FR2355__".

    3. Change the newly genreated linker file's name.

    4. Do steps 8.a through 8.c with the application's project.

    GUID-8CA8BEB7-D7EB-4CD4-96DE-B9894D680FBA-low.jpg Figure 6-8 Configure the project option
  9. Build the application project to generate the .txt file.

  10. Convert the .txt file into a .c file by using the tools in folder "Utilities\430txt_converter". This makes the image file easy for the host project to use.

    GUID-AF4861F9-4408-4D0D-A441-0432AABBA442-low.jpg Figure 6-9 Generate the .txt file and convert it to a .c file
  11. Copy the .c files generated by the converter into the host project folder "MSP430FR2433_Host\TargetApps"

  12. Open the host project named "UART_Single".

    1. Change the .c file's name used in step 10, as shown in Figure 6-10

      GUID-4010C2BB-8D16-4657-9FBD-7B4A6D726F79-low.png Figure 6-10 Change the image name in the host

    2. Change the start address of the CRC_Addr to 0x8000, which is the start FRAM address of MSP430FR2355, and the App_StartAddress to 0x8002. (For CCS projects, App_StartAddress should be change to 0x8003.)
      GUID-0482C955-E71E-4CF3-BAAA-254F62035D2F-low.png Figure 6-11 Change the address information
    3. If you only have App1 and don't have App2, you can comment the code "sentBSLFlipFlop = !sentBSLFlipFop;" to make the host download App1 only.
  13. Test the code in hardware. If you want to debug your application code, you can use the normal linker file first (maybe some variable undefined error, just comment them). After debugging, change it back to the linker file generated by the Python scripter.