Difference between revisions of "Using J-Link Command Strings"
(→Generic) |
(→Generic) |
||
Line 30: | Line 30: | ||
* < 0 Error |
* < 0 Error |
||
* -1 Unspecified error |
* -1 Unspecified error |
||
+ | */ |
||
− | ***********************************************************************/ |
||
int ConfigTargetSettings(void) { |
int ConfigTargetSettings(void) { |
||
// |
// |
Revision as of 12:35, 24 January 2018
Contents
The behavior of the J-Link can be customized via command strings passed to the JLinkARM.dll which controls J-Link. In some IDEs and applications such as the J-Link Commander, command strings can be directly passed via a native command. If this is not supported, there are some alternative options which can be used to use J-Link Command Strings anyhow. For further information regarding this, please refer to Using J-Link Command Strings#Generic.
J-Link Commander
https://wiki.segger.com/J-Link_Commander#Using_J-Link_Command_Strings
Eclipse
https://wiki.segger.com/Eclipse#Using_J-Link_Command_Strings
Generic
If the used IDE / application does not provide the option to pass J-Link Command Strings to the J-Link DLL, we recommend to include them into a J-Link Script File using the J-Link Script File API function JLINK_ExecCommand("<JLinkCommandString>"). For further information how to use a J-Link Script File in your environment, please refer to: https://wiki.segger.com/Using_J-Link_Script_Files
Example
/********************************************************************* * * ConfigTargetSettings * * Function description * Called before InitTarget(). Mainly used to set some global DLL variables to customize the * normal connect procedure. For ARM CoreSight devices this may be specifying the base * address of some CoreSight components (ETM, …) that cannot be auto-detected by J-Link * due to erroneous ROM tables etc. May also be used to specify the device name in case * debugger does not pass it to the DLL. * * Notes * (1) May not, under absolutely NO circumstances, call any API functions that perform target communication. * (2) Should only set some global DLL variables * * Return value * >= 0 O.K. * < 0 Error * -1 Unspecified error */ int ConfigTargetSettings(void) { // // Enable erase for all flash banks (e.g. QSPI) // JLINK_SYS_Report("--EnableEraseAllFlashBanks--"); JLINK_ExecCommand("EnableEraseAllFlashBanks"); return 0; }