Part Number: IWR6843AOPEVM
Other Parts Discussed in Thread: IWR6843AOP, , MMWAVEICBOOST, CC2652RB, UNIFLASH, IWR6843
Dear Support,
I am developing a custom sensor using an IWR6843AOP and an ESP32 as the host MCU. My goal is to be able to perform firmware updates on the IWR6843AOP directly from the ESP32, without a direct PC connection.
Hardware Setup
-
IWR6843AOPEVM
-
MMWAVEICBOOST (DIP switches set correctly)
-
ESP32 (Host MCU)
-
CC2652RB (Also part of the final design)
Context & What Works
I have successfully implemented a remote flashing process for the CC2652RB via its UART interface (using a TCP-to-serial connection and a custom script based on cc2538-bsl to toggle BSL/RST lines). I am now trying to achieve a similar remote flashing capability for the IWR6843AOP.
Here is the current status of the IWR6843AOP integration:
-
Connections: The ESP32 is connected to the IWR6843AOP's UART interface (RS232 TX/RX @ 115200 for configuration and MSSLogger @ 921600 for data). The MMWAVEICBOOST handles the SOP pin modes.
-
Direct Flashing: I can successfully flash the IWR6843AOP labs using Uniflash on a PC with a simple USB-UART TTL adapter connected directly to the RX/TX/GND pins.
-
Runtime Operation: After flashing, my ESP32 (via its TCP-to-UART connection) can correctly send CFG commands and receive responses from the IWR6843AOP.
-
Data Logging: The ESP32 can also receive the data output from the MSS Logger port.
The Problem
My only remaining issue is initiating the flash process from the ESP32 itself. I cannot get the IWR6843AOP to enter its bootloader mode to accept new firmware when the process is controlled by the MCU, even though it works perfectly from Uniflash.
I have tried automating this with custom scripts and CLI tools, and I have reviewed the boot flow documentation, paying close attention to the timing for the UART break signal. However, all attempts to flash via the ESP32 have failed.
My Question
Is there a specific, low-level sequence or a critical timing requirement for the UART break signal that I must implement on the ESP32 to correctly trigger the IWR6843AOP's bootloader?
Any documentation, examples, or guidance on this specific procedure would be extremely helpful.
Note: A Secondary Bootloader (SBL) is not a viable option for my use case, as I need the ability to flash the primary application binary directly and persistently.
This remote flashing capability is a critical requirement before I can finalize my custom board design. I know this must be possible, as commercial products like the Aqara FP2 use the same chip and support firmware updates.
Thank you for your assistance.