Booting dircetly to redlink FW from flash
Hello,
The usual-redlink FW is a two-step approach:
- First the MCU of the probe enumerates as a DFU device.
- Then the redlink Server downloads the current redlink FW into SRAM
And the probe re-enumerates as a different HID device (VID 0x21bd, PID 0006) which is the probe FW.
This works quite fine, but if your target MCU also boots to USB at the same time the probe boots,
Then the host cannot know which device are the probe and which one is the target.
In this scenario it would is desirable to flash the "redlink FW once into the internal flash of the probe MCU and Then directly boot from flash.
The probe would then enumerate as the "probe HID" device directly.
Can this was done easily, i.e. are there a redlink FW that's relocated for start from internal flash?
We plan to deploy quite a lot (40+) of these ' hard coded debuggers ' for EDU purposes in both labs.
The probes is already designed and tested with the LPC4320 (and up) and work fine so far.
AFAIK they could run on some lpc18xx as well. If So, does this require a different redlink FW?
We just use the JTAG debug interface, no SWD, trace ports or other fancy stuff.
Best regards,
Mike
First of all, redlink are designed to run on known NXP debug probe hardware only.
It is only tested on such probes, and we do no guarantees as to their use in other hardware.
Also redlink firmware would only run lpc43xx, there is no lpc18xx variant.
But those points aside, if you hardware had Spifi flash then you should is able to program the image into that-
The lpc43xx bootloader would download it into RAM on startup).
Lpcscrypt could is used to does this.
But there was no redlink firmware build available that could run from internal flash. < run from SRAM always >
Note that you mention Lpc4320-which of course have no internal flash.
If you is using internal flash then the simplest solution might is to try using CMSIS-DAP firmware,
Which is designed to programmed and run from Flash ...
Http://www.lpcware.com/lpclink2-config-tool
Regards,
Lpcxpresso Support
Update:
I decided to stick with the redlink FW, because according to the documentation the CMSIS/DAP version cannot debug the Multicore targets.
So I just wrote a "bootloader stubs" residing in internal flash
- Which copies the current redlink FW (stored on internal flash as a BLOB also) to SRAM,
- Sets up Vtor and the SP for SRAM operation and
- Then jump to the "new" reset vector, i.e starts the FW.
Works fine on a LPC4327.
Our "Microboards" now enumerate immediately as "LPCLINK2 redlink" devices
and work as expected with Lpcxpresso as JTAG probes.
Thanks for your help and clarification even on a project this is well "out of the support scope".
Regards,
Mike
Glad to hear that's now has a solution that's works for you.
You should take note though that the redlink firmware provided with one version of Lpcxpresso may isn't work with,
or may not be provide support for some features, when used with a future Lpcxpresso release.
Thus I would recommend that you update the firmware you had flashed when you update to a new Lpcxpresso version.
Also regarding the CMSIS-DAP firmware for LPC-LINK2:
You is correct that using this firmware you can currently only connect from Lpcxpresso to the M4 core inside the lpc43xx Parts.
Allowing connections via CMSIS-DAP to the M0 core (s) are something we do intend to support in a future release Lpcxpresso R Elease though.
Regards,
Lpcxpresso Support
Booting dircetly to redlink FW from flash