MCU selection“MCU_name”Most important configuration value, specifies the exact part number of the MCU being programmed, i.e. CC2652RB1F, or STM32WB55VG. “Target_EN”Only used in Gang setup, sets which targets are enabled for programming. Value should be bit OR of targets which are enabled: CommunicationConfiguration option specified in this section can be configured visually using the main GUI window, Interface tab. This option affects all communication via FPA to the target device. “Interface”This configuration option specifies the communication type and speed. The type and speed settings are OR-ed together to create the final value specified for this parameter. Communication type: COMM_SWD (0x20) : Serial Wire Debug (SWD) communication. Communication speed: COMM_JTAG (0x10) : Joint Test Action Group (JTAG) communication. COMM_cJTAG (0x08) : Compact JTAG (cJTAG) communication. COMM_FAST (2) : Fast communication frequency. COMM MED (1) : Medium communication frequency. COMM SLOW (0) : Slow communication frequency. For testing unreliable connection.
Configuration option end value: COMM SWD FAST (COMM SWD | COMM FAST) : Fast SWD communication. COMM SWD MED (COMM SWD | COMM MEDIUM) : Medium SWD communication. COMM SWD SLOW (COMM SWD | COMM SLOW) : Slow SWD communication. COMM JTAG FAST (COMM JTAG | COMM FAST) : Fast JTAG communication. COMM JTAG MED (COMM JTAG | COMM MEDIUM) : Medium JTAG communication. COMM JTAG SLOW (COMM JTAG | COMM SLOW) : Slow JTAG communication. COMM cJTAG FAST (COMM cJTAG | COMM FAST) : Fast cJTAG communication. COMM cJTAG MED (COMM cJTAG | COMM MEDIUM) : Medium cJTAG communication. COMM cJTAG SLOW (COMM cJTAG | COMM SLOW) : Slow cJTAG communication.
Power SourceThe configuration option in this section specifies the power source to the target device and can be configured visually using the main GUI window, MCU Vcc tab. This option is used by all functions that Encapsulated Functions listed in page and several Sequential Functions listed in page. “PowerFromFpaEn”This configuration option enables the FPA to supply power to the target device for programming. Logically grouped together with “VccFromFPAin_mV”. 1 - enabled (default) 0 - disabled
“VccFromFPAin_mV”Voltage in millivolts to be supplied from the FPA to the target device if “PowerFromFpaEn” is enabled. Ignored otherwise. Code FileThe configuration option in this section specifies if the code file chosen for programming using the function F_ReadCodeFile should be reloaded before programming every time. This option can be configured visually using the Main GUI window->Device Action->Reload Code File check box. “CodeFileReload”This configuration option will force the code file to be reloaded every time before the F AutoProgram operation is performed. This will erase any manual changes to the Code Data Buffer if enabled. 1 : enabled 0 : disabled (default)
"CodeFileName1”, "CodeFileName2" … "CodeFileName20"Path to first code file, CodeFileName1. The code buffer will be flushed and this file will be read first using function F_ReadCodeFile. Subsequent code files can be appended using parameters “CodeFileName2”, “CodeFileName3”, etc. up to 20. Appended files are added using function F_AppendCodeFile. Appended code files usually cannot contain data at addresses already read from a previous code file. This rule can be overwritten if "OverwriteEmptyValues" is set to 1. In this case if the data previously present is the flash empty value (0xFF or 0x00 depending on MCU family), overwriting empty values will be allowed with new data. Overwriting non-empty values will return an error. External FlashThe XStreamPro-Iso (X2S) adapter can program external flash using the MCU’s peripherals. In this configuration, the adapter configures the MCU to communicate with the serial external flash using the MCU’s peripherals, such as OCTOSPI, or QSPI, etc. Once properly configured, the external flash is mapped into the shared address space and programmed seamlessly as if it were internal flash. "ExternalFlash1”SPI configuration for External/Serial Flash Memory. This line contains the EF Part Number, mode, pins, base address offset, clk frequency and other optional features. XStreamPro-Iso adapter only. i.e. Code files for external flash are specified using “CodeFileName” parameters. Clock Frequency"JTAG-Clk-frequency"Custom JTAG/SWD communication frequency in kHz when selecing fast communication mode (SWD Fast, JTAG Fast, orcJTAG fast). XStream-Iso and XStreamPro-Iso (black) adapters only. “CLK_frequency”System Clock on the target device if the processor does not have an internal clock source, and requires an external oscillator. Currently, all supported MCUs have an internal oscillator, therefore this option has no effect. Memory OptionsConfiguration options specified in this section can be configured visually using the GUI dialog under Setup->Memory Options. These options are only used when calling Encapsulated Functions listed in page. “FlashEraseModeIndex”This configuration parameter chooses which memory segments (or all) will be used for the F_AutoProgram, F_Memory_Erase, F_Memory_Write, and F Memory_Verify operations. ERASE_NONE_MEM_INDEX (0) : Update only. Write only, no erase operation. Can damage flash if target location is not empty. ERASE_ALL_MEM_INDEX (1) : All Memory, including main Flash, OTP/INFO/EEPROM and External Flash if applicable. ERASE_PRG_ONLY_MEM_INDEX (2) : Flash Memory only. Other memory is not modified even if present in code file. ERASE_INFILE_MEM_INDEX (3) : Used by Code File. Erase only memory needed by code file, Write and Verify all code file contents. ERASE_DEF_CM_INDEX (4) : User defined. Specify main Flash, OTP/INFO/EEPROM and External Flash if applicable. WRITE_OTP_MEM_ONLY_INDEX (5) : OTP/INFO/EEPROM. Main Flash and External Flash are not modified. ERASE_EF_MEM_INDEX (6) : External Flash only. Internal flash contents and OTP/INFO/EEPROM are not modified.
ERASE_PRG_ONLY_MEM_INDEX (default) “EraseMemIfLockedEn”During the Auto Program procedure, if blank check fails after erase, the FPA can attempt to perform the F_Clear_Locked_Device procedure to return the device to factory settings. If this option is enabled F_AutoProgram will do this automatically. 1 : enabled 0 : disabled (default)
"AlwaysUseFactoryEraseEn"If enabled, this option will force the FPA to replace any erase operation with a F_Clear_Locked_Device (Factory Erase). 1 : enabled 0 : disabled (default)
“NotEraseSegmentIfBlank”Before each memory segment is erased, a quick checksum is calculated to see if the memory segment is already blank. If this option is enabled then memory segments whose checksum indicates a blank segment will not be erased. This can speed up programming times for mostly empty target devices. 1 : enabled (default) 0 : disabled
"ForceEraseEEPROM"If EEPROM memory is present, the EEPROM can be faux erased by writing empty values to all EEPROM locations. This option is ignored when Update only mode is selected. 1 : enabled 0 : disabled (default)
“EraseDefMainMemEn”When programming code using the ”User defined” setting, it is possible to explicitly specify the address range for main Flash Memory programming. This configuration option enables main Flash Memory programming in ”User defined” mode for the Erase, Write, and Verify operations. Logically grouped together with “DefEraseFlashStart” and “DefEraseFlashStop.” 1 - enabled 0 - disabled (default)
“DefEraseFlashStart”Start address for main Flash Memory programming if “EraseDefMainMemEn” is enabled (inclusive). Ignored otherwise. Granularity for the Erase procedure is one smallest erasable memory chunk: segment, page or sector depending on MCU. “DefEraseFlashStop”End address for Flash Memory programming if “EraseDefMainMemEn” is enabled (inclusive). Ignored otherwise. Granularity for the Erase procedure is one smallest erasable memory chunk: segment, page or sector depending on MCU. “DefOTPWriteEnable”When programming code using the ”User defined” setting, it is possible to explicitly specify the address range for OTP, INFO, and EEPROM memory programming. This configuration option enables OTP, INFO, and EEPROM programming in ”User defined” mode for the Erase, Write, and Verify operations. OTP Memory cannot be erased. Logically grouped together with “DefOTPWriteStart” and “DefOTPWriteStop”. 1 : enabled 0 : disabled (default)
“DefOTPWriteStart”Start address for OTP, INFO, and EEPROM programming if “DefOTPWriteEnable” is enabled (inclusive). Ignored otherwise. “DefOTPWriteStop”End address for OTP, INFO, and EEPROM programming if “DefOTPWriteEnable” is enabled (inclusive). Ignored otherwise. “DefEFWriteEnable”When programming code using the ”User defined” setting, it is possible to explicitly specify the address range for External/Serial Flash Memory programming. This configuration option enables External/Serial Flash Memory programming in ”User defined” mode for the Erase, Write, and Verify operations. Logically grouped together with “DefEraseEFStart” and “DefEraseEFStop”. 1 - enabled 0 - disabled (default)
“DefEraseEFStart”Start address for External/Serial Flash Memory programming if “DefEFWriteEnable” is enabled (inclusive). Ignored otherwise. Granularity for the Erase procedure is one smallest erasable memory chunk: segment, page or sector depending on external/serial flash chip. “DefEraseEFStop”End address for External/Serial Flash Memory programming if “DefEFWriteEnable” is enabled (inclusive). Ignored otherwise. Granularity for the Erase procedure is one smallest erasable memory chunk: segment, page or sector depending on external/serial flash chip. "WrIncludingLockedSegm"MSP432 contains BSL/Info Memory. Write this segment if enabled. 1 - enabled 0 - disabled (default)
“FlashReadModeIndex”This configuration parameter chooses which memory contents will be read using the F_Memory_Read operation into the Read Data Buffer. This is the same functionality as the “READ / COPY” button in the GUI. READ_ALL_MEM_INDEX (0) : All memory, including protection option bytes will be read. READ_PRGMEM_ONLY_INDEX (1) : Flash Memory only. Main flash only, option bytes are not be read. READ_INFOMEM_ONLY_INDEX (2) : OTP/INFO/EEPROM. Main/External Flash and option bytes are not read. READ_DEF_MEM_INDEX (3) : User defined. Specify main Flash, OTP/INFO/EEPROM and External Flash if applicable. Option bytes will not be read. READ_EF_MEM_INDEX (4) : External Flash only. Exclusively external flash memory is ready.
READ_ALL_MEM_INDEX (default) “ReadDefMainMemEn”When reading memory using the ”User defined” setting, it is possible to explicitly specify the address range for main Flash Memory reading. This configuration option enables Flash Memory reading in ”User defined” mode for the Read operation. Logically grouped together with “DefReadStartAddr” and “DefReadStopAddr”. 1 - enabled 0 - disabled (default)
“DefReadStartAddr”Start address for reading main Flash Memory if “ReadDefMainMemEn” is enabled (inclusive). Ignored otherwise. “DefReadStopAddr”End address for reading main Flash Memory if “ReadDefMainMemEn” is enabled (inclusive). Ignored otherwise. “ReadDefInfoMemEn”When reading memory using the ”User defined” setting, it is possible to explicitly specify the address range for OTP, INFO, and EEPROM memory reading. This configuration option enables OTP, INFO, and EEPROM reading in ”User defined” mode for the Read operation. Logically grouped together with “DefOTPStartAddr” and “DefOTPStopAddr”. 1 : enabled 0 : disabled (default)
“DefOTPStartAddr”Start address for reading OTP, INFO, and EEPROM memory if “ReadDefInfoMemEn” is enabled (inclusive). Ignored otherwise. “DefOTPStopAddr”End address for reading OTP, INFO, and EEPROM memory if “ReadDefInfoMemEn” is enabled (inclusive). Ignored otherwise. “ReadDefEFMemEn”When reading memory using the ”User defined” setting, it is possible to explicitly specify the address range for External/Serial Flash Memory reading. This configuration option enables External/Serial Flash Memory reading in ”User defined” mode for the Read operation. Logically grouped together with “DefReadEFStart” and “DefReadEFStop”. 1 - enabled 0 - disabled (default)
“DefReadEFStart”Start address for External/Serial Flash Memory reading if “ReadDefEFMemEn” is enabled (inclusive). Ignored otherwise. “DefReadEFStop”End address for External/Serial Flash Memory reading if “ReadDefEFMemEn” is enabled (inclusive). Ignored otherwise. "RdIncludingLockedSegm"MSP432 contains BSL/Info Memory. Read this segment if enabled. 1 - enabled 0 - disabled (default)
“RetainDefinedData”When performing the F_AutoProgram and F_Memory_Erase operations it is possible to exempt some main Flash Memory from being modified. This is useful for maintaining calibration data. Because the retain data range will most likely not span whole segments of memory (whereas erasing is done on whole segments), this operation is implemented in three steps. The main Flash Memory contents are read first, the underlying segments are erased, and saved contents are written back to main Flash Memory. The most common usage of this feature is when performing two calls to F_AutoProgram during production. First call writes calibration data during testing, second call writes final application code into the target device. The intention is to prevent programming of application code from erasing calibration data. Logically grouped together with “RetainDataStart” and “RetainDataStop”. 1 : enabled 0 : disabled (default)
“RetainDataStart”Start address for main Flash Memory to be preserved if “RetainDefinedData” is enabled (inclusive). Ignore otherwise. “RetainDataStop”End address for main Flash Memory to be preserved if “RetainDefinedData” is enabled (inclusive). Ignore otherwise. “VerifyModeIndex”This configuration option chooses the verification method for the F_AutoProgram and F_Memory_Verify operations. VERIFY_NONE_INDEX (0) : None. VERIFY_STD_INDEX (1) : Standard. Verify first using checksum, and PSA, and then perform a full read and byte-by-byte verification. VERIFY_FAST_INDEX (2) : Fast. Verify using checksum and PSA.
VERIFY_FAST_INDEX (default) “VerifyProtection”If the F_Lock_MCU procedure is used (Enabled in the Main GUI and configured in Setup->Memory Protection), read-back verification of option bytes can be disabled. This can be useful if a power-cycle is not possible to verify option byte programming and an error occurs. Also applies to the F_Lock_MCU final step in F_AutoProgram (Auto Program writes protection option bytes after successful main code verification if “WriteLockingBitsEn” is enabled) Logically grouped together with “WriteLockingBitsEn”. If “WriteLockingBitsEn” is disabled then this option is ignored. 1 : enabled (default) 0 : disabled
"EnableBlankCheck"This option only affects the F_AutoProgram operation. Auto Program usually performs the steps of Erase, Blank Check, Write, Verify, and Lock (optional). If this option is disabled, the target memory contents are not verified to be blank before programming. Disabling this option can decrease programming time, but writing over flash that is not empty can cause permanent damage to the chip. 1 : enabled (default) 0 : disabled
"EnableAutoRead"This option only affects the F_AutoProgram operation. Auto Program usually performs the steps of Erase, Blank Check, Write, Verify, and Lock (optional). If this option is enabled, the target MCU’s memory will be immediately read back using the F_Memory_Read operation after Auto Program normally concludes. This can be useful if it is expected that read access will be lost after reset/power-cycle. 1 : enabled 0 : disabled (default)
Check Sum OptionsConfiguration options specified in this section can be configured visually using the GUI dialog under Setup->Check Sum Options. In addition to the internal check sum calculation done for programming verification in the procedure F_AutoProgram and F_Memory_Verify, the user can also calculate and save a check sum for specific code segments. This is useful for internal verification by application code at startup to ensure that the internal flash has not become corrupted before executing the rest of the application code. These settings do not affect normal CS calculation done for programming verification. Up to four separate check sum results can be calculated and stored in different addresses. “CS_type_index”This configuration parameter specifies how the check sum result is to be calculated. If none is selected, then the other options in this section are ignored. If a defined polynomial is selected, then the CS Polynomial parameter will be used for Check Sum calculations. Logically grouped together with all parameters in this section. CS_TYPE_NONE_INDEX (0) : None. (default) CS_TYPE_ARYTHMETIC_8r16 (1) : Arithmetic sum (8b / 16b). CS_TYPE_ARYTHMETIC_8r32 (2) : Arithmetic sum (8b / 32b). CS_TYPE_ARYTHMETIC_16r16 (3) : Arithmetic sum (16b / 16b). CS_TYPE_ARYTHMETIC_16r32 (4) : Arithmetic sum (16b / 32b) CS_TYPE_CRC16_P11021 (5) : CRC16 (Poly = 0x11021) (8b / 16b). CS_TYPE_CRC16_DEF (6) : CRC16 defined polynomial (8b / 16b). CS_TYPE_CRC32_STD (7) : CRC32 (Poly = 0x04C11DB7) (8b / 32b). CS_TYPE_CRC32_DEF (8) : CRC32 defined polynomial (8b / 32b).
“CS_Init_index”Initial value that will be modified as the check sum is calculated. CS_INIT_VALUE_0_INDEX (0) : Initial value is 0. (default) CS_INIT_VALUE_1_INDEX (1) : Initial value is 0xFFFFFFFF. CS_INIT_VALUE_ADDR_INDEX (2) : Initial value is the start address.
“CS_Result_index”The end result can be stored as is or inverted. “CS_Polynominal”If a defined, polynomial is selected to calculate the check sum, then this parameter will specify this polynomial. For legacy reasons, the spelling error in the name is left uncorrected. “CS_code_overwrite_en”It is possible that the address chosen for storing the check sum result will conflict with the Code Data Buffer. If this occurs, this parameter will specify if code contents should be overwritten with the check sum result. “CS1_Enable”This configuration parameter specifies whether check sum one (1) should be calculated and stored. The parameter value should be the OR-ed result of enabled and saved if the intention is to calculate the check sum and save it in Flash Memory. Logically grouped together with “CS1_StartAddress”, “CS1_EndAddress” and “CS1_ResultAddress.” 0 : disabled. (default) CS_CALC_ENABLE_BIT (1) : Calculate check sum result. CS_SAVE_ENABLE_BIT (2) : Save check sum result. CS_CALC_ENABLE_BIT | CS_SAVE_ENABLE_BIT (3) : Calculate and save check sum result.
“CS1_StartAddress”Data at this start address within the Code Data Buffer will be the first data used to calculate the check sum (inclusive). “CS1_EndAddress”Data at this end address within the Code Data Buffer will be the last data used to calculate the check sum (inclusive). “CS1_ResultAddress”The check sum result will be stored at this address. The size of the check sum depends on the CS type index. “CS2_Enable”This configuration parameter specifies whether check sum two (2) should be calculated and stored. The parameter value should be the OR-ed result of enabled and saved if the intention is to calculate the check sum and save it in Flash Memory. Logically grouped together with “CS2_StartAddress”, “CS2_EndAddress” and “CS2_ResultAddress.” 0 : disabled. (default) CS_CALC_ENABLE_BIT (1) : Calculate check sum result. CS_SAVE_ENABLE_BIT (2) : Save check sum result. CS_CALC_ENABLE_BIT | CS_SAVE_ENABLE_BIT (3) : Calculate and save check sum result.
“CS2_StartAddress”Data at this start address within the Code Data Buffer will be the first data used to calculate the check sum (inclusive). “CS2_EndAddress”Data at this end address within the Code Data Buffer will be the last data used to calculate the check sum (inclusive). “CS2_ResultAddress”The check sum result will be stored at this address. The size of the check sum depends on the CS type index. “CS3_Enable”This configuration parameter specifies whether check sum three (3) should be calculated and stored. The parameter value should be the OR-ed result of enabled and saved if the intention is to calculate the check sum and save it in Flash Memory. Logically grouped together with “CS3_StartAddress”, “CS3_EndAddress” and “CS3_ResultAddress.” 0 : disabled. (default) CS_CALC_ENABLE_BIT (1) : Calculate check sum result. CS_SAVE_ENABLE_BIT (2) : Save check sum result. CS_CALC_ENABLE_BIT | CS_SAVE_ENABLE_BIT (3) : Calculate and save check sum result.
“CS3_StartAddress”Data at this start address within the Code Data Buffer will be the first data used to calculate the check sum (inclusive). “CS3_EndAddress”Data at this end address within the Code Data Buffer will be the last data used to calculate the check sum (inclusive). “CS3_ResultAddress”The check sum result will be stored at this address. The size of the check sum depends on the CS type index. “CS4_Enable”This configuration parameter specifies whether check sum four (4) should be calculated and stored. The parameter value should be the OR-ed result of enabled and saved if the intention is to calculate the check sum and save it in Flash Memory. Logically grouped together with “CS4_StartAddress”, “CS4_EndAddress” and “CS4_ResultAddress.” 0 : disabled. (default) CS_CALC_ENABLE_BIT (1) : Calculate check sum result. CS_SAVE_ENABLE_BIT (2) : Save check sum result. CS_CALC_ENABLE_BIT | CS_SAVE_ENABLE_BIT (3) : Calculate and save check sum result.
“CS4_StartAddress”Data at this start address within the Code Data Buffer will be the first data used to calculate the check sum (inclusive). “CS4_EndAddress”Data at this end address within the Code Data Buffer will be the last data used to calculate the check sum (inclusive). “CS4_ResultAddress”The check sum result will be stored at this address. The size of the check sum depends on the CS type index. Device ResetConfiguration options specified in this section can be configured visually using the GUI dialog under Setup->Device Reset. MCU Hardware Reset mode selection is used before communication initialization (a.k.a. device open) (ResetTimeIndex), and whenever a reset is required during programming (usually to verify protection option bytes). After the device is disconnected (a.k.a. device close) (ReleaseJtagState) JTAG lines are set to a finished state. Sequential Functions listed in pageand Encapsulated Functions listed in pageboth use these settings. The Final Target Device action (ApplicationStartEnable) is only used by F_AutoProgram. “ResetTimeIndex”This configuration option specifies the duration of a hardware reset done by the FPA on the RST line before initiating communication, or whenever a reset is required during programming (usually to verify protection option bytes). Logically grouped together with “ResetPulseTime” and “ResetIdleTime”. RESET_10MS_INDEX (0) : 10 ms reset pulse. (default) RESET_100MS_INDEX (1) : 100 ms reset pulse. RESET_200MS_INDEX (2) : 200 ms reset pulse. RESET_500MS_INDEX (3) : 500 ms reset pulse. RESET_CUSTOM_INDEX (4) : Custom length reset pulse (see related parameters). RESET_SOFT_INDEX (5) : If a hardware reset line connection is not available, the adapter will attempt a soft reset instead. Will not clear all faults like a hardware reset would.
“ResetPulseTime”Time in milliseconds that hardware reset line (RST line) is low if custom length is selected for “ResetTimeIndex”. Ignored otherwise. “ResetIdleTime”Time in milliseconds that FPA will wait before performing any actions after the reset pulse if custom length is selected for “ResetTimeIndex”. Ignored otherwise. "VccSettleTime"When the MCU is powered from the adapter, this value is the time in milliseconds that the adapter will wait after powering on the target. If "PowerFromFpaEn" is disabled, this value is ignored. “ReleaseJtagState”The state of the JTAG lines (TMS, TCK, and TDI) when target device is closed (communication has been terminated). DEFAULT_JTAG_3ST (0) : Tri-stated. (default) DEFAULT_JTAG_HI (1) : High. DEFAULT_JTAG_LO (2) : Low.
"Reset_3st_mode_en"The state of the RST line when target device is closed (communication has been terminated). "NTRST_en"The adapter test pin control can be controlled by software to control the BOOT0 pin. This is useful for ST MCUs to start the bootloader. The BOOT0 pin is also used in the FUS procedure for STM32WB MCUs. ”ApplicationStartEnable”This configuration option specifies the action taken by the FPA after a successful invocation of F_AutoProgram. Usually this means that the target device has all uploaded firmware code that has been positively verified. If the selection is to allow the application program to start, the maximum runtime can be selected using the “ApplProgramRunTime” setting. Logically grouped together with “ApplProgramRunTime” and “ResetVccOffTime” APPLICATION_KEEP_RESET (0) : Keep hardware reset line active - on low level (default). APPLICATION_TOGGLE_RESET (1) : Hardware reset (RST line) and start the application program. APPLICATION_NOT_RESET (2) : Do not reset the target device. APPLICATION_JTAG_RESET (3) : Soft reset (over JTAG/SWD) and start the application program. APPLICATION_TOGGLE_VCC (4) : Power-cycle target and start the application program.
“ApplProgramRunTime”The time to allow the application to run on the target device after F_AutoProgram has successfully completed. Select 0 for unlimited, and between 1-120 for time in seconds. After the time expires, the RST line will be brought to low level. Ignored if “ApplicationStartEnable” setting does not run the application program. “ResetVccOffTime”The time in milliseconds when power-cycling the target that power is off when APPLICATION_TOGGLE_VCC is selected for “ApplicationStartEnable”. Ignored otherwise. |