Update README

This commit is contained in:
Gregory Nutt 2016-12-24 10:25:54 -06:00
parent 4f4242ef27
commit c5bb717976
1 changed files with 15 additions and 16 deletions

View File

@ -458,7 +458,7 @@ OpenOCD for the ESP32
To FLASH an ELF via the command line is a two step process, something like
this:
esptool.py --chip esp32 elf2image --flash_mode dio --flash_size 4MB -o ./nuttx.bin nuttx.elf
esptool.py --chip esp32 elf2image --flash_mode dio --flash_size 4MB -o ./nuttx.bin nuttx
esptool.py --chip esp32 --port COMx write_flash 0x1000 bootloader.bin 0x4000 partition_table.bin 0x10000 nuttx.bin
The first step converts an ELF image into an ESP32-compatible binary
@ -477,16 +477,17 @@ OpenOCD for the ESP32
See https://github.com/espressif/esp-idf/tree/master/components/bootloader
and https://github.com/espressif/esp-idf/tree/master/components/partition_table.
Running from IRAM
-----------------
*** SKIP this Section. It is not useful information and will take you down the wrong path. ***
*** See instead "Sample Debug Steps" below which is a really usable procedure. ***
Running from IRAM with OpenOCD
------------------------------
Running from IRAM is a good debug option. You should be able to load the
ELF directly via JTAG in this case, and you may not need the bootloader. The
one "gotcha" for needing the bootloader is disabling the initial watchdog, =
there is code in bootloader_start.c that does this.
ELF directly via JTAG in this case, and you may not need the bootloader.
NuttX supports a configuration option, CONFIG_ESP32CORE_RUN_IRAM, that may be
selected for execution from IRAM. This option simply selects the correct
linker script for IRAM execution.
Skipping the Secondary Bootloader
---------------------------------
It is possible to skip the secondary bootloader and run out of IRAM using
only the primary bootloader if your application of small enough (< 128KiB code,
<180KiB data), then you can simplify initial bring-up by avoiding second stage
@ -499,10 +500,6 @@ OpenOCD for the ESP32
2. Use "esptool.py" utility found in ESP-IDF to convert application .elf
file into binary format which can be loaded by first stage bootloader.
NuttX supports a configuration option, CONFIG_ESP32CORE_RUN_IRAM, that may be
selected for execution from IRAM. This option simply selects the correct
linker script for IRAM execution.
Again you would need to link the ELF file and convert it to binary format suitable
for flashing into the board. The command should to convert ELF file to binary
image looks as follows:
@ -524,8 +521,8 @@ OpenOCD for the ESP32
would I be able to run directly out of IRAM without a bootloader? That
might be a simpler bring-up.
Sample Debug Steps
------------------
Sample OpenOCD Debug Steps
--------------------------
I did the initial bring-up using the IRAM configuration and OpenOCD. Here
is a synopsis of my debug steps:
@ -705,7 +702,9 @@ NOTES:
NOTES:
1. See NOTES for the nsh configuration.
2. 2016-12-23: Test appears to be fully functional in the single CPU mode.
I have not yet tried SMP mode.
3. 2016-12-24: But when SMP is enabled, there is a consistent, repeatable
crash in the waitpid() test. At the time of the crash, there is
extensive memory corruption and a user exception occurrs (cause=28).
Things to Do
============