[SOLVED] JLink custom FlashLoader - How to create one for newer JLink releases (after version release 7.xxx/8.xxx)

  • Hello,
    I'd like to use newer JLink software (I'm currently on version 7.92c) for the JLink programmer device to program external memory connected to IMXRT1176 microcontroller.
    I already have a working solution for an older version that I currently use, but I'd like to port the solution to the newer version.

    While wanting to do that, I noticed that from some version of JLink, both Devices directory and JLinkDevices.xml are no longer present in the installation path. That got me thinking, where did all of these .FLM files containing actual flashloaders and corresponding configurations (xml file with entries for each target) for different microcontrollers from different vendor go to?
    Right now, I'm just puzzled and I do not know what is the recommended way when it comes to creation of custom flash loaders - Should I copy-paste Devices directory from previous version of JLink release or there is some other method?

    When it comes to FlashLoader creation I followed the procedure described in the chapter below.

    Creating custom FlashLoader
    From my previous experience, what one needs to do to get a custom flashLoader working is the following:

    1. Build FlashLoader project (I built it in Keil due to specific memory placement of certain data fields and code - it was taken care of by default with Keil), that will implement the OpenFlashLoader interface (Flash Programming Algorithm description, FuncAPI here), github repo with template can be found here, whereas on SEGGER website, there is also THIS template as well
    2. Locate the JLinkDevices.xml to add the new Flashloader algorithm that will be visible in JLink Flash / JLink Commander
    3. Place the previously compiled .FLM file inside Devices directory (the one that is no longer present for newer versions of JLink)
    4. Run JLinkCommander and see if the new device is visible from the tool and if you can actually upload the .hex/.bin file into the memory

    And if everything above goes as planned, new FlashLoader is ready to be used.

    It would be ideal if such procedure would be described on your wiki page - I did not found anything like that.

    Best regards,
    Michael

    Edited once, last by mimlo (May 21, 2025 at 6:33 PM).

  • Hello,

    The correct folder structure for adding new devices can be found here:
    https://kb.segger.com/J-Link_Device_…kDevices_folder

    I understand that it's not ideal to have this information only listed on the J-Link Device Support Kit Wiki page.
    Could you let us know which Wiki pages you were searching on for this information?
    That way, we can link to the relevant section from those pages as well making it easier for other users to find in the future.

    Best regards,
    Simon

    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: https://www.segger.com/ticket/

    Or you can contact us via e-mail.

  • Hi,
    Honestly, I was looking in the correct place because I initially looked at SEGGER Flash Loader - SEGGER Knowledge Base, which should have led me to what you posted. Somehow I missed that.

    One think that I'm missing (or maybe I do not know about its existence) is some kind of central wiki page for segger from where I could be directed to all those different topics like Flash Loader, Jlink Commander, Scripting, DLL, and other places. Right now, when I'm looking for something that I know should be on your wiki, I need to be directed there by google search, or by search in your wiki.
    However, I think there are lots of cool SEGGER wiki pages about some interesting stuff that I do not even know exist, so having some central point from where I could reach those would definitely be a plus.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!