[ANSWERED] J-Link commander requires -jtagconf on command line after 3.10+

  • [ANSWERED] J-Link commander requires -jtagconf on command line after 3.10+

    As of J-Link commander 3.10+, you will now get the "JTAGConf>" prompt if you don't put -jtagconf -1,-1 on the command line.

    I saw in another thread that you know this.
    [SOLVED] Target Device settings lists Fujitsu MB9EF226 as having no flash/RAM

    If I pass -jtagconf to versions before 3.10, I will get an "Unknown command line option -jtagconf" error message. So now my scripts have to detect what version is running, and then only pass -jtagconf if the version is later than 3.10.

    Here is my question:

    Is this on purpose and will be that way for all future releases of J-Link commander (Windows and Linux)?

    If -jtagconf is not specified on the command line don't you just assume auto-detect (-1,-1)?

    (I'm asking before I go changing a bunch of my scripts when it might be reverted back in the next version or something)

    Thanks,
    Chris
    Renesas America
  • Hi Chris,

    This change has been done on purpose. Changing the behavior back to automatically use auto-detection if no JTAG config has been configured, would result in most users would *not* configure the JTAG config, even it is necessary. In the current implementation it is absolutely clear that it needs to be configured, if necessary. Short: We will not change the behavior back.
    So now my scripts have to detect what version is running, and then only pass -jtagconf if the version is later than 3.10.
    In general, we do not recommend to use the same script with different versions of the J-Link software as they may behave differently (e.g. improvements, bug fixes, etc...). Furthermore, we do not see any reason to use the same script file with different versions. We always recommend to use the latest version.

    May I ask why you want to use the same script with old and new versions of the J-Link software?


    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.
  • Hi Erik,
    This change has been done on purpose.
    In the current implementation it is absolutely clear that it needs to be configured, if necessary.
    OK. I figured that might be the case. We've done stuff like that before as well.
    Furthermore, we do not see any reason to use the same script file with different versions. We always recommend to use the latest version.
    Sure....but people are lazy (including me). If it's not broke....then there is no reason to download and install the latest version.

    May I ask why you want to use the same script with old and new versions of the J-Link software?
    The scripts I am working with are for our RZ/A1 Linux BSP. We don't distribute the J-Link SW with the BSP, users have to download it themselves (if they don't already have it).
    So, some might be using an older version of the JLink SW, some might be working with a newer version. Also, these scripts are for Windows and Linux, so those might also not be the same.

    Here's the Windows version:
    github.com/renesas-rz/rskrza1_…_Program/Program_QSPI.bat

    I just modified this script now to report to the user if their version is older than 5.00j (for RZ/A1, before 5.00j there was a bug) and also to detect if they have 5.10+ (and then I will add in the -jtagconf automatically).
    After I modify and test the Linux version script, I'll push them up both back up to this repository and they will go into our next BSP release.

    People like it when things like scripts just magically work. So, I try to do as much as I can to make 1 script that works with as much as it can.

    Thanks for the quick reply!

    Cheers
    Chris
  • Hi Chris,

    Thank you for the further information about your script / target group.

    I did not assumed that you provide a script to a community but that you use it internally, only. In latter case it would not make sense to work with different versions of the J-Link Commander. So either only old versions or only new versions but not a mix of both. However, when providing the script to a community which potentially of course use either old or new versions of the J-Link Commander, the easiest way would be to adapt the script to be able to handle both cases. The other option would be to make the scripts compatible to versions >= V5.10 and in cases where the script is used with versions < V5.10, the script refuses to start (e.g. "For this script, software version >= V5.10 has to be installed. Please download and install the latest version from segger.com/jlink-software.html).

    Cheers
    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.
  • Hi Erik,

    The other option would be to make the scripts compatible to versions >= V5.10 and in cases where the script is used with versions <V5.10, the script refuses to start (e.g. "For this script, software version >= V5.10 has to be installed.
    Of course on my machines (Windows and Linux) I will change all my personal scripts to 5.10+ only. But, for the community scripts, I think I will support both ( <5.10 and 5.10+) for 6 more months, then I will only support 5.10+

    Unfortunately, now I have many app notes and demo instructions to change :(

    Cheers
    Chris
  • Hi Chris,

    please note, that the J-Link Commander has been designed for simple analytic purposes and we always add new features which might result in that the way it needs to be started / the amount of commands which have to be passed can change in the future (e.g. as it did for >= V5.10). If you want to have the complete control about the J-Link Commander, we would recommend to use the J-Link SDK to create a small application which fits the requirements. The J-Link SDK already comes with the source code of the J-Link Commander so it can be used as reference and should be something like a 10 minute job :) . Side advantage: You can drop the complex script file and you can individualize the application so it fits your requirements.


    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.
  • Hi Erik,

    This is for our RZ/A1 RSK kit that comes with a J-Link LITE. All this scripting stuff is to make it very easy for a customer to evaluate our RZ/A1 Linux BSP using just the kit (including the J-Link LITE).

    The reason I never considered the SDK method was because I though it can't be used with a J-Link LITE. Correct??
    Also, can the app I create with the SDK be used by a customer that does not have the SDK installed on their machine?

    Thanks,
    Chris
  • Hi Chris,

    The reason I never considered the SDK method was because I though it can't be used with a J-Link LITE. Correct??
    Not correct. The J-Link LITE can be used with an application based on the J-Link SDK (e.g. J-Link Commander)
    Also, can the app I create with the SDK be used by a customer that does not have the SDK installed on their machine?
    Yes, as long as you do not deliver any header files which are included in the SDK. Furthermore, as the created application uses the J-Link DLL, the customer requires the J-Link DLL.

    Two options:
    a) Customer has to install the J-Link software package, which comes with the J-Link DLL. Your application uses the DLL from the SEGGER installation (example is provided in the J-Link SDK documentation).
    b) You deliver the J-Link DLL as part of a package together with the created application. In this case, you have to add an license.txt which includes the license agreement from our webpage: segger.com/jlink-software.html?step=1&file=JLink_510p


    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.