Bootloader for MX RT1024

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Bootloader for MX RT1024

1,112 Views
BAW
Contributor I

Hello,

We are looking at the MX RT1024 as a potential processor for our next project. Key functionality we would want is the ability to update the firmware (running XIP in the Winbond NOR SPI Flash) in the factory and in the field via USB.

I am looking for information on this. I did find the following link for "MCU Bootloader for NXP Microcontrollers":

https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcu-bootload...

Is this the PC side tool(s) we should be using?

Looks like there is a GUI - "Kinetis Flash Tool User's Guide" but this is only good for Kinetis parts and we would need to use the command utility - blhost?

I did create and download MCUXpresso SDK. It has a folder SDK_2_14_0_MIMXRT1024-EVK-OM13790HOST\middleware\mcu_bootloader

with the following folders:

bin, src, target, tools.

tools has some subfolders for sdphost c++/header files. 

I am not sure how to utilize this mcu_bootloader folder?

Thanks for any help or explanation.

Brent

 

 

 

 

 

 

 

0 Kudos
Reply
7 Replies

1,056 Views
BAW
Contributor I

Thank you for the response. We are not looking to update our firmware OTA.

I was hoping to find an example of updating the firmware on the MIMXRT1024-EVK with USB where our application is running XIP in the Winbond NOR Flash.

Can you point me to such an example?

Thanks,

Brent

 

 

 

0 Kudos
Reply

1,034 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @BAW ,

  Thanks for your updated information.

 As I know, the https://github.com/NXPmicro/sbl already suppor the USB bootloader which can run in the external QSPI flash.

  To the RT1024, in fact, it is just the winbond QSPI flash in the internal chip, you just need to modify the flexSPI interface.

  Another way, you can copy the flashloader to the flash, then jump to the flashloader to do the USB HID app downloading, then jump to the app.

  You can refer to this doc:

https://www.nxpic.org.cn/module/forum/thread-620172-1-1.html

 

Wish it helps you!

Best Regards,

Kerry

0 Kudos
Reply

945 Views
BAW
Contributor I

Thank you for the reply.

You say -

" As I know, the https://github.com/NXPmicro/sbl already support the USB bootloader which can run in the external QSPI flash."

I am not sure what you mean here? Looking at the link it is a for OTA updates - Secure Bootloader(SBL) project is used for secure OTA? Are you saying I could use this for USB HID updates?

You also say -

" RT1024, in fact, it is just the winbond QSPI flash in the internal chip, you just need to modify the flexSPI interface."

I am trying to understand what would need to be done in the flexSPI interface?

I will try taking a look at the link.

I guess I am surprised there is not already a USB HID bootloader in the SDK. Pretty much any other part that has a USB OTG has support for this.

Thanks,

Brent

 

 

 

0 Kudos
Reply

925 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @BAW ,

    Please read this application note:

AN13460:

https://www.nxp.com/docs/en/application-note/AN13460.pdf

kerryzhou_0-1696903526832.png

So, you can find it is supporting the ISP, which is the USB HID method to download the code.

 In fact, you can consider it is using the flashloader function, just put the flashloader from RAM to the flash to realize the USB HID ISP method.

So, answer your questions again:

1. SBL support USB HID updates

2.what would need to be done in the flexSPI interface?

=>Answer: The SBL is using the RT1020 which is the external QSPI, RT1024 is the internal QSPI, so the flexSPI interface pin is not the same.

This is the RT1024 situation:

kerryzhou_0-1696903943370.png

This is the RT1020 situation:

kerryzhou_1-1696903967666.png

So, you need to modify the RT1020 code flexSPI pin to the RT1024 pin, otherwise, RT1024 can't work.

To the SDK, in fact the flashloader support the USB HID, just this code is run in the internal RAM, if you want to use it as the secondary bootloader, you need to download it to the flash, then copy it to the internal RAM to run it:

SDK_2_14_0_MIMXRT1024-EVK\boards\evkmimxrt1024\bootloader_examples\flashloader

 

Wish it helps you!

Best Regards,

kerry

 

 

0 Kudos
Reply

914 Views
BAW
Contributor I

Thank you for the information!

0 Kudos
Reply

904 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @BAW ,

  You are always welcome!

   If your question is solved, please help to mark the correct answer to close this case, thanks.

   Any new issues, welcome to create the new case.

 

Best Regards,

Kerry

0 Kudos
Reply

1,099 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @BAW ,

   What's the detail secondary bootloader you want to realize? OTA?

  I checked the RT1024 SDK demo, it didn't add the ota_bootloader, that's why you can't find it, just find the middleware.

  You can refer to the RT1060 SDK demo:

SDK_2_14_0_EVK-MIMXRT1060\boards\evkmimxrt1060\ota_examples

 You need to port it.

You also can refer to our :

https://github.com/NXPmicro/sbl

https://github.com/NXPmicro/sfw

This secondary bootloader is also very good.

https://www.nxp.com/docs/en/application-note/AN13460.pdf

That can support RT1020, if you switch to RT1024, it will be more easy.

 

Wish it helps you!

Best Regards,

Kerry

 

 

0 Kudos
Reply