Commit Graph

1584 Commits

Author SHA1 Message Date
Angus Gratton
e836297b55 Merge branch 'feature/idf_tools_github_mirror_v4.1' into 'release/v4.1'
Add GitHub mirror option for IDF tools installs (v4.1)

See merge request espressif/esp-idf!13766
2021-06-01 09:48:12 +00:00
Jakob Hasse
aba87df4f2 [system]: Made longjmp save for context switch
* Patched longjmp to be context-switch safe
  longjmp modifies the windowbase and windowstart
  registers, which isn't safe if a context switch
  occurs during the modification. After a context
  switch, windowstart and windowbase will be
  different, leading to a wrongly set windowstart
  bit due to longjmp writing it based on the
  windowbase before the context switch. This
  corrupts the registers at the next window
  overflow reaching that wrongly set bit.

  The solution is to disable interrupts during
  this code. It is only 6 instructions long,
  the impact shouldn't be significant.

  The fix is implemented as a wrapper which
  replaces the original first instructions of
  longjmp which are buggy. Then, it jumps back
  to execute the rest of the original longjmp
  function.

  Added a comparably reliable test to the
  test apps.
2021-06-01 07:38:50 +00:00
Jakob Hasse
ba11976efb [C++]: wrapper functions around unwind code
* Replaced all C++ exception related
  functions with wrappers if -fno-exception
  is used. This prevents linking of the
  corresponding code in libgcc. The code
  size will decrease by around 7-9 KB when
  building with -fno-exception.
* added no except test app

Closes https://github.com/espressif/esp-idf/pull/5380
Closes https://github.com/espressif/esp-idf/issues/5363
Closes https://github.com/espressif/esp-idf/issues/5224
Closes IDFGH-3153
Closes IDF-2577
2021-06-01 14:51:15 +08:00
Ivan Grokhotkov
7c6ada7f86 Merge branch 'feature/installed_tool_failed_v4.1' into 'release/v4.1'
tools: Warning about tool being installed but failed to run. (v4.1)

See merge request espressif/esp-idf!13232
2021-05-31 17:25:24 +00:00
Anton Maklakov
fe3fd4d561 tools: windows installer: Modify IDF's archive mirror link 2021-05-31 11:06:19 +10:00
Ivan Grokhotkov
89568b73d6 tools: windows installer: add support for IDF_GITHUB_ASSETS
Adds a checkbox to download tools from dl.espressif.com mirror.
2021-05-31 11:06:19 +10:00
Angus Gratton
fd91bf4500 tools: Use GitHub download URLs for all files that can be downloaded from GitHub 2021-05-31 11:06:19 +10:00
Angus Gratton
f99c367e5d idf_tools: Add option to replace all GitHub tools download URLs with dl.espressif.com
Via new IDF_GITHUB_ASSETS environment variable.
2021-05-31 11:06:19 +10:00
Sergei Silnov
83bda9f63e Run global_action_callbacks in predictable order 2021-05-24 18:20:39 +02:00
He Yin Ling
f01bfeddb9 ttfw: fix DUT exception not added to junit report 2021-05-20 16:48:17 +08:00
Alexey Gerenkov
49e26e05e9 tools: Updates OpenOCD version to 'v0.10.0-esp32-20210401' 2021-05-10 16:22:43 +00:00
Angus Gratton
3a0652602a cmake: Improve the error message if the Python interpreter fails to run
RESULT_VARIABLE will return a string not a number in this case, so display it
for the user.
2021-05-10 03:40:50 +00:00
Angus Gratton
b79fc8271f cmake: Set IDFTOOL variable using the correct PYTHON interpreter variable 2021-05-10 03:40:50 +00:00
Angus Gratton
b8afe13b3a cmake: Fix passing PYTHON path via CMake variable if using IDF as library
Closes https://github.com/espressif/esp-idf/issues/6285
2021-05-10 03:40:50 +00:00
Chen Yudong
9a29375f7d ci: run target test with python3 2021-04-28 18:10:34 +08:00
Marek Fiala
2a82c353d9 tools: Warning about tool beiing installed but failed to run.
idf_tool.py runs "<tool> --version" which returns the error message but it is not used
This improves the error printing.
2021-04-26 13:55:45 +02:00
Ivan Grokhotkov
92f41b098b Merge branch 'bugfix/broken_virtualenv_v4.1' into 'release/v4.1'
tools: Reinstall virtualenv if it is broken (v4.1)

See merge request espressif/esp-idf!12953
2021-04-20 23:34:20 +00:00
Ivan Grokhotkov
92aed6c759 Merge branch 'bugfix/fix_idf_monitor_unicode_path_crash_v4.1' into 'release/v4.1'
tools: handle exception in case of logging Unicode characters (v4.1)

See merge request espressif/esp-idf!13043
2021-04-20 23:33:38 +00:00
Fu Hanxi
97649c45eb fix(ci): ci_fetch_submodule return full match name first 2021-04-19 20:24:13 +08:00
Juraj Michálek
f60c8c8164 tools: handle exception in case of logging Unicode characters 2021-04-06 19:17:01 +02:00
Roland Dobai
7638d92400 tools: Reinstall virtualenv if it is broken
Closes https://github.com/espressif/esp-idf/issues/6656
2021-03-29 19:25:59 +02:00
Cao Sen Miao
2333667cb5 ota: fix ota with flash encryption 2021-03-12 16:44:06 +08:00
Cao Sen Miao
63e4510e9e flash_encryption: Quick fixed the issue that block when flash_encryption_write, Related https://github.com/espressif/esp-idf/issues/6322, Related https://github.com/espressif/esp-idf/issues/6254 2021-03-11 14:11:01 +08:00
Angus Gratton
2c4f90dab2 ci: Fix missing sys.stdout.encoding in python2 runners
Regression in fed98cd6ad
2021-03-04 09:27:26 +11:00
Angus Gratton
1f79b580f9 Merge branch 'bugfix/ttfw_example_test_fails_port_remains_open_v4.1' into 'release/v4.1'
ci: Fix CI issue if one example test fails, and if serial port returns some noise (v4.1)

See merge request espressif/esp-idf!12382
2021-02-28 23:57:04 +00:00
Ivan Grokhotkov
b1c383211c Merge branch 'bugfix/eclipse_make_decode_v4.1' into 'release/v4.1'
tools: Fix Eclipse build: “UnicodeDecodeError: 'ascii' codec can't decode byte” (v4.1)

See merge request espressif/esp-idf!12359
2021-02-19 15:55:47 +00:00
Angus Gratton
fed98cd6ad ci: ttfw: Encode serial port data to whatever the console encoding is
This is a bit of a hack, but gives us a way to always log it
2021-02-15 10:48:30 +11:00
Angus Gratton
65fb2ead1a ci: Log failure to close any DUT 2021-02-15 10:48:30 +11:00
Roland Dobai
52ecfeb337 tools: Prefer python3 during install and export
Install and export script should work on systems without "python"
executable.

Closes https://github.com/espressif/esp-idf/pull/6471

Closes https://github.com/espressif/esp-idf/issues/6532

Related to https://github.com/espressif/esp-idf/issues/6421 and
https://github.com/espressif/arduino-esp32/issues/4717
2021-02-14 19:46:28 +01:00
Angus Gratton
ba17e97665 Merge branch 'bugfix/get_component_requirements_v4.1' into 'release/v4.1'
cmake: fix getting component requirements (v4.1)

See merge request espressif/esp-idf!9714
2021-02-11 07:56:19 +08:00
Patryk Krzywdziński
85b96879f2 Fix eclipse build: “UnicodeDecodeError: 'ascii' codec can't decode byte”
Closes https://github.com/espressif/esp-idf/pull/6505
2021-02-10 12:50:39 +01:00
Fu Hanxi
b91448aa03 Merge branch 'ci/increase_cmake_build_parallel_count_v4.1' into 'release/v4.1'
ci: Increase cmake build parallel count

See merge request espressif/esp-idf!12282
2021-02-05 10:46:57 +08:00
Ivan Grokhotkov
fb63cf75ad Merge branch 'bugfix/idf_monitor_baudrate_arg_crash_v4.1' into 'release/v4.1'
idf monitor: fix crash when monitor baudrate argument set (Backport 4.1)

See merge request espressif/esp-idf!9759
2021-02-05 10:08:13 +08:00
lly
a47f4ae9fe ci: Increase cmake build parallel count 2021-02-04 20:48:22 +08:00
Anton Maklakov
62acc8734f Merge branch 'bugfix/ttfw_idf_find_artifacts_inaccurate_with_same_prefix_path_v4.1' into 'release/v4.1'
CI: fix the bug returns wrong artifact path when app_name is a subset of a longer one (v4.1)

See merge request espressif/esp-idf!12229
2021-02-03 11:34:42 +08:00
Mahavir Jain
6317ef13f8 unit-test-app: disable encrypted flash read/write in psram config to fix build failure 2021-02-02 05:10:34 +00:00
Fu Hanxi
aa2400f5f0 CI: fix the bug returns wrong artifact path when app_name is a subset of a longer one 2021-02-02 11:14:18 +08:00
Anton Maklakov
9760595f2f Merge branch 'bugfix/auto_test_script_only_use_given_branch_v4.1' into 'release/v4.1'
CI: limit switching branches for auto_test_script (v4.1)

See merge request espressif/esp-idf!11147
2021-01-30 22:20:31 +08:00
Ivan Grokhotkov
f74bb4e5a9 Merge branch 'feature/nvs_erase_check_init_4.1' into 'release/v4.1'
NVS Flash: prevent erasing initialized partition, nvs partition deinit bug (backport v4.1)

See merge request espressif/esp-idf!10063
2021-01-29 17:12:25 +08:00
Ivan Grokhotkov
0fcd502613 Merge branch 'bugfix/tools_python_subprocess_capture_output_v4.1' into 'release/v4.1'
tools: Avoid subprocess.run(capture_output) argument for Python <3.7 compatibility (v4.1)

See merge request espressif/esp-idf!11507
2021-01-29 17:10:43 +08:00
Anton Maklakov
38b0243807 Merge branch 'bugfix/ci_retries_when_download_v4.1' into 'release/v4.1'
CI: retry shell commands when download (v4.1)

See merge request espressif/esp-idf!9889
2021-01-29 16:55:03 +08:00
Anton Maklakov
75b33a1072 Merge branch 'feature/ci_fix_docker_build_v4.1' into 'release/v4.1'
ci: Use git mirror for docker image (v4.1)

See merge request espressif/esp-idf!10446
2021-01-29 16:48:57 +08:00
Angus Gratton
b691ef7e69 Merge branch 'bugfix/blecent_example_test_4.1' into 'release/v4.1'
Fix CI blecent example test (backport v4.1)

See merge request espressif/esp-idf!11322
2021-01-29 16:47:36 +08:00
He Yin Ling
4ebe0d8a2f versions: Update version to 4.1.1 2021-01-22 11:08:17 +08:00
Marius Vikhammer
fbb5ada91d idf monitor: fix crash when monitor baudrate argument set
Closes IDF-1902
2021-01-15 09:10:05 +00:00
Jakob Hasse
fe7ebf75a0 NVS Flash: prevent erasing initialized partition
Closes https://github.com/espressif/esp-idf/issues/4755
Closes https://github.com/espressif/esp-idf/issues/2777
Closes FCS-533

* 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

* nvs host unit tests now clean up after each
  test case

nvs_flash: fixed deinit other partition's handles

* When deinitializing or erasing a partition,
  nvs used to close all handles instead of only
  the current partition's handles.
  This is fixed now
* Added a unit test for that case
2021-01-07 11:32:29 +08:00
Anton Maklakov
d3c35e1c5f ci: Ignore Python 2 deprecation warning 2020-12-15 13:26:18 +07:00
Martin Gaňo
a303b53209 Add checking if the build directory exists and move expression after docstring 2020-12-11 13:26:45 +01:00
daiziyan
026accbb91 add CN translation for adding python2 deprecation warning(MR 11115) 2020-12-09 14:41:33 +01:00
martin.gano
f75acede24 Tools: add Python 2 deprecation warning 2020-12-09 14:41:33 +01:00
Angus Gratton
e7f40fca68 tools: Avoid subprocess.run(capture_output) argument for Python <3.7 compatibility
In Python 3.5 and 3.6 the equivalent to capture_output=True is to set stdout
and stderr arguments to subprocess.PIPE
2020-12-08 09:44:44 +11:00
Shivani Tipnis
38b15816b4 ci: Fix blecent example test
(cherry picked from commit fc146a98e4)
2020-11-30 22:41:12 +05:30
Marius Vikhammer
329ae0a987 docs: self host docs
Move doc hosting from readthedocs to espressif servers

Update CI, Sphinx configs and add IDF Sphinx theme
2020-11-24 02:16:02 +00:00
Angus Gratton
9a141cc0ce ci: Fix annotated tag check
Regression in 1612f84
2020-11-23 17:28:21 +11:00
KonstantinKondrashov
d925b564cd esp32: Switch SPIRAM stack in esp_restart_noos() to internal stack
If esp_restart_noos() is run and the stack address points to external memory (SPIRAM)
then Cache_Read_Disable() raises up the error "Cache disabled but cached memory region accessed"
to fix this we switch stack to internal RAM before disable cache.

Added unit tests.

Closes: https://github.com/espressif/esp-idf/issues/5107
2020-11-21 07:14:38 +00:00
Anton Maklakov
3a5457efe4 ci: use the retry script to download 2020-11-16 11:36:35 +07:00
Angus Gratton
5bb72ea5cc Merge branch 'bugfix/cmake_example_sdkconfig_path_v4.1' into 'release/v4.1'
cmake/example: Move idf_as_lib sdkconfig path to project, document configuring project (v4.1)

See merge request espressif/esp-idf!10860
2020-11-16 12:14:00 +08:00
Chen Yu Dong
fd10a095dd ci: limit switching branches for auto_test_script 2020-11-06 17:19:54 +08:00
Angus Gratton
176f146678 Merge branch 'bugfix/err_to_name_paths_windows_v4.1' into 'release/v4.1'
tools: fix path handling errors in gen_esp_err_to_name.py for Windows (v4.1)

See merge request espressif/esp-idf!10896
2020-10-30 15:12:43 +08:00
Roland Dobai
1bc0f5ac0a tools/ldgen: Fix parsing of sections names on Windows 2020-10-29 08:34:33 +01:00
Angus Gratton
c92efa0ae3 Merge branch 'bugfix/ldgen_unicode_path_v4.1' into 'release/v4.1'
tools/ldgen: Parse paths with Unicode characters in archives (v4.1)

See merge request espressif/esp-idf!10965
2020-10-26 12:08:07 +08:00
Chen Yu Dong
52c3aa87b5 ci: move auto_test_script to new repo (backport 4.1) 2020-10-24 09:24:59 +08:00
Roland Dobai
4836d295a8 tools/ldgen: Parse paths with Unicode characters in archives
Closes https://github.com/espressif/esp-idf/issues/5996
2020-10-23 13:43:55 +02:00
Marius Vikhammer
a20c4a79e6 tools: fix path handling errors in gen_esp_err_to_name.py for Windows
Exclude paths that were specified with slash as a path separator were compared
as strings. This would fail on Windows which uses backslash as a path separator.
2020-10-19 14:38:57 +08:00
Angus Gratton
65f1be59ad Merge branch 'bugfix/idf_py_disable_cmake_warnings_default_v4.1' into 'release/v4.1'
idf.py: disable cmake uninitialized variable warnings by default (v4.1)

See merge request espressif/esp-idf!10202
2020-10-19 06:34:15 +08:00
Angus Gratton
157ce5953a cmake: Log the project sdkconfig path as part of normal CMake status output
As discussed in footnote to https://github.com/espressif/esp-idf/issues/5251#issuecomment-625563782
2020-10-16 10:11:52 +11:00
Angus Gratton
bdd7461235 examples: Move idf_as_lib sdkconfig file to the project directory
Also add some explanation about configuring the project in the README

Previously with the default build-esp32.sh script, the build directory was
deleted and recreated so the project would always be built with default config.
2020-10-16 10:11:52 +11:00
Martin Stejskal
3932df3966 tools/docker: Add libpython2.7 in order to satisfy GDB dependencies
It was not possible to run xtensa-esp32-elf-gdb from container due to
missing libpython2.7 library.

Merges https://github.com/espressif/esp-idf/pull/5817
Closes https://github.com/espressif/esp-idf/issues/5284
2020-10-14 19:07:34 +00:00
Ivan Grokhotkov
ad78c86936 Merge branch 'feature/oocd_ver_backport_v4.1' into 'release/v4.1'
tools: Updates OpenOCD version to 'v0.10.0-esp32-20200709' (backport v4.1)

See merge request espressif/esp-idf!8435
2020-10-15 02:53:28 +08:00
Angus Gratton
7caa230cf9 Merge branch 'bugfix/ci_auto_checkout_revision_of_project_used_in_ci_v4.1' into 'release/v4.1'
CI: get git describe from annotated tags (v4.1)

See merge request espressif/esp-idf!10674
2020-10-08 16:44:18 +08:00
Angus Gratton
9f49a27c12 ci: Check version tags are always annotated
Closes https://github.com/espressif/esp-idf/issues/3114
2020-10-07 13:57:19 +11:00
Angus Gratton
df61488e54 build system: Also get IDF version from annotated tags only
Builds on previous commit.

Note: Getting the project version still pases --tags so still works with plain
tags, to keep compatibility for existing projects
2020-10-07 13:57:19 +11:00
Angus Gratton
aecb2bd8ee idf.py: Disable CMake --warn-uninitialized option by default
Can still be enabled by passing --cmake-warn-uninitialized on the command line

Prevents CMake warnings printed by default if IDF_PATH is underneath the CMake
project directory.

The reason for this is that CMake --warn-uninitialized only enables checks
inside the project directory (ie top-level CMakeLists.txt directory and
subdirectories), it doesn't enable for files included from other directories.

(The only way to enable warnings in other directories is to pass
--check-system-dirs and this looks like it's only useful for CMake's own
developers as it prints a lot of warnings from inside CMake otherwise - see
https://gitlab.kitware.com/cmake/cmake/-/issues/19645 )

Plan to follow up with a later commit to clean up most of the warnings (which
aren't problems for CMake execution), but we'll also disable this option by
default to avoid this unexpected triggering of IDF warnings.
2020-10-05 05:35:02 +00:00
He Yin Ling
52baa25aa1 CI: get git describe from annotated tags:
we should only parse IDF version from annotated tags
2020-09-30 11:33:04 +08:00
Renz Bagaporo
ef1d0b3d2e cmake: fix C identifier generation from embedded file 2020-09-28 21:16:20 +08:00
Renz Bagaporo
e0ee809d7d cmake: fix getting component requirements 2020-09-28 18:56:18 +08:00
Anton Maklakov
c7ba54ed73 Update toolchain to esp-2020r3
Fixup more for PSRAM issue;
    Allow GDB work correctly with Privileged Registers;
    Based on GCC 8.4.0;
    Update a fix of C++ exception crashs from the GCC mainline;
    Fixup strptime_l() and some locale in libc;
2020-09-17 10:49:14 +07:00
Sergei Silnov
9d359b814f ci: Use git mirror for docker image 2020-09-14 12:49:29 +02:00
Roland Dobai
31f9c88269 tools: Fix Python 3 incompatibility for building with Eclipse on Windows 2020-09-10 09:46:10 +02:00
David Čermák
e1115c951e Merge branch 'bugfix/fix_static_analysis_rules_v4.1' into 'release/v4.1'
static analysis: Apply current limits of known defects (v4.1)

See merge request espressif/esp-idf!9282
2020-08-31 14:42:36 +08:00
Shivani Tipnis
4680bae94d mfg_util: Update file handling to maintain line endings across various OS
Fixes: https://github.com/espressif/esp-idf/issues/4888
2020-08-27 11:55:32 +05:30
Angus Gratton
065d64555d Merge branch 'bugfix/idf_py_help_env_var_v4.1' into 'release/v4.1'
Tools: Mention ESPPORT and ESPBAUD in idf.py --help (v4.1)

See merge request espressif/esp-idf!9291
2020-08-27 08:46:43 +08:00
Angus Gratton
2a3ecaa926 Merge branch 'feature/pyc_clean_v4.1' into 'release/v4.1'
tools/idf.py: Clean Python bytecode files (v4.1)

See merge request espressif/esp-idf!9263
2020-08-27 08:46:38 +08:00
Angus Gratton
b76c3afa3a Merge branch 'bugfix/no_pyc_files_v4.1' into 'release/v4.1'
tools: Don't generate pyc files (v4.1)

See merge request espressif/esp-idf!8970
2020-08-27 08:46:30 +08:00
Angus Gratton
d54f4bd691 Merge branch 'bugfix/idf_build_process_default_v4.1' into 'release/v4.1'
cmake: fix issue with setting defaults in idf_build_process (v4.1)

See merge request espressif/esp-idf!9712
2020-08-26 07:58:54 +08:00
Mahavir Jain
829080e10e Merge branch 'bugfix/convert-string-to-bytes_v4.1' into 'release/v4.1'
components: convert string to bytes to fix TypeError (backport v4.1)

See merge request espressif/esp-idf!9733
2020-08-20 21:54:21 +08:00
Michael (XIAO Xufeng)
6e148c0051 Merge branch 'bugfix/esp_flash_write_performance_regression_4.1' into 'release/v4.1'
esp_flash: fix the write performance regression (Backport v4.1)

See merge request espressif/esp-idf!8800
2020-08-20 19:09:59 +08:00
Angus Gratton
95083233c5 Merge branch 'bugfix/prov_retry_failures_v4.1' into 'release/v4.1'
ci: Add retries for all provisioning methods, some refactors (v4.1)

See merge request espressif/esp-idf!9388
2020-07-23 13:19:30 +08:00
Alexey Gerenkov
7e2f701a3c tools: Updates OpenOCD version to 'v0.10.0-esp32-20200709' 2020-07-22 23:37:46 +03:00
martin.gano
b41752b95c components: convert string to bytes to fix TypeError There is a string passed as an argument for function, but a format of a string seemingly refers to bytes therefore it needs to be converted to bytes Solves https://esp32.com/viewtopic.php?f=13&t=16529
(cherry picked from commit cb0bdb8bba)
2020-07-22 11:19:10 +02:00
Renz Christian Bagaporo
b8c893774f ci: pushd and cd in one go in idf_build_process defaults test 2020-07-20 18:29:19 +08:00
Renz Bagaporo
d101da4ca4 cmake: fix setting defaults in idf_build_process
Closes https://github.com/espressif/esp-idf/issues/5053
2020-07-20 18:29:19 +08:00
Renz Bagaporo
a716442c72 ci: test idf_build_process defaults set properly 2020-07-20 18:29:19 +08:00
He Yin Ling
103503ba56 CI: do not run cases likely to fail 2020-07-19 14:58:06 +08:00
He Yin Ling
50b5b3184e CI: disable cases with test env SSC_T5_1 2020-07-19 14:58:05 +08:00
He Yin Ling
69ce0cea68 CI: temp allow mesh job to fail as runner is not stable 2020-07-19 14:58:03 +08:00
Angus Gratton
f5a7c9635f Merge branch 'feature/msys2_env_update_v4.1' into 'release/v4.1'
windows: Update MSYS2 pre-compiled legacy build environment (v4.1)

See merge request espressif/esp-idf!9143
2020-07-08 17:34:33 +08:00
Ivan Grokhotkov
b1e907ccf1 ci: consider sdkconfig.defaults.TARGET_NAME in examples and test apps 2020-07-03 09:45:03 +00:00
Ivan Grokhotkov
9b19b21073 ci: generate separate log files for each example config
Otherwise the build log gets overwritten, and warnings in earlier
builds may be masked.
2020-07-03 09:45:03 +00:00
Angus Gratton
4ea2935b1a ci provisioning: Add some experiments to check the runner's STA state
Not clear why sometimes it associates without negotiating a new DHCP lease.
2020-07-03 09:02:04 +00:00