Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Page Tree

...

root

...

@self
startDepth1

Configuration options described in this chapter are used to configure how each FPA will program its target device. Currently the API-DLL supports vendors: Texas Instruments, ST Microelectronics, Silicon Labs, Silergy, Renesas, NXP / Freescale, Nordic Semiconductor, Maxim, Microchip / Atmel, GigaDevice, Infineon / Cypress, Analog Devices, and Active-Semi. Most configuration options described in this chapter can be used by all vendors, except for Memory Protection options, which are specific to each vendor. Memory Protection options are described in the last section and divided on a per vendor basis. If a configuration file supplied to F_ConfigFileLoad contains protection options from a different vendor than the MCU currently being programmed, they will be ignored, and default values will be substituted instead (no protection).

The configuration parameter names listed in this chapter are the exact string names that can be used as inputs to the functions F_Set_Config_Value_By_Name and F_Get_Config_Value_By_Name or specified in the configuration file for use by the function F ConfigFileLoad. To obtain these string names from the Multi API-DLL, select the desired API-DLL instance (using F_Set_FPA_index) and use the function F_Get_Config_Name_List.

C++ code snippet to extract complete configuration list:

Code Block
languagecpp
//#define		CONFSEL_VALIDATE	0 
//#define		CONFSEL_VALUE		1 
//#define		CONFSEL_MIN			2 
//#define		CONFSEL_MAX			3 
//#define		CONFSEL_DEFAULT		4 
stringstream msg;
char *tmp=NULL;
int i=0;
while((tmp = F_Get_Config_Name_List(i++)) !=  NULL && strcmp(tmp, "\0") != 0) {
	//Check if parameter name is correct, should be redundant
	if(F_Get_Config_Value_By_Name(tmp, 0)) {
		unsigned int val = F_Get_Config_Value_By_Name(tmp, 1);
		unsigned int min = F_Get_Config_Value_By_Name(tmp, 2);
		unsigned int max = F_Get_Config_Value_By_Name(tmp, 3);
		unsigned int def = F_Get_Config_Value_By_Name(tmp, 4);
		msg << tmp << "=0x" << hex << val << ", 0x" << hex << min << "<=X<=0x" << hex << max <<  "(def=0x" << hex << def << ")\r\n";
		//sanity check on current value
		if(val < min || val > max) {
			msg << "======= " << tmp << " value outside min/max =======\r\n";
			msg << "DLL failed to trim\r\n";
		}
		//sanity check on default value
		if(def < min || def > max) {
			msg << "======= " << tmp << " default outside min/max =======\r\n";
			msg << "Param default OUT OF RANGE\r\n";
		}			
	} else {
		msg << "config parameter name invalid  " << tmp << "\r\n";
	}
}