[SOLVED] J-Link with ARM AXD Debugger

  • [SOLVED] J-Link with ARM AXD Debugger

    We are using J-Link PLUS with the ARM AXD debugger over the RDI interface on Windows 7.

    Currently when we start the AXD debugger, the Target device settings window is displayed and we have to select the processor device and then press OK. Is there any way to set this in an init file, so the window is not displayed every time AXD is started?

    We have a large number of batch files that start AXD and run scripts and it would be nice if we did not always have this window pop up before the script is executed.
  • Hi,

    We understand your situation but there is not much we can do here.
    In general, the dialog pops up if no device is passed to the J-Link DLL.
    There are three possible options to do so:
    1. The IDE / Debugger vendor, offers a device dialog and pass the selected device to the DLL using the J-Link API
    2. The IDE / Debugger vendor, allows customers to enter custom commands which are passed to the DLL, so customers could set the device on their own
    3. Through a J-Link settings file. The problem here is that the path of the settings file must be passed to the J-Link DLL as well. This is something which has to be implemented by the IDE / Debugger vendor, too.

    So far, I have not tested the ARM AXD Debugger, but I would assume that none of the 3 options are implemented.
    You could check if they pass a settings file to the J-Link DLL by checking the J-Link log file.
    If they pass a settings file, the line should look like:
    JLINK_ExecCommand("ProjectFile = C:\Work\Settings.script")

    Apart from this, we provide a list of IDEs which comes with native J-Link support. Some of them are available free of charge. Maybe one of them is a good alternative for you. We can recommend emIDE.


    Best regards
    Erik
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • You are correct and none of the 3 options are implemented for AXD.

    Although AXD does not allow anything to be passed to the dll, there is a line in the JLINK log file showing this
    JLINK_ExecCommand("ProjectFile="C:\Program Files (x86)\SEGGER\JLINK_V496b\Default.jlinksettings"", ...)

    I think we can just edit this default config file and set the device to one we use, such as
    DEVICE="ARM9"
  • You have to adapt the following lines:
    Override = 1
    Device="$DEVICE_NAME$"

    Override, forces the J-Link DLL to use the device name from the settings file.
    The device="$DEVICE_NAME$" specifies the device name. A list of all supported
    devices can be found on our website: segger.com/jlink_supported_devices.html

    Example for an AT91SAM9XE512 device:
    Override = 1
    Device="AT91SAM9XE512"

    - Erik
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • I was able to change this settings file with the changes described C:\Users\my_user_name\AppData\Local\VirtualStore\Program Files (x86)\SEGGER\JLink_V496b\Default.jlinksettings

    Now the Target Device Settings is not displayed when AXD is started.
  • Thanks for the feedback!
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.