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:
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
Wish it helps you!
Best Regards,
kerry
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