Loader to replace the existing boot loader

I'd like to look at the uTasker project's ability to add field upgradability and protected code to a very simple CAN communication project I'm working on. There is a bit of detailed knowledge necessary to run upload software that interacts with the on chip (RT1062) boot loader like serial flash type and configuration. Is anyone aware of a tutorial for very new users that shows a step by step approach to replacing the external flash based boot loader on the Teensy 4.1 with something like the uTasker boot loader? I've looked at Secure Provisioning V25.12 from the NXP website and NXP-MCUBootUtility-master (GitHub repository) and both require "local knowledge" to use :). I'm also working with an Embedded Artists dev board which even seems to require patching of the NXP SP program to properly program the external flash which leads me to believe I should not even try with MCUBootUtility.

Thanks in advance for any direction... Bill
 
Hi

You don't need to replace the external boot loader chip - you can simply load the loader using teensy.exe as any other project file.

If you build the loader yourself you will find that it generates its outputs in "\Applications\uTaskerSerialBoot\GNU_iMX\Objects" [when building with the GCC bat file or in similar IDE specific locations for other build tool chains] and there will be a *.hex file there in the format required. It will be called something like "uTaskerBootComplete_TEENSY_4_1.hex". Simply load this with teensy.exe and it will give you all you need.

If you have difficulties building you can also try pre-built ones at https://www.utasker.com/iMX/Teensy_4_0.html or https://www.utasker.com/iMX/Teensy_4_1.html

Since the external chip in question also performs some other functions, like power sequencing, it should never be removed from the HW unless you can also replace these other features with external circuitry. There are no advantages in replacing it so it is best left as it is.

Regards

Mark

P.S: I have been assuming you refer to the KL02 when discussing external flash based boot loader. If you are referring to the QSPI Flash on the board this is what is programmed by teensy.exe and thsi is where the loader application and /or serial loader are programmed to. When programmed with valid code the i.MX RT 1062 boots from there.
 
Thank you Mark.
I've got the pre-compiled executable loading and working. Next is to work my way through converting my program's compiled results into a uTasker acceptable entry file for the conversion process. IIUC, this requires linker file changes which seem carefully hidden in Arduino IDE for obvious reasons. I'm coming up to speed on MCUXpresso and am in hopes of installing a hello world program via MCU-Link in the near future. Once successful, I can then explore the linker file in MCUX as I suspect it will be much more accessible in a full IDE.

It's been many many years since I've had to install IDEs and sort tool chains. I'm working on three different ones now so it's like drinking from a fire hose. The IDEs and the mcus have gotten significantly more complex. At least the Atmel Studio 7 with related in circuit debuggers went off without a hitch :)
 
Hi
Search for *.ld to locate the linker script. By modifying that you can locate the program as required.
The boot loader supports also on-the-fly decryption and operation of the complete code in RAM (for fastest and most deterministic performance). uTasker applications automatically generate these different outputs on each build and it is fairly easy to adapt the Teensy project (suitable linker script and conversion steps which can be added to the build batch).
Regards
Mark
 
Back
Top