i.MX RT1064 App Flashing / Boot Story

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

i.MX RT1064 App Flashing / Boot Story

1,129 Views
axelrietschin
Contributor II

Hi There,

Could someone give me the TL;DR on the RT1064 boot story?

I'm trying to design a device using this wonderful MCU and ultimately I'd like to be able to update my firmware OTA (the device has a Wi-Fi module (ESP32) connected to the MCU through SPI) and / or from a direct USB connection.

I have a hard time seeing the big picture between flashing the application and booting into it, and reflashing on-the-go. Eventually I want to produce signed firmware that a mobile app (or PC) will download from the web and flash into the device through USB or Wi-Fi.

The device has USB PHY's so say I connect D+ and D- to a PC and the device is blank (from the assembly) Will it appear as anything on the PC so I can connect to it? My understanding is it needs to run an USB stack, but how do I get it there in the first place?

I've found the i.MX RT1064 Manufacturing User's Guide and the MCU Flashloader Reference Manual yet I still could use a quick overview.

What scares me a little is the guy making the Teensy boards uses a separate MCU (an MKL02Z32VLG4) just to handle programming and booting: 

 

0 Kudos
2 Replies

1,125 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @axelrietschin ,

   About the RT1064 OTA, you can refer to the RT1060 ota_bootloader, it can support the UART and the USB HID, you can let that work at first, then you can add your related wifi or others code.

  Reference code:

SDK_2_10_0_EVK-MIMXRT1060\boards\evkmimxrt1060\bootloader_examples\ota_bootloader

SDK_2_10_0_EVK-MIMXRT1060\boards\evkmimxrt1060\lwip_examples\lwip_httpssrv_ota_enet

SDK_2_10_0_EVK-MIMXRT1060\boards\evkmimxrt1060\lwip_examples\lwip_httpssrv_ota_wifi

SDK_2_10_0_EVK-MIMXRT1060\boards\evkmimxrt1060\aws_examples\ota_demo_wifi_nxp

https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/RT1060-OTA-bootloader-ISP-and-swap-rollback-usag...

 

Wish it helps you!

Best Regards,

kerry

1,113 Views
axelrietschin
Contributor II

Thanks @kerryzhou,

I have the RT1064 SDK and my SDK_2_10_0_MIMXRT1064xxxxA\boards\evkmimxrt1064\bootloader_examples only contains one sample: the flashloader example and SDK_2_10_0_MIMXRT1064xxxxA\boards\evkmimxrt1064\lwip_examples does not have lwip_httpssrv_ota_* nor aws_examples\ota_demo_wifi_nxp

Have the OTA samples been retired from the RT1064 SDK? Can I use the samples from the RT1060?

EDIT: I verified my RT1064 SDK had all the options checked on the web page and does not contain the OTA samples. I've created a RT1060 SDK and it contains all the samples you mentioned.

In the meantime I also learned about the BootROM, which apparently has USB HID and UART support similar to the Flashloader?

I think I can use the ESP32 to bus the initial firmware and future updates to the RT1064 through the BootROM via LPUART1, and before that use the ESP32 to toggle the BOOT_MODE0 GPIO and POR_B to reset the MCU into the serial bootloader.

Cheers,
Axel

0 Kudos