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:
- 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
- Locate the JLinkDevices.xml to add the new Flashloader algorithm that will be visible in JLink Flash / JLink Commander
- Place the previously compiled .FLM file inside Devices directory (the one that is no longer present for newer versions of JLink)
- 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