ZHCU778AB January 2014 – September 2022 MSP430FR2032 , MSP430FR2033 , MSP430FR2110 , MSP430FR2111 , MSP430FR2153 , MSP430FR2155 , MSP430FR2310 , MSP430FR2311 , MSP430FR2353 , MSP430FR2355 , MSP430FR2433 , MSP430FR2532 , MSP430FR2533 , MSP430FR2632 , MSP430FR2633 , MSP430FR4131 , MSP430FR4132 , MSP430FR4133 , MSP430FR5041 , MSP430FR5043 , MSP430FR50431 , MSP430FR5847 , MSP430FR58471 , MSP430FR5848 , MSP430FR5849 , MSP430FR5857 , MSP430FR5858 , MSP430FR5859 , MSP430FR5867 , MSP430FR58671 , MSP430FR5868 , MSP430FR5869 , MSP430FR5887 , MSP430FR5888 , MSP430FR5889 , MSP430FR58891 , MSP430FR5947 , MSP430FR59471 , MSP430FR5948 , MSP430FR5949 , MSP430FR5957 , MSP430FR5958 , MSP430FR5959 , MSP430FR5967 , MSP430FR5968 , MSP430FR5969 , MSP430FR5969-SP , MSP430FR59691 , MSP430FR5986 , MSP430FR5987 , MSP430FR5988 , MSP430FR5989 , MSP430FR5989-EP , MSP430FR59891 , MSP430FR6041 , MSP430FR6043 , MSP430FR60431 , MSP430FR6877 , MSP430FR6879 , MSP430FR68791 , MSP430FR6887 , MSP430FR6888 , MSP430FR6889 , MSP430FR68891 , MSP430FR6927 , MSP430FR69271 , MSP430FR6928 , MSP430FR6972 , MSP430FR6977 , MSP430FR6979 , MSP430FR69791 , MSP430FR6987 , MSP430FR6988 , MSP430FR6989 , MSP430FR69891
FR235x 和 FR215x MCU 的链接器命令文件包含以下部分:
在应用程序代码中,定义以下配置值:
#define BSL_CONFIG_SIGNATURE (0x695A) // BSL Configuration Signature
#define BSL_CONFIG_PASSWORD (0x5A00) // BSL User's Configuration Signature
#define BSL_CONFIG_TINY_RAM_ERASED_BY_INIT (0x0008) // Tiny RAM is erased during BSL invocation
#define BSL_CONFIG_TINY_RAM_NOT_ERASED_BY_INIT (0x0000) // (Default) Tiny RAM is not erased during BSL invocation
#define BSL_CONFIG_RAM_ERASED_BY_INIT (0x0000) // RAM is erased during BSL invocation
#define BSL_CONFIG_RAM_NOT_ERASED_BY_INIT (0x0004) // (Default) RAM is not erased during BSL invocation
#define BSL_CONFIG_INTERFACE_UART_I2C (0x0000) // Enable UART and I2C
#define BSL_CONFIG_INTERFACE_UART_ONLY (0x0001) // Enable UART
#define BSL_CONFIG_INTERFACE_I2C_ONLY (0x0002) // Enable I2C
#define BSL_CONFIG_INTERFACE_DEFAULT (0x0003) // (Default / Reserved) Enable UART and I2C
#define BSL_I2C_ADDRESS_7BIT (0x60) // Customized I2C Address
将预期的配置值应用到 BSL 配置部分:
#pragma RETAIN(bslConfigurationSignature)
#pragma DATA_SECTION(bslConfigurationSignature, ".bslconfigsignature")
const uint16_t bslConfigurationSignature = BSL_CONFIG_SIGNATURE;
#pragma RETAIN(bslConfig)
#pragma DATA_SECTION(bslConfig, ".bslconfig")
const uint16_t bslConfig = (BSL_CONFIG_PASSWORD | BSL_CONFIG_INTERFACE_UART_ONLY) ;
#pragma RETAIN(bslI2Caddr)
#pragma DATA_SECTION(bslI2Caddr, ".bsli2caddress")
const uint16_t bslI2Caddr = (0xFF00 | BSL_I2C_ADDRESS_7BIT) ;