Commit Graph

50 Commits

Author SHA1 Message Date
Eren Terzioglu
024e95875a esp32: Add nuttx toolchain support on mcuboot 2024-07-16 10:30:56 +08:00
Almir Okato
593dc946d1 esp32: add simple boot support
The Simple Boot feature for Espressif chips is a method of booting
that doesn't depend on a 2nd stage bootloader. Its not the
intention to replace a 2nd stage bootloader such as MCUboot and
ESP-IDF bootloader, but to have a minimal and straight-forward way
of booting, and also simplify the building.

This commit also removes deprecated code and makes this bootloader
configuration as default for esp32 targets and removes the need
for running 'make bootloader' command for it.

Signed-off-by: Almir Okato <almir.okato@espressif.com>
2024-07-04 18:22:24 -03:00
Almir Okato
16f8966fa9 esp32s2: add simple boot support
The Simple Boot feature for Espressif chips is a method of booting
that doesn't depend on a 2nd stage bootloader. Its not the
intention to replace a 2nd stage bootloader such as MCUboot and
ESP-IDF bootloader, but to have a minimal and straight-forward way
of booting, and also simplify the building.

This commit also removes deprecated code and makes this bootloader
configuration as default for esp32s2 targets and removes the need
for running 'make bootloader' command for it.

Signed-off-by: Almir Okato <almir.okato@espressif.com>
2024-06-04 18:53:14 -03:00
Gustavo Henrique Nihei
76acfef5ec xtensa/esp32: Add support for Protected Mode
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-07-14 14:57:57 +08:00
YAMAMOTO Takashi
9bccfbc2d9 esp32*: Update nuttx.manifest for nuttx.bin 2022-05-27 13:41:51 +03:00
Gustavo Henrique Nihei
42ffae2d2d tools/esp: Fix App image alignment when Flash Encryption is enabled
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-01-05 17:04:19 -03:00
Gustavo Henrique Nihei
10a8dc9f22 tools/esp: Prevent reset after flash when Flash Encryption is enabled
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-01-05 17:04:19 -03:00
Gustavo Henrique Nihei
d22a2aa7a0 xtensa/esp32: Refactor makefiles for compliance to Function Call Syntax
According to Make documentation:
- "Commas and unmatched parentheses or braces cannot appear in the text
  of an argument as written";
- "Leading spaces cannot appear in the text of the first argument as
  written".

Although in the current state it was not resulting in parsing issues, it
is better to fix it.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-12-21 07:02:40 -06:00
Gustavo Henrique Nihei
6c3223289f xtensa/esp32: Add Secure Boot support on top of MCUboot
This adds the capabitlity of building signed images on NuttX.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-12-21 07:02:40 -06:00
Gustavo Henrique Nihei
9d7b9821b3 xtensa/esp32: Enable Partition Table allocation at custom offset
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-10-25 16:34:58 -03:00
Gustavo Henrique Nihei
0299e7d35d tools/esp32: Refactor generation of QEMU-compatible image
Use the merge_bin builtin function from esptool.py.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-10-19 23:23:43 +02:00
Xiang Xiao
8b67944c75 sched: Remove pidhash_s and move ticks to tcb_s
simplify the code logic and reduce memory a little bit

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-10-16 06:19:17 -03:00
Alan C. Assis
e0389ce1fb build: Replace 'make download' with 'make flash' 2021-10-14 16:33:27 -03:00
Gustavo Henrique Nihei
17ec1d04c0 tools/esp32: Remove unneeded variable initialization
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-27 18:22:29 -07:00
Abdelatif Guettouche
cca3fa36ce tools/espXX/Config.mk: Refactor the flash options.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-09-08 09:25:28 -03:00
Gustavo Henrique Nihei
adef19704d tools/esp32[s2,c3]: Extract POSTBUILD operations into functions
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-08 12:16:52 +02:00
Gustavo Henrique Nihei
6de75d9932 tools/esp32: Add nuttx.signed.bin to the manifest file
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-08 12:16:52 +02:00
Gustavo Henrique Nihei
c0344d2273 tools/esp32: Create option for merging all binaries into a single file
This is only useful when the path to binary files (e.g. bootloader) is
provided via the ESPTOOL_BINDIR variable.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-08 12:16:52 +02:00
Gustavo Henrique Nihei
98c30c2f7e tools/esp32: Rename signed binary image to match clean pattern
This is just a workaround for adding the MCUboot signed binary image to
the clean step of the build system. Once the NuttX build system becomes
aware of general signed images, a new naming pattern should be defined
for the signed images to be used by every platform.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-01 14:13:28 -03:00
YAMAMOTO Takashi
c073b36741 tools/esp32/backtrace.gdbscript: Add a few convenient functions 2021-08-16 11:01:13 +02:00
Abdelatif Guettouche
6b412c873b tools/esp32/Config.mk: Bring back the old behaviour where ESPTOOL_BINDIR
can be omitted from the command line when flashing.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-08-13 20:46:51 -03:00
Abdelatif Guettouche
11fe075e5e tools/esp32/Config.mk: Remove an unused option.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-08-13 20:46:51 -03:00
Gustavo Henrique Nihei
1dfcc6ab49 xtensa/esp32: Enable boot from Espressif's port of MCUboot
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-08-13 08:44:20 -03:00
YAMAMOTO Takashi
0e76a16545 tools/esp32/backtrace.gdbscript: don't modify registers
* it wasn't intended.

* it doesn't always work:

    (gdb) source tools/esp32/backtrace.gdbscript
    (gdb) esp32_bt 0x40139706 0x80139811 0x3ffafd40
    Attempt to assign to an unmodifiable value.
    (gdb)
2021-06-28 01:11:34 -05:00
Abdelatif Guettouche
1ea25a83fe tools/esp32/mk_qemu_img.sh: Group the offsets in variables. 2021-05-03 11:11:32 -03:00
Abdelatif Guettouche
f08aa47927 tools/esp32/mk_qemu_img.sh: Refactor the dd commands and suppress all the
status output.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-05-03 11:11:32 -03:00
Abdelatif Guettouche
07b65d10f1 tools/esp32/Config.mk: Revert part of "Don't abort make when QEMU script
fails"

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-10 19:23:48 +08:00
Abdelatif Guettouche
05f1f3518b tools/esp32: Continue the build if the QEMU script fails.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-09 18:05:35 -03:00
Abdelatif Guettouche
e94bf12929 tools/esp32xx/: Always flash with DIO.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-09 18:05:35 -03:00
Abdelatif Guettouche
9428ba9186 tools/esp32XX: Delete the Makefile that downloads IDF.
That was only to build the bootloader and partition table.  Now we have
a repo with pre-built binaries and with instructions on how to
customize the bootloader.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-08 17:34:00 -03:00
Abdelatif Guettouche
77302f9d3a xtensa/esp32: Add more flash options to esptool.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-03 18:28:18 -08:00
Gustavo Henrique Nihei
3850df7a78 tools/esp32: Fix warnings from ShellCheck 2021-02-22 17:39:33 +00:00
Abdelatif Guettouche
2c338a3ad0 tools/esp32xx/Config.mk: Update the binaries names to reflect the same
name used with the esp-nuttx-bootloader repo.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-02-21 09:57:01 -08:00
Abdelatif Guettouche
86fd6843c3 tools/esp32: Refine the QEMU image generation.
Use the usual while loop idiom when parsing arguments.
Add more options to the script to be able to specify the name of the
NuttX binary and final image.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-02-21 09:57:01 -08:00
Abdelatif Guettouche
b1ba1d4bca tools/esp32/Config.mk: Refine the usage of the IDF binaries.
1.  Don't use the bootloader and partition-table
binaries from a hello-world example.  Rather the ESPTOOL_BINDIR variable
can be used to give a user-defined location.
2. The ESPTOOL_BINDIR variable has to be as generic as possible.  Don't
   assume any board configuration.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-02-10 14:32:37 -03:00
Gustavo Henrique Nihei
ea3eccb490 esp32: Make esptool output non-silent on POSTBUILD 2021-02-09 23:20:02 +00:00
Gustavo Henrique Nihei
d1db7dc30c esp32: Fix esptool install command 2021-02-08 21:17:22 +00:00
Gustavo Henrique Nihei
da2e8c8514 esp32: Define DOWNLOAD target for flashing ESP32 2021-02-08 21:17:22 +00:00
Gustavo Henrique Nihei
1069bbd024 esp32: Abort POSTBUILD if esptool.py is missing 2021-02-08 21:17:22 +00:00
Gustavo Henrique Nihei
a8cf8abfaa esp32: Create chip selection config to improve capabilities refinement 2021-02-08 21:17:22 +00:00
Gustavo Henrique Nihei
7f7416278d build: Deprecate NUTTXNAME variable
NUTTXNAME is used only as an alias for "nuttx", not actually a
configuration property. Its definition might erroneously imply that the
name of binary image may be configurable, which is not the case.
2021-02-06 07:18:46 -08:00
Abdelatif Guettouche
0e8cce4dee tools/esp32: Remove some duplicated output.
Redirect the first check of esptool to /dev/null as it will be printed
twice when esptool is called to convert the binary.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-02-03 19:19:07 -08:00
Gustavo Henrique Nihei
053a560aa1 esp32: Make esp32 boards share a common Config.mk with POSTBUILD command 2021-02-03 18:15:56 -03:00
Gustavo Henrique Nihei
afad13dfaa esp32: Refactor QEMU image generation on POSTBUILD 2021-02-03 18:15:56 -03:00
YAMAMOTO Takashi
c3a3fa7715 tools/esp32/backtrace.gdbscript: Add comments 2021-01-21 10:28:45 +01:00
Abdelatif Guettouche
f40389b359 tools/esp32/btdecode.sh: Script to decode the Xtensa backtrace. 2021-01-16 09:50:03 -03:00
YAMAMOTO Takashi
21c091f903 esp32: Add a gdb script to show backtrace
Just for my convenience. Hopefully useful for others too.
2021-01-14 09:23:36 +01:00
Sara Souza
fde7c2bc19 xtensa/tools: Updated makefile to download the IDF stable version 2020-10-20 13:36:43 +01:00
Xiang Xiao
7e5b0f81e9 build: Replace -I with INCDIR
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-24 20:20:12 +01:00
Miguel Herranz
d410a29693 Support to run NuttX on ESP32 QEMU 2020-03-21 14:03:07 -06:00