Commit Graph

226 Commits

Author SHA1 Message Date
Roland Dobai
548ea1bdd5 tools: Wrap flash binaries into a UF2 file for flashing through USB MSC
@mmoskal This commit adds basic support for UF2 into ESP-IDF.
2020-12-29 18:14:47 +01:00
Omar Chebib
fcbc706a66 ci: fix flasher_args.json parser (iterate over dictionary)
Closes IDFCI-347
2020-12-29 12:27:51 +08:00
Renz Bagaporo
a926039575 esptool_py: simplify serial tool script 2020-12-17 11:25:32 +08:00
Renz Bagaporo
55684fab72 esptool_py: use serial script for monitor 2020-12-17 11:25:32 +08:00
Renz Bagaporo
ca6c093d1a esptool_py: make script generic for serial ops 2020-12-17 11:25:32 +08:00
Omar Chebib
02ddecb69f buildsystem: flash binary to a named partition
Changed optional value parameter 'encrypted' to a named parameter
called 'ALWAYS_PLAINTEXT'. This flag can be passed to:
- esptool_py_flash_target
- esptool_py_flash_target_image
Fix wrong identation.
2020-12-08 12:16:02 +08:00
Omar Chebib
ccaee8ce88 buildsystem: flash binary to a named partition
Add support for CMake version less than 3.8. These versions don't
provide a way to have ternary expressions in expressions generator.
2020-11-26 10:04:34 +08:00
Omar Chebib
956538e364 buildsystem: flash binary to a named partition
- Add the function esptool_py_flash_to_partition to flash a binary
image to a named partition. If encryption is enabled, this function
will also determine if the partition needs to be encrypted or not
according the its type, subtype and flag in the CSV file (if any).
- Use idf.py encrypted-flash will now flash both encrypted and
non-encrypted file if any (spiffs for example) using esptool.py's
--encrypt-files option.

Closes IDF-2387
Relates to IDF-723
Relates to IDF-2231
2020-11-26 10:04:34 +08:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Angus Gratton
e82eac4354 cmake: Apply cmakelint fixes 2020-11-11 07:36:35 +00:00
Angus Gratton
479acb2210 esptool: Update to v3.0 release version 2020-11-10 02:36:18 +00:00
KonstantinKondrashov
b19c4739c3 bootloader: Secure_boot name replaced by secure_boot_v1 & secure_boot_v2
- espefuse.py burn_key secure_boot is no longer used.
- Secure boot V1: espefuse.py burn_key secure_boot_v1 file.bin
- Secure boot V2: espefuse.py burn_key secure_boot_v2 file.bin
2020-10-15 16:48:23 +08:00
Mahavir Jain
20af94ff53 Coredump config option rename throughout IDF 2020-09-30 20:22:27 +05:30
Angus Gratton
e95c8c1d66 Merge branch 'feature/esptool_allow_no_stub' into 'master'
Allow esptool's download stub to be disabled by other options and applications

See merge request espressif/esp-idf!10114
2020-09-26 01:25:53 +08:00
morris
0bb21281ca esp32s3: select esp32s3 beta version in menuconfig 2020-09-22 15:15:03 +08:00
morris
e90dbe29cb esp32s3: run on chip 2020-09-22 15:15:03 +08:00
morris
61f89b97c6 bringup esp32-s3 on FPGA 2020-09-22 15:15:03 +08:00
me-no-dev
b64fd872bc Allow esptool's download stub to be disabled by other options and applications
Currently USB CDC Download requires the `--no-stub` option of `esptool`. This change inverts the Kconfig option to negative, so that it can be `selected` by other options or enabled in applications through `sdkconfig.defaults`.
2020-09-16 03:25:53 +00:00
Supreet Deshpande
63161abb76 esptool: Update submodule fixing Py3 keygen in Secure boot v2 2020-08-26 03:25:32 +05:30
Angus Gratton
49907bddff Merge branch 'bugfix/pm_uart_rate' into 'master'
common: UART console settings fixes & improvements

See merge request espressif/esp-idf!9297
2020-07-23 13:13:11 +08:00
KonstantinKondrashov
76fd504cc8 esptool: Update esptool
Closes: ESPTOOL-44
2020-07-16 13:24:09 +08:00
Angus Gratton
f1ac79747b monitor: Add a "Same as UART Console baud rate" setting
Usually the monitor will want to run at the same speed as the boot log output.
2020-07-10 16:58:05 +10:00
Ivan Grokhotkov
f07a7805a6 esptool: update for CDC stub support 2020-06-26 15:38:49 +02:00
Angus Gratton
d45eabe676 esptool: Add support for ESP32-S2 Secure Download Mode
* Pass --no-stub from build system if configured to enable ESP32-S2 Secure Download Mode
* Update esptool submodule
2020-05-28 17:52:15 +10:00
Angus Gratton
5bd75b134d esptool: Set 80MHz SPI flash speed for ESP32-S2 & future chips
Most ESP32 devices will also work at 80MHz, but third party boards/modules
may not have been tested at this speed so the default is kept at 40MHz for safety.
2020-05-20 06:19:34 +00:00
KonstantinKondrashov
86a73de9b3 esp-idf: Update esptool and add reedsolo and bitstring into requirements.txt
They are necessary for espefuse.py from esptool v3.0.
2020-05-14 13:29:21 +10:00
Ivan Grokhotkov
b09ed2d2aa esptool: fix malformed json when no files are flashed 2020-05-04 19:11:26 +02:00
Ivan Grokhotkov
dafd50934d esptool: don't generate flashing metadata in loadable elf build 2020-05-04 19:11:00 +02:00
Ivan Grokhotkov
dfbf8ce518 Merge branch 'bugfix/display_partition_table' into 'master'
partition_table: do not always display partition table contents on build

See merge request espressif/esp-idf!8289
2020-05-04 14:51:32 +08:00
Angus Gratton
90b3676280 make: Fix quoting when flashing port is set via sdkconfig file
Regression in 862fa815ff

Closes https://github.com/espressif/esp-idf/issues/5124
Closes https://github.com/espressif/esp-idf/issues/5104
2020-04-15 15:43:36 +10:00
Ivan Grokhotkov
2e14149bff Merge branch 'feat/monitor_remake_with_serial_arg' into 'master'
idf_monitor: support to re-flash with the using port

Closes IDFGH-2479 and IDF-836

See merge request espressif/esp-idf!6373
2020-04-09 05:43:32 +08:00
Renz Bagaporo
acb7a211dd partition_table: do not always display partition table contents on build 2020-04-08 11:38:43 +08:00
Renz Bagaporo
07f9978df7 cmake: add elf dir information
Solves https://www.esp32.com/viewtopic.php?f=13&t=14784&p=57557&hilit=assumes#p57557
2020-04-07 17:19:33 +08:00
michael
862fa815ff esptool: add quotes to allow complicated serial port path
Especially for Windows COM format: \\\.\COMx, introduced in
b00cea250f
2020-04-07 01:31:39 +08:00
Roland Dobai
9b16594444 tools: Fix flashing encrypted binaries from IDF Monitor 2020-03-26 07:51:59 +01:00
Renz Christian Bagaporo
eb865008d5 cmake: show error message on encrypted flash targets without proper config 2020-03-02 07:18:22 +05:00
Supreet Deshpande
a9ccc5e5c8 feat/secure_boot_v2: Adding secure boot v2 support for ESP32-ECO3 2020-02-25 01:28:22 +05:30
Ivan Grokhotkov
f31fc368bf make: fix 'make monitor' target when core dump is not enabled 2020-02-18 08:34:16 +01:00
Ivan Grokhotkov
25041ba583 tools/idf_monitor: automatically decode UART core dumps
This adds detection of UART core dumps to IDF monitor. By default,
core dumps are not printed to the console, but are processed by
espcoredump.py using 'info_corefile' command. The result is printed
to stdout.

This feature can be disabled in menuconfig.

In the future this can be extended to allow running espcoredump.py
with 'dbg_corefile' argument, which is similar to the current GDB Stub
behavior.

Related to IDF-52.
2020-02-13 18:46:26 +01:00
Ivan Grokhotkov
09950797cb esptool_py: pass flash mode/frequency/size to elf2image
Otherwise the image gets generated with wrong parameters, and the
binary does not boot unless it has been "fixed" by esptool during the
upload.
2020-01-23 12:19:15 +01:00
morris
e30cd361a8 global: rename esp32s2beta to esp32s2 2020-01-22 12:14:38 +08:00
Ivan Grokhotkov
c11f77cb1a Merge branch 'feature/use_underlying_cmake_targets_for_idf_py' into 'master'
CMake: Use underlying flash targets for idf.py

See merge request espressif/esp-idf!7067
2020-01-21 17:05:47 +08:00
morris
2422c52851 global: hello world on real esp32-s2 2020-01-16 17:43:59 +08:00
morris
1c2cc5430e global: bring up esp32s2(not beta) 2020-01-16 17:41:31 +08:00
Renz Christian Bagaporo
fd74ec75d7 esptool_py: retain flash targets when building RAM loadable apps 2020-01-15 03:36:47 +00:00
Renz Christian Bagaporo
cc8bff703e esptool_py: create flash target functions 2020-01-15 03:36:47 +00:00
Amit Sheth
8f3987099e project_include.cmake: Make esptool_py_custom_target callable from other directories 2019-12-19 17:53:09 +05:30
morris
5efb1140ac esptool: add chip and stub option 2019-12-09 09:48:16 +08:00
Angus Gratton
c60370b67f esptool: Update esptool version to match master 2019-10-22 16:44:16 +11:00
Angus Gratton
a89000855e esptool: Update submodule adding ESP32-S2 beta support 2019-10-15 16:55:39 +11:00
Angus Gratton
496ede9bcd Merge branch 'master' into feature/esp32s2beta_merge 2019-10-15 14:59:27 +11:00
Ivan Grokhotkov
46a65a35d6 Merge branch 'bugfix/missing_build_targets_cmake' into 'master'
esptool_py: add missing phony build targets for CMake

Closes IDFGH-370

See merge request espressif/esp-idf!5838
2019-10-08 16:24:40 +08:00
Ivan Grokhotkov
5830f529d8 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-02 19:01:39 +02:00
Roland Dobai
5a916ce126 Support ELF files loadable with gdb 2019-09-24 07:19:50 +00:00
Angus Gratton
adfc06a530 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-20 10:28:37 +10:00
suda-morris
dd248ffc32 Add chip revision into image header
Check chip id and chip revision before boot app image

Closes https://github.com/espressif/esp-idf/issues/4000
2019-09-16 18:13:53 +08:00
Michael (XIAO Xufeng)
df27a50866 app_update: re-enable elf-sha256 2019-09-11 18:29:11 +08:00
Renz Christian Bagaporo
a1a2f33459 esptool_py: add missing phony build targets for CMake
Adds targets erase_flash and monitor for users not using idf.py.
Closes https://github.com/espressif/esp-idf/issues/2420.
2019-08-21 10:01:00 +08:00
Angus Gratton
6990a7cd54 Merge branch 'master' into feature/esp32s2beta_update 2019-08-19 15:03:43 +10:00
Angus Gratton
aa2a972261 Merge branch 'bugfix/fix_encrypted_project_flash_arg_file_gen' into 'master'
CMake: fix encrypted project flash arg file generation

See merge request espressif/esp-idf!5741
2019-08-13 13:45:57 +08:00
suda-morris
f86e82cb63 efuse: update the scheme of getting chip revision 2019-08-13 10:59:02 +08:00
Renz Christian Bagaporo
e3c236d2fe cmake: fix encrypted project flash arg file generation 2019-08-09 16:35:31 +08:00
Angus Gratton
24d26fccde Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 13:44:24 +10:00
Angus Gratton
e1ef0faccd esptool: Bump to v2.7
https://github.com/espressif/esptool/releases/tag/v2.7
2019-07-18 15:09:17 +10:00
Angus Gratton
bd0a5d4c8b Merge branch 'feature/esptool_py_use_component_properties' into 'master'
esptool_py: use component property to simplify arg file generation

See merge request espressif/esp-idf!5312
2019-07-15 10:52:15 +08:00
Angus Gratton
47bbb107a8 build system: Use CMake-based build system as default when describing commands 2019-07-08 17:31:27 +10:00
Renz Christian Bagaporo
4848dfa710 esptool_py: use component property to simplify arg file generation
esptool_py used to create its own custom target to attach properties to.
This commit uses component properties instead, and the APIs used to set
and retrieve those properties in order to simplify generation of
argument files to esptool.py.
2019-06-28 18:14:25 +08:00
Renz Christian Bagaporo
3ae69484fe esptool_py: do not generate flasher arg files on bootloader build 2019-06-28 10:54:21 +08:00
Renz Christian Bagaporo
9edc867c62 bootloader: fix secure boot issues
Do not include bootloader in flash target when secure boot is enabled.
Emit signing warning on all cases where signed apps are enabled (secure
boot and signed images)
Follow convention of capital letters for SECURE_BOOT_SIGNING_KEY variable, since it is
relevant to other components, not just bootloader.
Pass signing key and verification key via config, not requiring
bootloader to know parent app dir.
Misc. variables name corrections
2019-06-28 10:54:21 +08:00
Renz Christian Bagaporo
f332e0c1d6 partition_table: move establishing dependencies to respective components
partition_table: move establishing dependencies to respective components
2019-06-28 10:50:52 +08:00
Renz Christian Bagaporo
6a18eaeaf5 esptool_py: fix issue with variable for esptool args
elf2image-only arguments are being added to esptool args meant for
flashing
2019-06-28 10:50:52 +08:00
Angus Gratton
83ba2e082c esptool+cmake: Fix path generation for args.in2 file
Path was accidentally generated as build/<absolute path to input file> which creates unexpected path structure on Linux/macOS and breaks Windows (as can't have a directory named "C:".

Regression in e8582e9aa4

Closes https://github.com/espressif/esp-idf/issues/3687
Closes IDFGH-1409
2019-06-27 14:19:03 +10:00
Hemal Gujarathi
a68c7c21e1 Improve flash encryption documentation and add Development & Release modes
This MR improves existing flash encryption document to provide simplified steps
Adds two new modes for user: Development & Release
Adds a simple example
Supports encrypted write through make command
2019-06-25 23:41:18 +00:00
Renz Christian Bagaporo
9eccd7c082 components: use new component registration api 2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo
e8582e9aa4 esptool_py: use passed offset and image when template is given
esptool_py defines command `esptool_py_flash_project_args` that
generates arg file for esptool.py. Two of the arguments are the offset
and image, which are not being used when a template file is given.
This commit makes variables OFFSET and IMAGE available to the template
file, which will holds the value of the offset and image arguments to
`esptool_py_flash_project_args`.
2019-06-21 19:48:41 +08:00
Renz Christian Bagaporo
7a19894aec esptool_py: better display logs when generating binary
Since OUTPUT argument of custom command does not currently support
generator expressions, the project image is only generated as a side
effect. The primary generated file is a timestamp file. Unfortunately as a consequence
the output logs when the
binary is about to be generated is not as helpful anymore.

Set a custom comment that is more descriptive of what is happening,
and provide more feedback as to what has been generated.
2019-06-20 16:02:22 +08:00
Angus Gratton
b2e8d30414 esp32s2beta: esptool support 2019-06-11 13:07:37 +08:00
suda-morris
84b2f9f14d build and link hello-world for esp32s2beta 2019-06-11 13:07:37 +08:00
Roland Dobai
1ad2283641 Rename Kconfig options (components/bootloader) 2019-05-21 09:32:55 +02:00
Roland Dobai
997b29a9ca Rename Kconfig options (components/esptool_py) 2019-05-21 09:32:55 +02:00
Renz Christian Bagaporo
477fa49fc0 examples: update idf_as_lib example to use new api 2019-05-14 18:01:14 +08:00
Renz Christian Bagaporo
ffec9d4947 components: update with build system changes 2019-05-13 19:59:17 +08:00
Roland Dobai
23ee93ea76 Rename deprecated Kconfig options in a backward compatible way 2019-04-24 12:53:02 +02:00
Angus Gratton
4b4cd7fb51 efuse/flash encryption: Reduce FLASH_CRYPT_CNT to a 7 bit efuse field
8th bit is not used by hardware.

As reported https://esp32.com/viewtopic.php?f=2&t=7800&p=40895#p40894
2019-04-03 14:07:20 +11:00
Angus Gratton
1be147c457 Merge branch 'feature/allow_components_to_declare_images_to_flash' into 'master'
Allow components to present their own images to flash

See merge request idf/esp-idf!4148
2019-03-22 11:14:37 +08:00
Konstantin Kondrashov
0514a65cc9 esptool: Only insert SHA256 if overwriting zero data 2019-03-19 13:29:07 +08:00
Konstantin Kondrashov
98db4d2eb6 esp_tool: Exclude elf-sha256 from bootloader
Closes: IDFGH-690
2019-03-19 12:54:25 +08:00
Renz Christian Bagaporo
234de8de55 cmake: Allow components to present their own images to flash 2019-03-18 03:45:22 +08:00
Renz Christian Bagaporo
d0b2d5ec95 cmake: Fix for Python files executed directly, not via PYTHON variable
A problem if the Python interpreter used for idf.py (or set via PYTHON
variable) didn't match
"/usr/bin/env python" (or the associated executable for .py files, on
Windows).

Closes https://github.com/espressif/esp-idf/issues/3160
Possibly also fix for https://github.com/espressif/esp-idf/issues/2936

Adds build system test to catch any future direct execution of Python in
the standard build process.
2019-03-12 13:31:44 +08:00
Ivan Grokhotkov
ea52a19c00 build system: include SHA256 hash of ELF file into app_desc structure 2019-02-27 13:30:25 +08:00
Roland Dobai
37126d3451 Correct Kconfigs according to the coding style 2019-01-29 13:37:01 +01:00
Angus Gratton
a9d91e00bc Update esptool.py to v2.6 2019-01-19 14:44:55 +08:00
Angus Gratton
f6e857c2b9 unit tests: Keep serial port open when running esptool
* Call esptool directly not via subprocess
* Use the same serial port instance for listener thread and esptool
* Includes some refactoring for encapsulation of App vs DUT members
2018-12-18 14:09:29 +11:00
Renz Christian Bagaporo
37d30c7a6e cmake: separate app from idf lib project
mbedtls: import mbedtls using unmodified cmake file
2018-11-27 13:59:24 +08:00
Anurag Kar
1f6622b2d1 CMake : Secure Boot support added 2018-11-06 17:09:55 +05:30
Angus Gratton
95e4bdf030 Merge branch 'bugfix/run_esptool_espport' into 'master'
cmake: Handle ESPPORT environment variable correctly

See merge request idf/esp-idf!3482
2018-10-17 08:14:20 +08:00
Angus Gratton
f53fef9936 Secure Boot & Flash encryption: Support 3/4 Coding Scheme
Includes esptool update to v2.6-beta1
2018-10-16 16:24:10 +11:00
Angus Gratton
897670b0ab cmake: Handle ESPPORT environment variable correctly
Closes https://github.com/espressif/esp-idf/issues/2553
2018-10-15 10:25:44 +11:00
Angus Gratton
d8c84cff3a esptool: Update to v2.5.1
Release notes: https://github.com/espressif/esptool/releases/tag/v2.5.1

Needed to no longer burn keys if 3/4 Coding Scheme is enabled.
2018-09-27 10:12:32 +10:00
Angus Gratton
30388c7e87 cmake: Fix "make flash" & "ninja flash" targets
As reported on forum.

Requires a small CMake wrapper script to pick
up environment variables at flashing time.
2018-09-13 15:08:24 +10:00