SEGGER Production Programmers support SimpleLink MCU portfolio programming over JTAG/SWD and providing the fastest Flash downloading option available in the industry. These production programmers are designed for programming flash targets with the J-Flash software or stand-alone. They can be also used as J-Link debug probes. J-Link Commander. J-Link Commander (JLink.exe) is a command line based utility that can be used for verifying proper functionality of J-Link as well as for simple analysis of the target system. It supports some simple commands, such as memory dump, halt, step, go etc. To verify the target connection.
Contents. Open Flash Loader Introduction As the number of devices being available is steadily growing and sometimes in an early stage of the MCU development only a few samples/boards are available that may not be provided to third parties (e.g. SEGGER) to add support for a new device. Also the existence of the device may have confidential status, so it might not be mentioned as being supported in public releases yet. Therefore it might be desirable to be able to add support for new devices on your own, without depending on SEGGER and a new release of the J-Link Software & Documentation package being available. The J-Link DLL allows customers to add support for new devices on their own.
It is also possible to edit / extend existing device support by for example adding new flash banks (e.g. To add support for internal EEPROM programming or SPIFI programming). This article explains how new devices can be added to the DLL and how existing ones can be edited / extended. General Procedure By default, the J-Link DLL comes with a build-in device database that defines which device names are known and therefore officially supported by the J-Link DLL and software that uses the J-Link DLL. This list can also be viewed on our website: Additionally, the build-in device database can be extended by specifying devices in an XML file, named JLinkDevices.xml. It is also possible to edit / extend an device from the built-in device database via this XML file. There are different places where the JLinkDevices.xml can be referenced from (see list below).
In case of several JLinkDevices.xml files are used, supplement each other as in the order specified below:. In the same directory as the J-Link DLL (JLinkARM.dll). In the same directory as the J-Link settings file. The location of the settings file depends on the IDE / software being used. In the directory specified using the J-Link Command String JLinkDevicsXMLPath = Extending an Existing Device In order to edit/extend a device that is already in the built-in device database of the J-Link DLL, the following needs to be added to the JLinkDevices.xml: The attribute Name of the tag must specify exactly the same name as the device in the built-in device database specifies. In case the value of the attribute BaseAddr specifies an address of an existing flash bank for the existing device, in the built-in device database, the flash bank from the built-in database is replaced by the one from the XML file. When adding new flash banks or if the device in the built-in database does not specify any flash banks so far, the same attribute requirements as for adding a new device, apply.
For more information, please refer to Adding a new device. In order to add more than one flash bank, just repeat the tag structure from above, inside the same tag. For more information about the tags and their attributes, please refer to XML Tags and Attributes.
Adding a New Device In order to add support for a new device to the J-Link DLL, the following needs to be added to the JLinkDevices.xml: When adding a new device, the following attributes for the tag are mandatory:. Vendor. Name. Core In case a tag is also added, the following attributes in addition to the ones mentioned before, become mandatory: ChipInfo-Tag.
AlwaysPresent For more information about the tags and their attributes, please refer to XML Tags and Attributes. In order to add more than one device to the device database, just repeat the tag structure from above for each device. JLinkDevices.xml Tags and Attributes XML Tags and Attributes In the following, the valid XML tags and their possible attributes are explained.
General rules. Attributes may only occur inside an opening tag. Attribute values must be enclosed by quotation marks Tag Description Tag Description Opens the XML file top-level tag. Opens the description for a new device. Specifies basic information about the device to be added, like the core it incorporates etc. Specifies a flash bank for the device.
Opens the XML file top-level tag. Only present once per XML file.
Valid attributes This tag has no attributes Notes. Must only occur once per XML file. Must be closed via Opens the description for a new device. Valid attributes This tag has no attributes Notes. Must be closed via. May occur multiple times in an XML file Specifies basic information about the device to be added, like the core it incorporates etc.
Valid attributes Parameter Meaning Vendor String that specifies the name of the vendor of the device. This attribute is mandatory. Name Name of the device. This attribute is mandatory. Name=“STM32F407IE” WorkRAMAddr Hexadecimal value that specifies the address of a RAM area that can be used by J-Link during flash programming etc.
Should not be used by any DMAs on the device. Cannot exist without also specifying WorkRAMSize. If no flash banks are added for the new device, this attribute is optional. WorkRAMAddr=“ 0x20000000 ” WorkRAMSize Hexadecimal value that specifies the size of the RAM area that can be used by J-Link during flash programming etc.
Cannot exist without also specifying WorkRAMAddr. If no flash banks are added for the new device, this attribute is optional. WorkRAMSize=“ 0x10000 ” Core Specifies the core that the device incorporates. If a new device added, this attribute is mandatory. Core=“ JLINKCORECORTEXM0 ”For a list of valid attribute values, please refer to Attribute values - Core. JLinkScriptFile String that specifies the path to a J-Link script file if required for the device.
Path can be relative or absolute. If path is relative, is relative to the location of the JLinkDevices.xml file. This attribute is mandatory.
JLinkScriptFile=“ST/Example.jlinkscript” Notes. No separate closing tag. Directly closed after attributes have been specified:. Must not occur outside a tag.