Commit graph

1548 commits

Author SHA1 Message Date
Angus Gratton
ee8557f69d cmake: convert_to_cmake: Fix possible whitespace issues
As reported on forum:
https://esp32.com/viewtopic.php?f=2&t=13565&p=53476#p53453

split() with no arg will match any whitespace sequence not just
a single space, so takes care of case where two spaces are
inserted in the variable value.
2020-03-02 14:44:16 +11:00
Renz Christian Bagaporo
a5d49d4db5 tools: fix double builds with idf.py 2020-03-02 07:18:22 +05:00
Renz Christian Bagaporo
f64a3c2a66 cmake: utility to create a failing target 2020-03-02 07:18:22 +05:00
Roland Dobai
2816c3c536 tools: Fix idf_size.py 2020-02-28 11:55:53 +01:00
Roland Dobai
1821ee8851 tools: Add proper multi-chip support for idf_size.py 2020-02-27 19:50:05 +01:00
Supreet Deshpande
2f62b3af4a Increase job count for heap tests 2020-02-27 17:54:09 +05:30
Mahavir Jain
5f897fd33c Merge branch 'feat/secure_boot_v2_v41' into 'master'
feat/secure_boot_v2: Adding secure boot v2 support to ESP32-ECO3

Closes IDF-799

See merge request espressif/esp-idf!6778
2020-02-27 18:54:08 +08:00
Angus Gratton
d40c69375c bootloader: Add fault injection resistance to Secure Boot bootloader verification
Goal is that multiple faults would be required to bypass a boot-time signature check.

- Also strengthens some address range checks for safe app memory addresses
- Change pre-enable logic to also check the bootloader signature before enabling SBV2 on ESP32

Add some additional checks for invalid sections:

- Sections only partially in DRAM or IRAM are invalid
- If a section is in D/IRAM, allow the possibility only some is in D/IRAM
- Only pass sections that are entirely in the same type of RTC memory region
2020-02-27 14:37:19 +05:30
Anton Maklakov
5ea4d7ba61 Merge branch 'ci/ut_esp32s2_allow_schedule' into 'master'
ci: allow esp32s2 unit tests run by scheduled pipeline

See merge request espressif/esp-idf!7796
2020-02-27 14:48:10 +08:00
Michael (XIAO Xufeng)
7f8c827326 Merge branch 'bugfix/fix_driver_ut_pcnt' into 'master'
bugfix(pcnt): fix driver ut pcnt

See merge request espressif/esp-idf!6891
2020-02-27 11:29:28 +08:00
Michael (XIAO Xufeng)
9199207c67 ci: allow esp32s2 unit tests run by scheduled pipeline 2020-02-27 11:20:08 +08:00
Ivan Grokhotkov
5d399b459c tools: check if idf_tools.py install-python-env is called from a venv
Closes IDF-1095
2020-02-26 14:03:38 +01:00
Sachin Parekh
301dacfb33 Exception handlers for LoadStoreError and LoadStoreAlignmentError
Configurable option to use IRAM as byte accessible memory (in single core mode) using
load-store (non-word aligned and non-word size IRAM access specific) exception handlers.
This allows to use IRAM for use-cases where certain performance penalty
(upto 170 cpu cycles per load or store operation) is acceptable. Additional configuration
option has been provided to redirect mbedTLS specific in-out content length buffers to
IRAM (in single core mode), allows to save 20KB per TLS connection.
2020-02-26 20:21:59 +08:00
Michael (XIAO Xufeng)
9d8e590d86 Merge branch 'fix/spi_flash_legacy_on_esp32s2' into 'master'
spi_flash: fix the reading issue using the ROM functions on ESP32-S2

See merge request espressif/esp-idf!7767
2020-02-26 18:04:51 +08:00
xiongyu
4d5c950770 bugfix(pcnt): fix driver ut pcnt
* Let `[ignore] case` return to freedom

  1) Because this test uses its own ISR, we need to release it with `esp_intr_free` instead of `pcnt_isr_service_uninstall`.

  2) `pcnt_evt_queue` needs to be created before the interrupt is registered and needs to be released at the end of each case.

* Add test support for ESP32S2

* Support chip internal connection, no external wiring required.
2020-02-26 16:52:53 +08:00
michael
f8fae4c80c spi_flash: resume unit tests for ESP32-S2 2020-02-26 11:12:08 +08:00
Roland Dobai
c4421629c8 Tools: Add tests for confgen.py 2020-02-25 17:15:46 +01:00
Sergei Silnov
47bfd337d2 Improve message for component manager tests 2020-02-25 09:22:52 +01:00
Supreet Deshpande
b79606ca37 feat/secure_boot_v2: Adding tools support for secure boot v2 ECO3 2020-02-25 01:28:22 +05:30
Roland Dobai
5c0cd9417d Docs: Encourage to used Python 3 2020-02-24 12:55:55 +01:00
Ivan Grokhotkov
5ccfc332ea Merge branch 'feature/nvs_erase_check_init' into 'master'
NVS Flash: prevent erasing initialized partition

See merge request espressif/esp-idf!7615
2020-02-21 17:47:45 +08:00
Ivan Grokhotkov
b90a68f89b Merge branch 'bugfix/esp32s2_trax' into 'master'
xtensa: add TRAX support for esp32s2

Closes IDF-1408

See merge request espressif/esp-idf!7683
2020-02-21 09:58:15 +08:00
Ivan Grokhotkov
cd114f656b Merge branch 'fix/gdbstub_large_com_on_windows' into 'master'
idf_monitor: fix gdbstub issue opening large COM port number on Windows

See merge request espressif/esp-idf!7619
2020-02-21 09:56:42 +08:00
Angus Gratton
3b498a0576 Merge branch 'bugfix/confserver_hex_types' into 'master'
confserver: Standardize and document the handling of hex values

See merge request espressif/esp-idf!7437
2020-02-20 14:48:15 +08:00
Jakob Hasse
c6deffb8a2 NVS Flash: prevent erasing initialized partition
Closes https://github.com/espressif/esp-idf/issues/4755
Closes https://github.com/espressif/esp-idf/issues/2777

* nvs_flash_erase_partition() checks whether
  the parition in question is initialized
  already and will return an error if so
* reflect changes in the documentation
2020-02-19 18:16:04 +01:00
Ivan Grokhotkov
240ec7444f ci: add build test for TRAX feature 2020-02-19 14:02:35 +01:00
Ivan Grokhotkov
32ea031b19 Merge branch 'bugfix/bootloader_custom_console_pins' into 'master'
Fix bootloader build if custom UART pins are used (Github PR + ESP32-S2 + test)

See merge request espressif/esp-idf!7665
2020-02-19 16:56:15 +08:00
Ivan Grokhotkov
1cbb2287be ci: add build test for custom console UART pins 2020-02-19 08:13:23 +01:00
Angus Gratton
dc63badbd2 Merge branch 'feature/add_subdirectory_if_exists' into 'master'
cmake: add subdirectory if exists utility

See merge request espressif/esp-idf!7302
2020-02-19 07:54:27 +08:00
Renz Christian Bagaporo
ab84c73244 cmake: add subdirectory if exists utility 2020-02-18 17:16:06 +05:00
Jakob Hasse
31edd48b43 C++: Moved all C++ examples to own folder
* moved C++ examples to a new cxx folder in
  examples
* added experimental C++ component
* added ESPException class to the C++ experimental
  component
* added test cases for ESPException and
  corresponding test macros
2020-02-18 12:48:57 +08:00
Angus Gratton
a0644bf8ae Merge branch 'test/resume_ut_esp32s2' into 'master'
ci: resume esp32s2 unit tests

See merge request espressif/esp-idf!7436
2020-02-18 10:58:14 +08:00
Angus Gratton
b92882a0e6 Merge branch 'bugfix/kconfig_cmake_escape' into 'master'
confgen.py: Escape special characters for cmake

Closes IDFGH-2677

See merge request espressif/esp-idf!7580
2020-02-18 08:13:13 +08:00
Michael (XIAO Xufeng)
b00cea250f idf_monitor: fix gdb issue opening large COM port on Windows
The GDB uses CreateFile to open COM port on Windows. However this
function requires COM path to be `\\.\COMx` to open COM port whose
number is larger than 10.

Replace the port name from `COM` to `\\.\COM` when on Windows to fix
this.
2020-02-17 07:39:21 +00:00
Angus Gratton
d9d7a906b1 confserver docs: Merge the build-system docs info about confserver into the README
Add link into the README from the docs
2020-02-17 17:21:22 +11:00
Angus Gratton
89fb104747 confserver: Standardize and document the handling of hex values
Previously, server always sent back "hex" types as JSON integers but would only accept setting them as a
JSON string of hex digits. This still works, but also possible to use JSON integers in both directions.

Add tests for both representations, add a note in the README about types.
2020-02-17 17:21:22 +11:00
Anton Maklakov
8222ab7330 Merge branch 'bugfix/ci_no_attempts_no_custom_toolchain_url' into 'master'
ci: no stage attempts variables,  no custom toolchain url

See merge request espressif/esp-idf!6689
2020-02-17 11:05:58 +08:00
michael
24b16b0b19 ci: resume esp32s2 unit tests 2020-02-15 18:28:24 +08: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
605da33c3d Merge branch 'fix/app_update_test_s2' into 'master'
app_update: fix unit tests

See merge request espressif/esp-idf!7581
2020-02-13 23:05:13 +08:00
Ivan Grokhotkov
cdb947113e Merge branch 'feature/esp_event_multiple_register' into 'master'
ESP-Event: Feature/esp event multiple register

See merge request espressif/esp-idf!7384
2020-02-13 19:02:09 +08:00
michael
98ee6f55df app_update: fix unit tests 2020-02-13 15:51:42 +08:00
Roland Dobai
935b34e829 confgen.py: Escape special characters for cmake
Closes https://github.com/espressif/esp-idf/issues/4751
2020-02-12 14:30:53 +01:00
Angus Gratton
c1d0daf36d Merge branch 'refactor/restructure_soc_component' into 'master'
soc: separate abstraction, description and implementation

See merge request espressif/esp-idf!7261
2020-02-12 07:50:10 +08:00
Angus Gratton
80e03a2d2d Merge branch 'bugfix/win_tools_installer_fixes' into 'master'
tools: Windows tools installer release v2.3

Closes IDFGH-2670 and IDFGH-1929

See merge request espressif/esp-idf!7550
2020-02-12 07:22:50 +08:00
Ivan Grokhotkov
69e91959ff tools: bump version of windows tools installer to v2.3
Includes the following fixes:

- bc43d48e: fix Windows Defender checkbox
  https://github.com/espressif/esp-idf/issues/4225

- 7a18f02a: idf_tools.py compatibility with virtualenv 20.0

- Fix extracting IDF to a destination on another drive
  https://github.com/espressif/esp-idf/issues/4128
  https://github.com/espressif/esp-idf/issues/4744
2020-02-11 19:05:17 +01:00
Ivan Grokhotkov
24e793baa3 tools: installer: add PYTHONUNBUFFERED=1 when calling idf_tools.py
Fixes the issue that there is no output from 'idf_tools.py install'
stage.
2020-02-11 19:05:17 +01:00
Ivan Grokhotkov
972aeec265 tools: installer: use bundled idf_tools when installing IDF 3.3.1, 4.0
This is a workaround for the 'no-site-packages' bug in the version of
idf_tools.py shipped in v4.0 and v3.3.1 (see 7a18f02ac).

When installing IDF v4.0 and v3.3.1, the installer will use the
bundled version of idf_tools.py instead of the version which comes
with IDF.
2020-02-11 19:05:17 +01:00
Ivan Grokhotkov
b67a7f48a9 tools: installer: fix copying IDF to a destination on another drive
Closes https://github.com/espressif/esp-idf/issues/4128
Closes https://github.com/espressif/esp-idf/issues/4744
2020-02-11 19:05:17 +01:00
Jakob Hasse
9b4815e3c8 ESP Event: multiple registrations to one event
* It's possible now to register the same handler
  several times to one specific event, using
  a dynamic handle object.
2020-02-11 10:52:05 +01:00
Renz Christian Bagaporo
16e0c93e40 ci: solve public headers errors 2020-02-11 14:30:42 +05:00
Ivan Grokhotkov
bcd2358eb6 Merge branch 'bugfix/idf_tools_virtualenv' into 'master'
idf_tools.py: fix install-python-env failure with virtualenv 20.0.0

See merge request espressif/esp-idf!7549
2020-02-11 16:42:41 +08:00
Angus Gratton
ab5dad3be5 Merge branch 'feature/esp_netif_flexible_init' into 'master'
esp netif: minor API update, more flexible wifi init

Closes IDFGH-2523

See merge request espressif/esp-idf!7487
2020-02-11 12:01:20 +08:00
Angus Gratton
7bd2677d5d Merge branch 'bugfix/ci_doc_fixes' into 'master'
docs: CI fixes

See merge request espressif/esp-idf!7539
2020-02-11 06:38:34 +08:00
David Cermak
9bdcd40f2b ESP-NETIF: add CI compile only tests for common init/config pattern in C/C++ 2020-02-10 19:40:28 +01:00
Ivan Grokhotkov
7a18f02acd idf_tools.py: fix install-python-env failure with virtualenv 20.0.0
--no-site-packages is the default behavior since virtualenv 1.7
(released in Nov 2011). This option was removed in virtualenv 20.0.
2020-02-10 19:14:41 +01:00
Anton Maklakov
d6a5bb60da ci: remove using IDF_XTENSA_TOOLCHAIN_URL because there are idf_tools.json and multi-target support 2020-02-10 18:05:21 +07:00
Angus Gratton
0441c5d744 docs ci: Use the final version of the esp-idf-doc-env image
(Content is the same)
2020-02-10 19:55:46 +11:00
Angus Gratton
f906095789 docs ci: Ensure deploy directory exists 2020-02-10 19:55:15 +11:00
Angus Gratton
59c39173f2 Merge branch 'feature/mqtt_unit_test' into 'master'
mqtt: basic set of unit tests, modify example tests to check ssl connect

See merge request espressif/esp-idf!7393
2020-02-10 15:10:56 +08:00
Angus Gratton
64654c0444 Merge branch 'fix/tools_py_environ_str' into 'master'
idf_py: fix the ESPPORT environ variable type issue

See merge request espressif/esp-idf!7433
2020-02-10 14:28:35 +08:00
Konstantin Kondrashov
daa9c30c8e rmt/esp32s2: Update RMT: reg, struct, LL and test_utils/ref_clock.c 2020-02-09 20:03:31 +08:00
David Cermak
911be99054 mqtt-tests: migrate the publish-connection test from example-test to test-apps 2020-02-07 21:14:24 +01:00
Ivan Grokhotkov
627d9b3142 ci: test_build_system_cmake: ensure sdkconfig timestamp changes
idf.py bootloader runs very quickly on some build servers, so when
sdkconfig is modified, the next idf.py invocation doesn't pick up the
timestamp difference. Add some delays to make sure the change is
noticed.
2020-02-07 09:35:41 +01:00
Angus Gratton
3017bfb8e3 Merge branch 'feature/test_apps_v2' into 'master'
test apps (2nd attempt)

Closes IDF-641

See merge request espressif/esp-idf!7084
2020-02-07 15:23:26 +08:00
Angus Gratton
291735c7dd docs: Move to Python 3.5+ and Sphinx 2.3 2020-02-07 16:47:50 +11:00
Angus Gratton
c7209b110e check_python_dependencies: If overriding requirements.txt path, provide a pip command line
Advice about install.sh/install.bat, etc only works for the default requirements.txt
2020-02-07 16:37:45 +11:00
Angus Gratton
ac8e931179 confgen: Avoid including invisible (due to target) choice items in kconfig.rst renames 2020-02-07 16:37:45 +11:00
Anton Maklakov
fb3edc9c87 docs: Add features to build_docs.py: check warnings, check links, check GH links
The old check_doc_warnings.sh was deleted
2020-02-07 16:37:44 +11:00
Angus Gratton
ee03e04947 docs: Run build_docs script in ci 2020-02-07 16:37:44 +11:00
Angus Gratton
a148d8e6ba docs: Refactor extensions into packages, update the add-ons-reference docs page
Includes converting some of the remaining standalone scripts into Sphinx extensions.

Make flake8 clean
2020-02-07 16:37:43 +11:00
Angus Gratton
e6211c7864 docs: add new top-level docs builder that builds docs for a single chip 2020-02-07 16:37:43 +11:00
David Cermak
30c6e27bcc CI: document test-apps feature, updated test-apps structure 2020-02-06 16:46:41 +00:00
David Cermak
692deac5ae CI: assign and target-test stages updated to run test-apps in the ci 2020-02-06 16:46:41 +00:00
Ivan Grokhotkov
e63764b468 CI: test-apps introduction
Introducing feature of adding arbitrary projects which could be build or
executed in the CI for the only purpose as testing

Closes IDF-641
2020-02-06 16:46:41 +00:00
Ivan Grokhotkov
cbf8b60466 ci: re-add the lost PEDANTIC_{C,CXX}FLAGS in CMake example builds 2020-02-06 16:15:58 +01:00
Angus Gratton
c9cc694dbb Merge branch 'fix/ci_target_test' into 'master'
CI - Fix target variable default value

See merge request espressif/esp-idf!7424
2020-02-06 14:52:10 +08:00
Konstantin Kondrashov
739eb05bb9 esp32: add implementation of esp_timer based on TG0 LAC timer
Closes: IDF-979
2020-02-06 14:00:18 +08:00
Ivan Grokhotkov
902024f980 ci: fix build system test on macOS
Replaces ${var^^} expansion supported with Bash >= 4 with 'tr'
2020-02-05 19:05:04 +01:00
Angus Gratton
9ebb48ff9d Merge branch 'bugfix/idf_fullclean_loses_target' into 'master'
idf.py: guess IDF_TARGET from sdkconfig/sdkconfig.defaults, error out if IDF_TARGET is inconsistent

Closes IDF-869 and IDF-1040

See merge request espressif/esp-idf!7486
2020-02-05 07:41:11 +08:00
KonstantinKondrashov
aa42177e19 app_update(s2): Enable app_update UTs
Closes: IDF-1007
2020-01-31 10:34:08 +00:00
Ivan Grokhotkov
9bff344ef5 idf.py: fail and show instructions on IDF_TARGET mismatch
Closes IDF-869
2020-01-31 11:08:22 +01:00
Angus Gratton
1d28aa0194 Merge branch 'bugfix/doc_visible_kconfigs_only' into 'master'
Docs: Omit kconfig configurations not available for the target

Closes IDF-1212

See merge request espressif/esp-idf!7473
2020-01-31 12:57:00 +08:00
Ivan Grokhotkov
a1c1af72bf idf.py: guess IDF_TARGET from sdkconfig if CMakeCache doesn't exist
This solves the issue that target is changed to the default one after
idf.py fullclean.

Also allow setting the default target using sdkconfig.defaults, e.g.
CONFIG_IDF_TARGET="esp32s2"

Closes IDF-1040
2020-01-30 19:09:37 +01:00
Ivan Grokhotkov
9b7a038583 Merge branch 'bugfix/esp32s2_ut_reset_reason' into 'master'
unit-test-app: make compatible with ESP32-S2 reset reasons

See merge request espressif/esp-idf!7449
2020-01-30 18:12:01 +08:00
Roland Dobai
5454c268f7 Docs: Omit kconfig configurations not available for the target 2020-01-30 10:30:06 +01:00
Angus Gratton
f8e7285591 Merge branch 'feature/idfpy_add_baud_parameter_to_monitor' into 'master'
idf.py: add monitor-baud option to monitor command

Closes IDF-978

See merge request espressif/esp-idf!6613
2020-01-30 13:38:29 +08:00
Ivan Grokhotkov
f5d37c453a unit-test-app: make compatible with ESP32-S2 reset reasons
ESP32-S2 has slightly different names of reset reasons, printed by
the ROM. Allow using ESP32 reset reason names in test cases.
2020-01-29 19:05:33 +01:00
Ivan Grokhotkov
ac1834e288 Merge branch 'feature/freertos_xtensa_folder' into 'master'
freertos: moved all xtensa specific files into a separated folder

See merge request espressif/esp-idf!7377
2020-01-29 17:04:34 +08:00
Rosa Elena Veiga Otero
af6541e773 tools: work around usbser.sys bug in idf_monitor
implemented workaround in idf_monitor for known usbser.sys bug which
causes changes in RTS signal to only be sent if DTR signal also changes.
Works by forcing a dummy change in DTR signal (re-assigning its current
value, as it has previously been done in the flashing tool)

Closes https://github.com/espressif/esp-idf/pull/4676
2020-01-28 11:47:45 +01:00
Angus Gratton
f5b82c5b1f Merge branch 'bugfix/esptool_elf2image_flashmode' into 'master'
esptool_py: pass flash mode/frequency/size to elf2image

See merge request espressif/esp-idf!7440
2020-01-28 14:22:35 +08:00
Felipe Neves
429712c6eb freertos: moved all xtensa specific files into a separated folder 2020-01-27 16:05:30 -03:00
Ivan Grokhotkov
37edc8f6e9 Merge branch 'feature/idf_docker_updates' into 'master'
Docker image improvements

Closes IDFGH-2559

See merge request espressif/esp-idf!7454
2020-01-28 02:28:34 +08:00
Ivan Grokhotkov
f74b83b5b4 Merge branch 'feature/idf_tools_doc' into 'master'
docs: add API guide page about IDF Tools

See merge request espressif/esp-idf!7378
2020-01-27 17:10:21 +08:00
Shivani Tipnis
770a1eae01 ci: Fix target variable default value 2020-01-27 09:05:23 +00:00
Ivan Grokhotkov
287d0039ff tools/docker: enable ccache by default 2020-01-24 19:12:22 +01:00
Ivan Grokhotkov
54eed09d70 tools/docker: install CMake version provided in tools.json
Closes https://github.com/espressif/esp-idf/issues/4644
Closes IDFGH-2559
2020-01-24 19:11:56 +01:00
Ivan Grokhotkov
1cd6f67679 docs: add API guide page about IDF Tools 2020-01-24 14:02:21 +01:00
Ivan Grokhotkov
cbb6beccd9 ci: add build system tests for bootloader flash mode/freq/size 2020-01-23 17:03:52 +01:00
Ivan Grokhotkov
90af8531d8 esp32s2: remove -nostdlib accidentally added
-nostdlib was removed in 9a2af7a and then accidentally added
in 1c2cc54.

The issue manifested itself as a failure to link some symbols from
libgcc, even though libgcc should implicitly appear at the end of the
linker command line when -nostdlib is not given.
2020-01-23 17:00:31 +01:00