Commit Graph

206 Commits

Author SHA1 Message Date
Hrudaynath Dhabe
53e7beb95b esp_https_ota: Added error checking functionalities.
Current implimentation of esp_http_ota does not perform any error-checking in the data writing phase calls `esp_ota_get_next_update_partition()` irrespetive of the received state of the image. A few additional error checking mechanism have now been added inside the esp_https_ota which returns the control in case an invalid header is received and a wrapper to the function `esp_http_client_is_complete_data_received()` of `esp_http_client` has been added.
2019-08-15 21:10:00 +08:00
Angus Gratton
04ae56806c Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 15:26:58 +10:00
Angus Gratton
24d26fccde Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 13:44:24 +10:00
Anton Maklakov
afbaf74007 tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
Angus Gratton
47bbb107a8 build system: Use CMake-based build system as default when describing commands 2019-07-08 17:31:27 +10:00
Michael (XIAO Xufeng)
25ab8380c8 ci: support to build esp32s2beta simple examples 2019-07-08 09:16:06 +08:00
suda-morris
90c4827bd2 add esp_eth component 2019-06-26 10:19:23 +08:00
Jitin George
a2b5a93881 example/simple_ota_example: Fix python formatting and KConfig 2019-06-25 23:41:33 +00:00
Jitin George
83a4e4656f example/simple_ota_example: Add support for skipping OTA server certificate CN field 2019-06-25 23:41:33 +00:00
Jitin George
9fa23bc599 example/simple_ota_example: Add example test 2019-06-25 23:41:33 +00:00
Renz Christian Bagaporo
6771eead80 examples: use new component registration api 2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo
7f7a9272f0 examples: create example for both Python and CLI otatool interfaces 2019-06-11 13:17:14 +08:00
suda-morris
1886d8d4ef update ota examples to support both Wi-Fi and Ethernet 2019-05-22 17:56:10 +08:00
Roland Dobai
151f757912 Rename Kconfig options (examples) 2019-05-21 09:32:55 +02:00
Roland Dobai
1ad2283641 Rename Kconfig options (components/bootloader) 2019-05-21 09:32:55 +02:00
Renz Christian Bagaporo
d214bb912f examples: update with build system changes 2019-05-14 18:01:14 +08:00
Jitin George
64e3ab364e examples/system/ota/advanced_https_ota: Add example for newly introduced APIs in esp_https_ota component 2019-05-02 12:29:29 +05:30
Angus Gratton
8d62b0d173 ota example: Mention the certificate needs CN set correctly 2019-03-08 18:32:55 +11:00
Angus Gratton
48d3a5804d Merge branch 'bugfix/simple_ota_example' into 'master'
bugfix(simple_ota_example): Compatible with V3.1 and V3.2,because the NVS format is different

See merge request idf/esp-idf!3983
2019-03-05 13:05:53 +08:00
Konstantin Kondrashov
e916cf52a3 bootloader: Add support of anti-rollback
Added:
* set a secure version in app/bootloader.
* description anti-rollback to ota part
* emulate the secure_version write and read operations
* efuse_em partition.
* a description about a rollback for native_ota_example.

Closes: TW26335
2019-02-14 18:51:43 +08:00
Mahavir Jain
b912d0fa9d esp_https_ota: add support for configurable ota buffer size
Closes https://github.com/espressif/esp-idf/issues/2998
2019-01-30 18:11:09 +05:30
Roland Dobai
37126d3451 Correct Kconfigs according to the coding style 2019-01-29 13:37:01 +01:00
Jitin George
e2ae69f6fb Minor Bugfixes in esp_http_client, tcp_transport and simple_ota_example 2019-01-07 16:33:41 +08:00
He Yin Ling
86cc434ff1 test: get bin path from dut.app.flash_files instead of dut.download_config 2019-01-03 09:57:47 +08:00
InfiniteYuan1
0fa31d3e31 bugfix(simple_ota): Compatible with V3.1 and V3.2 2018-12-18 14:41:12 +08:00
Konstantin Kondrashov
cf6b79581b example: Add a support of an app rollback 2018-12-11 11:58:42 +08:00
Roland Dobai
57c54f96f1 examples: Fix Python coding style 2018-12-06 09:34:33 +01:00
Renz Christian Bagaporo
b926764385 examples: add otatool and parttool examples 2018-11-28 17:28:20 +08:00
Renz Christian Bagaporo
8ca6904d55 ota: implement otatool functionality 2018-11-28 15:57:20 +08:00
Renz Christian Bagaporo
90f5432f2a examples: generic cmake support examples 2018-11-27 13:59:26 +08:00
Angus Gratton
c15d3c1ffc examples: Copy ca_cert.pem into both example project dirs
Keeps projects all-in-one under a single directory.
2018-09-19 14:38:19 +10:00
Angus Gratton
b38a6da74b cmake: Fix some failing example builds, fix gcov 2018-09-19 14:38:19 +10:00
Renz Christian Bagaporo
d9939cedd9 cmake: make main a component again 2018-09-11 09:44:12 +08:00
Angus Gratton
5689e446dc cmake: Add missing example CMakeLists.txt files, CI check all examples have both 2018-08-29 20:22:55 +08:00
Angus Gratton
ff2404a272 Merge branch 'master' into feature/cmake 2018-08-16 17:14:17 +10:00
Konstantin Kondrashov
117c79eae5 app_update: Add API for getting sha256_of_partition
Added bootloader_common_get_sha256_of_partition() and esp_partition_get_sha256() - get or calculate SHA-256
digest for app and data partitions.
Added bootloader_sha256_hex_to_str() - helps to print SHA-256 digest
Added esp_partition_check_identity() - compares two partitions by SHA-256 digest

Refactoring a function esp_image_load() in bootloader space to esp_image_verify() and
bootloader_load_image(). Old name function esp_image_load is deprecated
and will remove in V4.0 version.

spi_flash/sim: Fix error test_host. Add stub for bootloader_common_get_sha256_of_partition in sim/stubs
2018-08-13 13:59:07 +05:00
Angus Gratton
cdc792d72c Merge branch 'feature/http_firmware_upgrade' into 'master'
esp_https_ota: Add esp_https_ota component

See merge request idf/esp-idf!2771
2018-08-08 12:27:05 +08:00
Sagar Bijwe
1df85e0039 nvs_flash: Version compatibility check for nvs storage
This change adds a check for compatibility between the nvs version
found on nvs flash and the one assumed by running code during nvs
initialization. Any mismatch is reported to the user using new error
code ESP_ERR_NVS_NEW_VERSION_FOUND.
2018-08-05 00:00:56 +00:00
Jitin George
1fecdc3891 esp_https_ota: Add support for HTTPS based ota feature 2018-08-03 16:47:07 +05:30
Konstantin Kondrashov
de2b1cb02a make: Add feature to cmd 'make flash' - reset ota_data partition
Add a command `make erase_ota` - erases otadata if it there is in the
partition table otherwise error 'Partition table does not have ota_data partition'.

Closes https://github.com/espressif/esp-idf/issues/1821
2018-07-25 11:22:15 +00:00
Angus Gratton
6b9784cc45 Merge branch 'master' into feature/cmake_update 2018-05-31 14:46:23 +10:00
Chen Wu
460c4fa486 bugfix(ota): update ota to download valid bin file 2018-05-16 09:24:47 +00:00
Angus Gratton
800bffb8b0 cmake: Add CMakeLists.txt files for all examples
Generating using convert_to_cmake.py, with some minor cleanup
2018-04-30 09:59:20 +10:00
Hrishikesh Dhayagude
59d19d12af Fix Kconfig.projbuild in some examples, where myssid is erroneously kept as the default value for password.
Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-04-05 14:34:43 +05:30
Roland Dobai
27a63c492f Examples: Demonstrate the usage of esp_err_to_name 2018-03-13 14:27:00 +01:00
Angus Gratton
dc994e9c88 ota example: Send a valid HTTP/1.0 request
Was sending an invalid HTTP/1.1 request which many web servers rejected.

Thanks @chegawara for pointing this out on IRC.

Ref:
https://github.com/espressif/esp-idf/issues/231#issuecomment-300287523
2017-11-21 09:02:58 +11:00
Angus Gratton
5eef5e7a5d bootloader: Fallback if OTA data is invalid
Make bootloader more robust if either OTA data or some OTA app slots are corrupt.
2017-08-15 09:42:19 +10:00
Ivan Grokhotkov
979fce0df5 bt: call nvs_flash_init in examples, show error if NVS is not initialized
NVS is used to store PHY calibration data, WiFi configuration, and BT
configuration. Previously BT examples did not call nvs_flash_init,
relying on the fact that it is called during PHY init. However PHY init
did not handle possible NVS initialization errors.

This change moves PHY init procedure into the application, and adds
diagnostic messages to BT config management routines if NVS is not
initialized.
2017-07-17 21:29:50 +08:00
rudi ;-)
e5012bd07e OTA example readme: [typo]: Worflow to Workflow
Merges PR #507 https://github.com/espressif/esp-idf/pull/507
2017-04-21 11:03:07 +10:00
Angus Gratton
821c70f5d7 examples: Standardise naming of files, symbols, etc. in examples
* Use "example" in all example function & variable names,
  ie use i2c_example_xxx instead of i2c_xxx for example functions.
  Closes #198 https://github.com/espressif/esp-idf/issues/198
* Mark example functions, etc. static
* Replace uses of "test" & "demo" with "example"
* Split the UART example into two
* Rename "main" example files to end with "_main.c" for disambiguation
2017-03-27 17:42:05 +11:00
Ivan Grokhotkov
4813ab2d28 examples: check return value of nvs_flash_init
nvs_flash_init may return an error code in some cases, and applications
should check this error code (or at least assert on it being ESP_OK, to
make potential issues more immediately obvious).

This change modifies all the examples which use NVS to check the error
code. Most examples get a simple ESP_ERROR_CHECK assert, while NVS
examples, OTA example, and NVS unit tests get a more verbose check which
may be used in real applications.
2017-03-15 10:44:54 +08:00
Angus Gratton
25f739c183 ota ops: Add new functions esp_ota_get_next_update_partition / esp_ota_get_running_partition
* Update OTA example to use these.
* Refactor esp_ota_begin() to return ESP_ERR_OTA_PARTITION_CONFLICT as documented
2017-02-22 10:24:42 +11:00
Angus Gratton
eea2788f5a OTA: Fix issues with encrypted OTA
- OTA source can write non-16-byte multiples of data
- Assumption that empty ota_data is 0xFFFFFFFF untrue when encrypted
2017-01-26 18:52:35 +11:00
Angus Gratton
67336672bd OTA: Improve verification of OTA image before writing, incl. secure boot
Verify 0xE9 magic byte on first write, verify entire image before
switching.

Enable verification for secure boot signature (was using invalid ifdef
guard)
2017-01-26 16:20:06 +11:00
Krzysztof Budzynski
ad25997349 Updated links to examples in new folders / categories in api documentation 2017-01-16 23:08:36 +01:00
Krzysztof Budzynski
382999b378 Moved examples to new folders / categories. Removed example numbers from example names 2017-01-16 23:08:35 +01:00