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
Angus Gratton
0bc5dcc2c2
cmake: Post-merge fixups
2018-09-06 11:14:30 +08:00
Angus Gratton
b355854d4d
Merge branch 'master' into feature/cmake
2018-09-05 10:35:04 +08:00
Roland Dobai
f755a0371d
Use check_python_dependencies everywhere as order-only-prerequisite
2018-09-03 11:42:10 +02:00
Angus Gratton
38c0626090
cmake app_update: Add "flash blank otadata" functionality to cmake
2018-08-31 12:30:14 +08:00
Angus Gratton
a9c4ed7139
Merge branch 'master' into feature/cmake
2018-08-30 18:51:01 +08:00
Angus Gratton
7f06543817
cmake/partitions: Apply offset to partition table metadata correctly
...
Also warn if the parttool.py has an error
2018-08-29 20:22:55 +08:00
Angus Gratton
31ae3fe683
make: Use order-only prereq to check python dependencies
2018-08-23 08:28:57 +02:00
Roland Dobai
62cad3a7d7
Add python-future by using python requirements file
2018-08-23 08:28:57 +02:00
Angus Gratton
ff2404a272
Merge branch 'master' into feature/cmake
2018-08-16 17:14:17 +10:00
Angus Gratton
57b601ab7f
secure boot: Pad to avoid data after the signature mapping into the address space
...
Because address space is mapped in 64KB pages, it was possible for unauthenticated data after the
app .bin to become mapped into the flash cache address space.
This problem is solved by 2 changes:
* "esptool elf2image --secure-pad" will pad the image so that the signature block ends close to the
64KB boundary. Due to alignment constraints it will be 12 bytes too short after signing (but
with flash encryption, these 12 bytes are still encrypted as part of the last block and can't be
arbitrarily changed).
* By default, secure boot now requires all app partitions to be a multiple of 64KB in size.
2018-07-17 15:33:47 +10:00
Angus Gratton
43b6c76bba
Merge branch 'feature/expansion_space_for_bootloader' into 'master'
...
partition_table: Moving to custom offset
See merge request idf/esp-idf!2263
2018-06-18 12:34:53 +08:00
Konstantin Kondrashov
3e0ac4db79
partition_table: Expanding the space under the bootloader
...
Allows you to move the partition table, it gives more space for the bootloader.
Added a new utility - parttool.py. This utility can search for the offset and/or size of the partitions by name and type/subtype. Use for getting APP_OFFSET and PHY_DATA_OFFSET.
The linker(esp32.bootloader.ld) made changes that allow you to write a custom bootloader code more.
TW14125
2018-06-08 18:47:29 +05:00
Roland Dobai
51e42d8e92
idf_monitor: add support for filtering options
2018-06-05 12:23:27 +02:00
Angus Gratton
cfa8ed15c0
partition table: Set partition table offset via variable
2018-05-29 16:34:45 +10:00
Angus Gratton
2909fc182b
esptool: Remove tabs from KConfig.projbuild
2018-05-29 16:34:45 +10:00
Angus Gratton
580cfeaaae
idf.py: Print flashing steps at the end of each build
2018-05-29 16:34:45 +10:00
Angus Gratton
2f4079ebb2
cmake: Hide serial port settings in menuconfig when using cmake
2018-05-29 16:34:45 +10:00
Angus Gratton
4a2f1f0354
esptool: Add note that ESPTOOLPY_PORT & ESPTOOLPY_BAUD are ignored when using idf.py
2018-04-30 09:59:20 +10:00
Angus Gratton
f1d3bfc0c7
cmake: Add new flasher_args.json file for IDE parsing, document metadata files better
2018-04-30 09:59:20 +10:00
Angus Gratton
88df8fd293
cmake: Use cmake_lint project, tidy up all CMake source files
2018-04-30 09:59:20 +10:00
Angus Gratton
efb5928934
idf.py build & flash tool
...
Generate flasher args files & .json project info file as part of cmake build
2018-04-30 09:59:20 +10:00
Angus Gratton
cb99531d15
cmake: Generate PHY init data partition as part of the build
2018-04-30 09:59:20 +10:00
Angus Gratton
674d398c93
cmake: Add partition table, and .bin file targets
2018-04-30 09:59:20 +10:00
Angus Gratton
c671a0c3eb
build system: Initial cmake support, work in progress
2018-04-30 09:59:20 +10:00
Angus Gratton
bd306bb519
esptool: Update to v2.3.1
2018-02-28 10:17:14 +11:00
Angus Gratton
6736908eaf
esptool: Update to v2.2.1
...
Fixes a bug with >230400bps flashing on macOS, possibly other platforms.
Full release notes: https://github.com/espressif/esptool/releases/tag/v2.2.1
2018-01-24 17:45:49 +11:00
Angus Gratton
da1bf60904
esptool: Update to v2.2
2018-01-08 11:45:09 +11:00
Deomid Ryabkov
9903ea1c11
Add --warn-undefined-variables to MAKEFLAGS
...
Fix warnings where undefined vars are used.
Make Kconfig emit "FOO=" for unset bool options
To ensure make variables are always defined, even if empty.
When writing auto.conf, include symbols disabled by dependency to make sure all make variables are always defined.
Fixes espressif/esp-idf#137
Cherry-picked from https://github.com/espressif/esp-idf/pull/138
2017-09-05 16:10:46 +10:00
Angus Gratton
d6c3fb52c8
esptool: Update to v2.1 final release
...
Replaces v2.1-beta1 release.
Compared to beta, fixes issues with espefuse.py not prompting correctly on Windows (TW11139).
2017-08-22 11:49:07 +10:00
Angus Gratton
17adb40ca8
bootloader: Calculate SHA256 hash of image on every boot
...
Makes app image booting more reliable (256-bit rather than 8-bit verification.)
Some measurements, time to boot a 655KB app.bin file and run to app_main() execution.
(All for rev 1 silicon, ie no 340ms spurious WDT delay.)
80MHz QIO mode:
before = 300ms
after = 140ms
40MHz DIO mode:
before = 712ms
after = 577ms
40MHz DIO mode, secure boot enabled
before = 1380ms
after = 934ms
(Secure boot involves two ECC signature verifications (partition table, app) that take approx 300ms each with 80MHz CPU.)
2017-07-19 18:31:59 +10:00
Angus Gratton
105c4b7386
Merge branch 'feature/esptool_image_padding' into 'master'
...
esptool: Optimise app image size by using RAM-loaded data for padding
See merge request !1017
2017-07-19 15:52:22 +08:00
Angus Gratton
d92c541b1a
esptool: Optimise generated image size by using RAM-loaded data for padding
...
Can save almost 128KB from some images.
2017-07-19 16:24:17 +10:00
Angus Gratton
d664e32394
build system: Use component.mk for all components, refactor bootloader build
...
For config-only components, component.mk should now contain "COMPONENT_CONFIG_ONLY := 1"
Also refactored some of the generation of linker paths, library list. This required cleaning up the way the bootloader
project works, it's now mostly independent from the parent.
2017-07-19 09:10:48 +10:00
Angus Gratton
c26baeb610
esptool: Update to v2.0.1
...
Fixes issue with GPIO 0 being enabled as an output on ESP32D2WD (or when setting SPI pins in efuse)
and not using Quad-I/O modes.
Ref: https://esp32.com/viewtopic.php?f=2&t=2205
2017-06-26 12:16:09 +10:00
Angus Gratton
6068c1be9a
esptool: Update to v2.0 final release
...
For IDF use, most changes are minor compared to 2.0-beta3.
One notable addition, esptool.py now prints chip model & silicon
revision when it connects.
2017-06-14 15:41:51 +10:00
Angus Gratton
66308774db
esptool: Update to include ESP32-D2WD support (and other SPI flash remapping)
2017-04-13 16:25:15 +10:00
Angus Gratton
e477ce93e9
idf_monitor: Small fixes (baud rate, EOL, /dev/tty.X on macOS, Ctrl-T on failure)
...
* "make monitor" not passed the configured baud rate
Closes #436 https://github.com/espressif/esp-idf/issues/436
* Pass toolchain prefix from sdkconfig into monitor tool
* Allow setting EOL in idf_monitor.py, use CRLF by default
* Detect if /dev/tty.X is used on macOS, warn and replace with /dev/cu.X
* If a build fails or gdb exits, ignore Ctrl-T (allowing Ctrl-T Ctrl-A/F to be same key sequence everywhere)
* Add a note about winpty on Windows
Ref 02fdf8271d (commitcomment-21369196)
2017-03-21 16:00:32 +08:00
Angus Gratton
1544544f8a
tools: New idf_monitor 'make monitor' tool for smarter monitor output
2017-03-13 09:31:45 +08:00
Angus Gratton
527720fb5b
esptool: Update esptool.py to integrate reset fix for older dev boards
...
Originally marked "Reset with ESP32R0 Windows workaround", but proven to be
necessary on some other platforms as well. This is now integrated into the
default esptool.py reset behaviour.
Closes #305 https://github.com/espressif/esp-idf/issues/305
2017-03-03 15:34:04 +11:00
Angus Gratton
5ea9097dbd
esptool: Update to latest v2.0 beta version
...
* New "espefuse.py set_flash_voltage" command to easily set a fix
VDD_SDIO regulator voltage (1.8V, 3.3V or disabled).
* Fixes bugs when flashing files with non-4-byte aligned lengths
(doesn't effect esp-idf image files)
* README improvements
2017-03-03 15:34:04 +11:00
Angus Gratton
68cba2a1fb
Bootloader: Support switching to Quad I/O mode during boot process
2017-02-09 08:44:05 +11:00
Angus Gratton
c4b3f6bbbc
Update esptool.py to v2.0-beta1
...
Minor bug fixes, no major functionality changes.
2017-01-10 14:04:54 +11:00
Angus Gratton
03551ec2da
build system: Add 'make monitor' target from arduino-esp32
...
Originally added to arduino-esp32 by @me-no-dev. It's so useful, we
want it in esp-idf as well! :)
2017-01-03 10:59:10 +11:00
Angus Gratton
d245f016ea
esptool: Add new options to reset before/after, detect flash size
2016-12-30 14:19:46 +11:00
Angus Gratton
abb7668af7
build system: Fix bug where erase_flash was always invoked for flash
...
Order-only prerequisites do not work for phony targets!
2016-12-22 16:37:28 +11:00
Ivan Grokhotkov
a760eb3980
Merge branch 'feature/erase_flash' into 'master'
...
Build system: Add `make erase_flash` target
See merge request !328
2016-12-22 09:53:25 +08:00
Angus Gratton
59e0f63d37
Build system: Add make erase_flash
target
2016-12-20 10:00:04 +11:00
Angus Gratton
d6fafd00db
Secure boot: Option for app & partition table signing to happen outside build system
2016-12-19 13:12:05 +11:00
Angus Gratton
a9d5e26748
Secure boot: Correctly re-sign if signing key changes, better error if missing
2016-12-01 23:49:12 -08:00
Angus Gratton
506c8cd964
secure boot & flash encryption: Rework configuration options
...
Add UART bootloader disable options for flash encryption
2016-12-01 23:49:12 -08:00
Angus Gratton
9eb135fd73
Flash encryption: Support enabling flash encryption in bootloader, app support
...
* App access functions are all flash encryption-aware
* Documentation for flash encryption
* Partition read/write is flash aware
* New encrypted write function
2016-12-01 23:49:12 -08:00
Tian Hao
7a41ab6982
Merge branch 'master' into feature/btdm_bluedroid
...
1. update bt lib submodule
# Conflicts:
# components/bootloader/src/main/esp32.bootloader.ld
# components/bt/component.mk
# components/esp32/component.mk
# components/esp32/lib
2016-11-24 15:45:04 +08:00
Angus Gratton
24b4c17ead
build system: Refactor SubmoduleCheck to work project-wide
...
Required at project level because some components use header files in
other components' submodules, and one component with a
submodule (esptool.py) doesn't have or need a component.mk.
2016-11-17 09:18:51 +11:00
Angus Gratton
c15024e629
Merge branch 'master' into feature/build_component_project_vars
2016-11-14 14:54:41 +11:00
Angus Gratton
5a5e19cd8b
Bump esptool revision (espefuse.py fixes)
2016-11-14 11:08:42 +11:00
Angus Gratton
e459f803da
secure boot: Functional partition table & app signature verification
2016-11-14 11:08:42 +11:00
Angus Gratton
64f3893cb9
secure boot: Derive secure bootloader key from private key
...
Means only one key needs to be managed.
2016-11-14 11:08:42 +11:00
Angus Gratton
b5de581399
Secure boot: initial image signature support
2016-11-14 11:08:42 +11:00
Angus Gratton
341593f7d2
build system: Remove need for $(Q) macro in recipes, use --silent in MAKEFLAGS instead
2016-11-11 12:32:47 +11:00
Angus Gratton
4ba1b73eba
build system: Add espefuse/espsecure support for secure boot
2016-11-02 10:41:59 +11:00
Ivan Grokhotkov
42827ff869
bootloader, menuconfig: add flash size setting support
2016-10-21 15:27:25 +11:00
Angus Gratton
7104284e31
Bump esptool version
...
Incorporates fix for locked flash #50
2016-10-21 15:26:11 +11:00
Angus Gratton
79bd6af7e7
build system: Print a WARNING if any submodule is out of date
...
Inspired by Github #27 and related "gotchas" with keeping submodules up to date.
2016-10-11 07:56:08 +11:00
Angus Gratton
a20c2f1088
'make flash' targets: Print serial port when flashing
...
Inspired by github #30 and related mentions where selected serial port
is not clear from the make output.
2016-10-11 07:56:08 +11:00
Angus Gratton
46e88e9f24
esptool: Bump upstream revision
...
Fixes github #14 (unexpected errors writing to DIO flash)
Also speed boost when writing compressed data (can now go via stub)
2016-09-26 17:21:11 +10:00
Angus Gratton
fcf278848d
Merge branch 'master' into feature/esptool_upstream
2016-09-12 18:02:10 +10:00
Angus Gratton
5810dbef05
make: Add macro to test for & try to fix up files required for submodules
...
Now applied to both esptool.py & esp32 wifi libs
2016-09-12 18:00:20 +10:00
Jeroen Domburg
5a0e374a46
Set default SPI flash access mode to DIO
2016-09-08 10:22:15 +08:00
Jeroen Domburg
669e85758c
Add flash freq selection to menuconfig
2016-09-06 14:24:28 +08:00
Jeroen Domburg
4272996ebe
Add QIO/QOUT/DIO/DOUT select for esptool.py
2016-09-06 14:24:14 +08:00
Angus Gratton
96852d49c2
Load esptool.py from submodule, currently WIP esptool.py v2.0
...
More details at https://github.com/themadinventor/esptool/pull/121
2016-09-01 18:45:10 +10:00
Angus Gratton
d793d23b94
Remove bin/ directory in favour of an add_path.sh script that can be sourced
...
Remaining file in bin/ will be moved out as part of !34
2016-09-01 18:45:10 +10:00
Angus Gratton
aa4c31f3b0
esptool.py & Makefile: Fix compressed upload support (enabled by default)
2016-08-22 18:44:46 +08:00
Angus Gratton
f853f94335
Use IDF_PATH instead of SDK_PATH for the environment variable pointing to esp-idf
...
This will require a matching change in all projects using ESP-IDF.
2016-08-19 15:01:49 +08:00
Angus Gratton
14eb490bb3
make: 'make all' default target builds everything, 'make flash' flashes everything
...
Also added 'make help' target which prints some useful usage summary.
2016-08-18 21:42:37 +08:00
Ivan Grokhotkov
bd6ea4393c
Initial public version
2016-08-17 23:08:22 +08:00