General Configuration
1. MCU selection
1.1. “MCU_name”
Most important configuration value, specifies the exact part number of the MCU being programmed, i.e. CC2652RB1F, or STM32WB55VG.
1.2. “Target_EN”
Only used in Gang setup, sets which targets are enabled for programming. Value should be bit OR of targets which are enabled:
"Target_EN", <target OR> i.e. 0x3F //0x01 - target 1 (default) //0x02 - target 2 //0x04 - target 3 //0x08 - target 4 //0x10 - target 5 //0x20 - target 6
2. Communication
Configuration 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.
2.1. “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.
When fast communication is selected, the communication frequency can be customized from 0.1 MHz to 20.0 MHz only on the XStream-Iso and XStreamPro-Iso (black) adapters. On the USB-FPA 6.1 (gray) adapter this speed is fixed to 1.5 MHz.
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.
3. Power Source
The 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 listed in Encapsulated Functions and several Sequential Functions
3.1. “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
3.2. “VccFromFPAin_mV”
Voltage in millivolts to be supplied from the FPA to the target device if “PowerFromFpaEn” is enabled. Ignored otherwise.
3300 (default)
4000 max
4. Code File
The 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.
4.1. “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)
4.2. "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.
5. External Flash
The 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.
5.1. "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.
ExternalFlash1 IS25LP016D,OCTOSPI1,Single mode,PE.11,PE.10,PE.12,PE.13,PE.14,PE.15,,,,,,,base_addr:0x00000000,,,clk_freq:0x06
Code files for external flash are specified using “CodeFileName” parameters.
6. Clock Frequency
6.1. "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.
5000 default (5 MHz)
400 <= value <= 20000 (20MHz)
6.2. “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.
7. Memory Options
Configuration 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
7.1. “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)
7.2. “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)
7.3. "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)
7.4. “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
7.5. "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)
7.6. “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)
7.6.1. “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.
7.6.2. “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.
7.7. “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)
7.7.1. “DefOTPWriteStart”
Start address for OTP, INFO, and EEPROM programming if “DefOTPWriteEnable” is enabled (inclusive). Ignored otherwise.
7.7.2. “DefOTPWriteStop”
End address for OTP, INFO, and EEPROM programming if “DefOTPWriteEnable” is enabled (inclusive). Ignored otherwise.
7.8. “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)
7.8.1. “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.
7.8.2. “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.
7.9. "WrIncludingLockedSegm"
MSP432 contains BSL/Info Memory. Write this segment if enabled.
1 - enabled
0 - disabled (default)
7.10. “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)
7.11. “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)
7.11.1. “DefReadStartAddr”
Start address for reading main Flash Memory if “ReadDefMainMemEn” is enabled (inclusive). Ignored otherwise.
7.11.2. “DefReadStopAddr”
End address for reading main Flash Memory if “ReadDefMainMemEn” is enabled (inclusive). Ignored otherwise.
7.12. “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)
7.12.1. “DefOTPStartAddr”
Start address for reading OTP, INFO, and EEPROM memory if “ReadDefInfoMemEn” is enabled (inclusive). Ignored otherwise.
7.12.2. “DefOTPStopAddr”
End address for reading OTP, INFO, and EEPROM memory if “ReadDefInfoMemEn” is enabled (inclusive). Ignored otherwise.
7.13. “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)
7.13.1. “DefReadEFStart”
Start address for External/Serial Flash Memory reading if “ReadDefEFMemEn” is enabled (inclusive). Ignored otherwise.
7.13.2. “DefReadEFStop”
End address for External/Serial Flash Memory reading if “ReadDefEFMemEn” is enabled (inclusive). Ignored otherwise.
7.14. "RdIncludingLockedSegm"
MSP432 contains BSL/Info Memory. Read this segment if enabled.
1 - enabled
0 - disabled (default)
7.15. “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)
7.15.1. “RetainDataStart”
Start address for main Flash Memory to be preserved if “RetainDefinedData” is enabled (inclusive). Ignore otherwise.
7.15.2. “RetainDataStop”
End address for main Flash Memory to be preserved if “RetainDefinedData” is enabled (inclusive). Ignore otherwise.
7.16. “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)
7.17. “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
7.18. "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
7.19. "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)
8. Check Sum Options
Configuration 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.
8.1. “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).
8.2. “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.
8.3. “CS_Result_index”
The end result can be stored as is or inverted.
CS_RESULT_ASIS_INDEX (0) : Result stored as calculated. (default)
CS_RESULT_INVERTED_INDEX (1) : Result is inverted and then stored.
8.4. “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.
8.5. “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.
1 : overwrite.
0 : do not overwrite. (default)
8.6. “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.
8.6.1. “CS1_StartAddress”
Data at this start address within the Code Data Buffer will be the first data used to calculate the check sum (inclusive).
8.6.2. “CS1_EndAddress”
Data at this end address within the Code Data Buffer will be the last data used to calculate the check sum (inclusive).
8.6.3. “CS1_ResultAddress”
The check sum result will be stored at this address. The size of the check sum depends on the CS type index.
8.7. “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.
8.7.1. “CS2_StartAddress”
Data at this start address within the Code Data Buffer will be the first data used to calculate the check sum (inclusive).
8.7.2. “CS2_EndAddress”
Data at this end address within the Code Data Buffer will be the last data used to calculate the check sum (inclusive).
8.7.3. “CS2_ResultAddress”
The check sum result will be stored at this address. The size of the check sum depends on the CS type index.
8.8. “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.
8.8.1. “CS3_StartAddress”
Data at this start address within the Code Data Buffer will be the first data used to calculate the check sum (inclusive).
8.8.2. “CS3_EndAddress”
Data at this end address within the Code Data Buffer will be the last data used to calculate the check sum (inclusive).
8.8.3. “CS3_ResultAddress”
The check sum result will be stored at this address. The size of the check sum depends on the CS type index.
8.9. “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.
8.9.1. “CS4_StartAddress”
Data at this start address within the Code Data Buffer will be the first data used to calculate the check sum (inclusive).
8.9.2. “CS4_EndAddress”
Data at this end address within the Code Data Buffer will be the last data used to calculate the check sum (inclusive).
8.9.3. “CS4_ResultAddress”
The check sum result will be stored at this address. The size of the check sum depends on the CS type index.
9. Device Reset
Configuration 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 and Encapsulated Functions both use these settings.
The Final Target Device action (ApplicationStartEnable) is only used by F_AutoProgram.
9.1. “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.
9.1.1. “ResetPulseTime”
Time in milliseconds that hardware reset line (RST line) is low if custom length is selected for “ResetTimeIndex”. Ignored otherwise.
10 (default)
1000 max
9.1.2. “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.
10 (default)
2000 max
9.2. "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.
100 (default)
5000 max
9.3. “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.
9.4. "Reset_3st_mode_en"
The state of the RST line when target device is closed (communication has been terminated).
1 : TRI-STATE mode.
0 : HIGH level. (default)
9.5. "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.
1 : test line value. (default)
0 : BOOT0 value.
9.6. ”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.
9.6.1. “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.
0 (default)
120 max
9.6.2. “ResetVccOffTime”
The time in milliseconds when power-cycling the target that power is off when APPLICATION_TOGGLE_VCC is selected for “ApplicationStartEnable”. Ignored otherwise.
50 (default)
5000 max
10. JTAG chain
Configuration options specified in this section can be configured visually using the GUI dialog under Setup->JTAG Chain Setup. This configuration option specifies the IR size, TAPs, and position for each device in the JTAG chain. Example values are based on below screenshot.:
10.1. "JTAG_Chain_Enable"
Global enable for all JTAG chain functionality, if disabled the rest of the options in this section are ignored.
1 : enabled
0 : disabled (default)
10.2. "JTAG_Chain_IR_header_delay"
In the configured JTAG chain, IR header delay to reach selected target device.
0 (default) - 18 in example above
55 max
10.3. "JTAG_Chain_IR_tail_delay"
In the configured JTAG chain, IR header delay to reach selected target device.
0 (default) - 0 in example above
55 max
10.4. "JTAG_Chain_DR_header_delay"
In the configured JTAG chain, DR header delay to reach selected target device.
0 (default) - 4 in example above
20 max
10.5. "JTAG_Chain_DR_tail_delay"
0 (default) - 0 in example above
20 max
10.6. “JtagIRsizeDevice-1”
Number of bits in Instruction Register (IR) for device one.
0 (default) - 9 in example above
55 max
10.7. 'JtagIRsizeDevice-2”
Number of bits in Instruction Register (IR) for device two.
0 (default) - 9 in example above
55 max
10.8. “JtagIRsizeDevice-3”
Number of bits in Instruction Register (IR) for device three.
0 (default) - 9 in example above
55 max
10.9. “JtagTAPsDevice-1”
Number of TAPs for device one.
0 (default) - 2 in example above
20 max
10.10. “JtagTAPsDevice-2”
Number of TAPs for device two.
0 (default) - 2 in example above
20 max
10.11. “JtagTAPsDevice-3”
Number of TAPs for device three.
0 (default) - 2 in example above
20 max
10.12. “JtagSelDevice-1”
Index of MCU on position one within the JTAG chain. This is an index for the FPA’s processor list that identifies a particular MCU.
Value is internal list index: 1 - in example above
10.13. “JtagSelDevice-2”
Index of MCU on position two within the JTAG chain. This is an index for the FPA’s processor list that identifies a particular MCU.
Value is internal list index: 11 - in example above
10.14. “JtagSelDevice-3”
Index of MCU on position three within the JTAG chain. This is an index for the FPA’s processor list that identifies a particular MCU.
Value is internal list index: 11 - in example above
11. Preferences
Configuration options specified in this section can be configured visually using the GUI dialog under Setup->Preferences. A subset of the options in this screen also affect library behavior and therefore are included in the config file as well.
11.1. "BeepOkEnable"
After a successful F_AutoProgram function the application can produce a successful beep sound.
1 : enabled (default)
0 : disabled
11.2. "OverwriteEmptyValues"
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.
1 : enabled
0 : disabled (default)
11.3. "MetadataWrnIsErr"
When reading MCU metadata, such as MCU ID, flash size and RAM size, an error is only returned if the read MCU ID does not match the MCU ID from the processor list. When enabled, this option will force the error to also be returned if the flash size and/or RAM size do not match either. Enabling this option can be useful if different MCUs from the same family are programmed in one setup.
1 : enabled
0 : disabled (default)
11.4. "PowerCycleDelay"
During the F_Lock_MCU function (protection option byte programming), when “VerifyProtection” is enabled, the target MCU is power-cycled so that actual loaded option byte values can be read-back and verified. This value determines the length of the power-cycle in milliseconds
100 (default)
0xFFFF max
12. Power Monitor - Current and Voltage Measurement
Configuration options specified in this section can be configured visually using the GUI dialog under Measurement->Configuration. The XStream-Iso and XStreamPro-Iso can monitor voltage level and current consumption if the adapter is supplying power to the target device. The "PowerFromFpaEn" option has to be enabled for this functionality to work. Use function F_Get_Power_Results to obtain measurement results.
A subset of the options in this screen also affect library behavior and therefore are included in the config file as well.
12.1. "Graph_MeasureMode_index"
Measurement mode, config value is index to table. XStream-Iso and XStreamPro-Iso (black) adapters only.
"1. Disabled" - 0
"2. Output nominal voltage and current (Vcc, Icc)" - 1
"3. Output nom. voltage and current, external voltage, and prog. voltage (MSP430) (Vcc, Icc, Vext, Vpp)" - 2
"4. Nominal output and external voltage (Vcc, Vext)" - 3
"5. Output nominal and minimum voltage (Vcc, Vccmin)" - 4
"6. External nominal and min. voltage (Vext, Vextmin)", 1 } - 5
"7. Output nominal and min. voltage, and output and max. current (Vcc, Vccmin, Icc, Iccmax)" - 6
"8. Output nom. and min. volt., and out. avg. (alpha=defined) and max. current (Vcc, Vccmin, Iccavg, Iccmax)" - 7 (default)
"9. Output nom. and min. volt., and out. avg. (FIR alpha=1/16) and max. current (Vcc, Vccmin, Iccavg, Iccmax)" - 8
"10. Output nom. and min. volt., and out. avg. (alpha=1/64) and max. current (Vcc, Vccmin, Iccavg, Iccmax)" - 9
12.2. "Graph_SamplingRate_index"
Sampling period in milliseconds, config value is index to table. XStream-Iso and XStreamPro-Iso (black) adapters only.
1 ms - 0
2 ms - 1
4 ms - 2
8 ms - 3 (default)
16 ms - 4
32 ms - 5
64 ms - 6
128 ms - 7
12.3. "Graph_MeasureCurrent_index"
Current measurement sensitivity, config value is index to table. XStreamPro-Iso adapter only.
Automatic (50nA - 200mA) - 0 (default)
Hi Sensitivity only (50nA - 0.6mA) - 1
Low Sensitivity only (20uA - 200mA) - 2
Automatic mode is generally preferred, but in automatic mode, around 5 samples will be lost if current fluctuations cause the adapter to switch from Hi-to-Low, or Low-to-Hi mode. If the user is only interested in measuring small currents, then setting to Hi Sensitivity is preferred. In Hi Sensitivity mode samples above 0.6mA will saturate at that value. In Low Sensitivity mode samples below 20uA will be noise.
12.4. "Graph_InvAlpha"
When calculating the average current in mode "8. Output nom. and min. volt., and out. avg. (alpha=defined) and max. current (Vcc, Vccmin, Iccavg, Iccmax)", the inverse alpha value is defined by this setting. A small value in this setting will cause average current to change rapidly towards the instantenously measured current value. A large value in this setting will cause average current to change slowly towards the instantenously measured current value.
10 (default)
1000 max
13. Standalone Capability
Configuration options specified in this section can be configured visually using the GUI dialog under Measurement->Configuration. Only the XStreamPro-Iso adapter supports standalone mode, and only in single target, FlashPro-ARM mode. Standalone images can only be configured from the GUI.
14. Serialization
Configuration options specified for Serialization are visually configured using the GUI dialog under Setup->Serialization. All the functionality for serialization is provided via Sequential Functions