Part Number: TMDS243EVM
Other Parts Discussed in Thread: UNIFLASH
We've been exploring the AM64x and AM243x EVM's and we are consistently running in to a the same issue: We are constantly switching between boot modes when developing for the R5 and M4 cores.
With normal, smaller microcontrollers, the program flow is as follows:
- Write the application to flash using JTAG/SWO
- Debugger Asserts reset pin
- Microcontroller starts executing code from the reset vector, which launches your application.
Since the application is written to flash, it persists when the device is power-cycled.
However, with the AM64x/AM243x, we have 3 methods of flashing the binary:
- UART uniflash: AM243x MCU+ SDK: Flashing Tools (ti.com)
- Requires switching between UART and OSPI boot modes
- USB DFU Uniflash: AM243x MCU+ SDK: Flashing Tools (ti.com)
- Requires switching between DFU and OSPI boot modes
- JTAG Uniflash: AM243x MCU+ SDK: Flashing Tools (ti.com)
- Bare-bones example that requires manual typing in console
None of these methods are suitable for rapid-prototyping and debugging, and are more suited when the application is flashed once in the factory.
For development, the SBL_NULL bootloader is recommended, or perhaps the DEV boot modes. However, these don't save the application when powered down.
Is there a method I missed that allows us to flash and interact with the R5/M4 cores similarly to a regular microcontroller?