summaryrefslogtreecommitdiffstatshomepage
path: root/docs/esp32/tutorial
diff options
context:
space:
mode:
authorrobert-hh <robert@hammelrath.com>2024-10-03 09:07:48 +0200
committerDamien George <damien@micropython.org>2025-02-10 11:28:39 +1100
commite574f6882082058b868b2f81955d8204fa1c852d (patch)
treefeef9738669fc352bb5cd7e3c00069d1b4db31bf /docs/esp32/tutorial
parentb2ce9b6fb03ed27943733235eac2f3f5e0d5b97d (diff)
downloadmicropython-e574f6882082058b868b2f81955d8204fa1c852d.tar.gz
micropython-e574f6882082058b868b2f81955d8204fa1c852d.zip
mimxrt: Add support for a UF2 bootloader.
Allowing to use e.g. the Adafruit bootloaders with MicroPython. The .uf2 file is created in addition to the .bin and .hex files allowing to use the latter ones without the bootloader for debugging and testing. Changes: - Set the location of the ISR Vector and .text segment to 0x6000C000 and 0x6000C400. - Reserve an area at the start of ITCM for a copy of the interrupt vector table and copy the table on reset to this place. - Extend `machine.bootloader()` by setting the magic number to enable the bootloader on reset. - Create a .uf2 file which skips the segments below 0x6000C000. The bootloader has to be installed as a preparation step using the board specific methods, but then the firmware's .uf2 file version can be installed using the bootloader. The bootloader can be invoked with: - double reset - calling machine.bootloader() - Using the touch1200 method Double reset is hard to achieve on MIMXRT boards, since there is no clean reset pin. Some MIMXRT boards provide it by switching the power. Some boards are excluded from the .uf2 build: - MIMXRT1050_EVK: The uf2 bootloader is built for the QSPI version of the board. MicroPython supports the Hyperflash version. - MIMXRT1176_EVK: No support for this board yet, but it should be possible. Signed-off-by: robert-hh <robert@hammelrath.com>
Diffstat (limited to 'docs/esp32/tutorial')
0 files changed, 0 insertions, 0 deletions