4362 Commits

Author SHA1 Message Date
Roland Dobai
8b01e23558 Merge branch 'fix/ci_coredump_test' into 'release/v5.0'
Tools: remove failing IDF Monitor host tests with coredump and fix print filter without ELF file specified

See merge request espressif/esp-idf!24272
2023-07-11 16:39:06 +08:00
Roland Dobai
f0f859f964 Merge branch 'feature/submodules_sbom_v5.0' into 'release/v5.0'
tools: add sbom information for submodules (v5.0)

See merge request espressif/esp-idf!24241
2023-07-11 16:38:18 +08:00
Jiang Jiang Jian
afe026f318 Merge branch 'bugfix/increase_pm_dump_time_field_length_v5.0' into 'release/v5.0'
Power Management: increase pm_dump time field width (backport v5.0)

See merge request espressif/esp-idf!24449
2023-07-11 12:24:23 +08:00
Jiang Jiang Jian
e99b7835fa Merge branch 'bugfix/update_esp_rom_layout_v5.0' into 'release/v5.0'
esp_rom: fix rom layout issues (backport v5.0)

See merge request espressif/esp-idf!24640
2023-07-11 12:22:40 +08:00
Jiang Jiang Jian
c10505f939 Merge branch 'bugfix/fix_esp32s3_psram_access_failed_in_dfs_v5.0' into 'release/v5.0'
esp_pm: fix esp32s3 psram access failed when dfs is enabled (backport v5.0)

See merge request espressif/esp-idf!24199
2023-07-11 12:19:43 +08:00
Marius Vikhammer
e004907bd5 versions: Update version to 5.0.3 2023-07-10 17:23:26 +08:00
Jiang Guang Ming
ce1042a267 esp_rom: fix rom layout issues 2023-07-07 01:25:17 -07:00
wuzhenghui
3eae74e966 bugfix: increase pm_dump time field width
Closes https://github.com/espressif/esp-idf/issues/11704
2023-06-28 14:35:20 +08:00
Frantisek Hrbata
b947cab073 tools: add sbom information for submodules
This adds SBOM information for submodules, which are not managed
by Espressif. Meaning there is no fork for them in the espressif
namespace. Other submodules should add sbom.yml manifest file to
the root of their git repository.

The SBOM information for submodules is stored in the .gitmodules file.
Each SBOM related variable has the "sbom-" prefix and the following
variables may be used:

sbom-version:
   submodule version

sbom-cpe:
   CPE record if available in NVD. This will be used by the SBOM
   tool to check for possible submodule vulnerabilities. The
   version in the CPE can be replaced with the "{}" placeholder,
   which will be replaced by the "sbom-version" value from above.

sbom-supplier:
   Person or organization who is providing the submodule.
   It has to start with "Person:" or "Organization:" prefix
   as required by the SPDX-2.2 standard.

sbom-url:
   URL to the project if exists, e.g. github.

sbom-description:
   Project description.

sbom-hash:
   Submodule SHA as recorded in the git-tree. This field is used by
   CI to check that the submodule checkout hash and info in .gitmodules
   are in sync. IOW if submodule is updated and it has SBOM info in
   .gitmodules, the .gitmodules has to be updated too. The test is
   part of this commit. The checkout has of the submodule can be found
   by using "git submodule status".

Example for micro-ecc submodule
---8<---
[submodule "components/bootloader/subproject/components/micro-ecc/micro-ecc"]
	path = components/bootloader/subproject/components/micro-ecc/micro-ecc
	url = ../../kmackay/micro-ecc.git
	sbom-version = 1.0
	sbom-cpe = cpe:2.3🅰️micro-ecc_project:micro-ecc:{}:*:*:*:*:*:*:*
	sbom-supplier = Person: Ken MacKay
	sbom-url = https://github.com/kmackay/micro-ecc
	sbom-description = A small and fast ECDH and ECDSA implementation for 8-bit, 32-bit, and 64-bit processors
	sbom-hash = d037ec89546fad14b5c4d5456c2e23a71e554966
---8<---

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-27 10:05:29 +02:00
Fu Hanxi
4ff607e9a8 ci: ignore pkg_resources deprecation warning 2023-06-21 07:30:25 +08:00
Roland Dobai
169d7dc3c9 tools: Fix IDF Monitor print filter when no ELF file is supplemented
A different serial handler class is used when there was no ELF file
passed do esp-idf-monitor. This fix will ensure that print filter check
is respected in this case as well.
2023-06-19 16:56:20 +02:00
Roland Dobai
6212ce9d94 tools: Remove ELF-file-based IDF Monitor tests 2023-06-19 16:56:20 +02:00
wuzhenghui
d202fc5993 ci: sync master flash_psram test and add access psram with DFS unity test 2023-06-15 14:14:25 +08:00
Anton Maklakov
70998e211a tools: add ULP toolchain for linux-i686 platform
Closes https://github.com/espressif/esp-idf/issues/11561
2023-06-13 12:50:21 +07:00
Marek Fiala
5a7eae4743 Tools bugfix: Removed working directory when using idf.py
Added check for existence of current working directory when using idf.py

Closes https://github.com/espressif/esp-idf/issues/11476
2023-06-09 14:28:11 +02:00
Frantisek Hrbata
9156bbb55c tools: extend information in project_description.json
This extends information provided in the project_description.json file.
Newly added information can be used in the SBOM generating tool and
also to improve hints regarding the the component dependency issues.

Added fields

version:
   This adds versioning to the project_description.json file,
   so it's easy to identify if it contains the required information.

project_version:
   Can be used as a version for the resulting binary e.g. `hello_world.bin`.

idf_path:
   This one is probably not necessary, but it allows tools to run even without
   esp-idf environment exported(e.g. export.sh).

c_compiler:
   The `CMAKE_C_COMPILER` value with full path to the compiler binary. This can
   be used to get information about toolchain, which was used to build the project.

common_component_reqs:
   List of common components as presented in cmake's __COMPONENT_REQUIRES_COMMON
   and set in tools/cmake/build.cmake:__build_init().

build_component_info:
   Detailed information about components used during build. It's a
   dictionary with the component name as a key and each component has
   a dictionary with detailed information. Following is an example for
   the efuse component.

   "efuse": {
       "alias": "idf::efuse",
       "target": "___idf_efuse",
       "prefix": "idf",
       "dir": "/home/fhrbata/work/esp-idf/components/efuse",
       "type": "LIBRARY",
       "lib": "__idf_efuse",
       "reqs": [],
       "priv_reqs": [ "bootloader_support", "soc", "spi_flash" ],
       "managed_reqs": [],
       "managed_priv_reqs": [],
       "file": "/home/fhrbata/work/blink/build/esp-idf/efuse/libefuse.a",
       "sources": [ "/home/fhrbata/work/esp-idf/components/efuse/esp32s3/esp_efuse_table.c", ... ],
       "include_dirs": [ "include", "esp32s3/include" ]
   }

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-08 14:30:07 +02:00
Frantisek Hrbata
30735b33ef tools: fix make_json_list to return empty json list for empty cmake list
Currently make_json_list() returns '[ "" ]' for empty cmake list. Fix this
so empty json list is returned instead.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-08 14:30:07 +02:00
Marius Vikhammer
e77e6eb963 Merge branch 'bugfix/use_safe_noreturn_attr_v5.0' into 'release/v5.0'
compiler: replaced noreturn by __noreturn__ in header files (v5.0)

See merge request espressif/esp-idf!23812
2023-06-01 10:17:58 +08:00
Jakob Hasse
fa099f23f3 compiler: replaced noreturn by __noreturn__ in header files
* noreturn may be replaced by third-party macros,
  rendering it ineffective

* Closes https://github.com/espressif/esp-idf/issues/11339
2023-05-30 13:21:17 +08:00
Roland Dobai
9054ff398f Merge branch 'fix/idf_tools_certificate_v5.0' into 'release/v5.0'
Tools: Update the certificate of idf_tools.py (v5.0)

See merge request espressif/esp-idf!23929
2023-05-29 14:25:12 +08:00
Roland Dobai
d3885faa43 Tools: Update the certificate of idf_tools.py 2023-05-25 16:30:08 +02:00
Alexey Lapshin
e84e884d66 tools: fix control characters print if hints enabled
Closes https://github.com/espressif/esp-idf/issues/11351
2023-05-23 18:30:35 +08:00
Roland Dobai
128435993e Merge branch 'bug/interactive_hints_v5.0' into 'release/v5.0'
tools: fix hints processing in interactive mode (v5.0)

See merge request espressif/esp-idf!23804
2023-05-19 15:45:04 +08:00
David Čermák
ab3499ab82 Merge branch 'bugfix/dm9051_rcv_mcast_v5.0' into 'release/v5.0'
esp_eth: allowed DM9051 to receive multicast packets v5.0

See merge request espressif/esp-idf!22864
2023-05-18 18:31:42 +08:00
Frantisek Hrbata
8e811c1bf2 tools: fix hints processing in interactive mode
Currently hints are processed only once the process is finished and
exits with non-error exit code. In interactive mode, e.g. for monitor,
we want to process ouput lines for hints right away.

This adds a simple buffer, which keeps the last line and once EOL is
reached, it is processed for hints.

Since the original hints processing was file based, a new helper
function was added to allow processing hints in string.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-05-17 13:27:13 +02:00
Frantisek Hrbata
8eda836de6 tools: don't print hints directly in print_hints
This is partial backport of following commit, which changes
print_hints to generate_hints.

	commit 92ef2a4c835ac5d6043ee14678ce0c5c941d3c63
	Author: simon.chupin <simon.chupin@espressif.com>
	Date:   Tue Aug 9 15:39:23 2022 +0200

	    Tools: Add unit tests for idf.py hints

Only hunks for core_ext.py and tools.py are picked. It would be possible
to use the original print_hints approach, where the hints are directly
printed out and not returned, but it seems to make sense to keep it
closer to most recent version. It should make further backports easier
and it allows to cherry pick the iterative hints approach.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-05-17 13:26:46 +02:00
Roland Dobai
b08267f3b1 Merge branch 'monitor_win_color-v5.0' into 'release/v5.0'
bug(idf_monitor): fix color on windows with hints (v5.0)

See merge request espressif/esp-idf!23348
2023-05-17 18:39:32 +08:00
Alexey Lapshin
e092b58696 coredump: remove tests (moved to esp-coredump repo) 2023-05-16 12:49:13 +08:00
Zim Kalinowski
0b8800eaae Merge branch 'contrib/github_pr_10895_v5.0' into 'release/v5.0'
Fix possible conversion errors by using __builtin_ffsll (GitHub PR) (v5.0)

See merge request espressif/esp-idf!23691
2023-05-15 18:43:35 +08:00
Jakob Hasse
5946c6ad16 cxx/esp_hw_support: added build test, changed parameter types
Changed rv_utils_intr_edge_ack and esp_cpu_intr_edge_ack to
take uint32_t instead of int to avoid build errors.

The test is to test in particular that __builtin_ffsll, used in
xt_utils.h, which is included via esp_cpu.h, compiles fine
in C++20 with -Wsign-conversion enabled.

Closes https://github.com/espressif/esp-idf/pull/10895
2023-05-15 10:03:12 +08:00
KonstantinKondrashov
0b697ee9cd test_apps: Test multicore app can be run by unicore bootloader 2023-05-11 05:55:32 +00:00
Marius Vikhammer
b7ad0e0ad1 Merge branch 'bugfix/make_clean_files_v5.0' into 'release/v5.0'
build-system: replace ADDITIONAL_MAKE_CLEAN_FILES with ADDITIONAL_CLEAN_FILES (v5.0)

See merge request espressif/esp-idf!23662
2023-05-11 10:39:58 +08:00
Roland Dobai
cd56601138 Merge branch 'esptool_extrav5.0' into 'release/v5.0'
feat(esptool): allow to set force for write_flash (v5.0)

See merge request espressif/esp-idf!23256
2023-05-11 00:37:14 +08:00
Roland Dobai
9c3a44b76e Merge branch 'monitor/new_kernel-5.0' into 'release/v5.0'
bug(monitor/console_reader): replace TIOCSTI with busy wait to suppport kernel > 6.2 (5.0)

See merge request espressif/esp-idf!23351
2023-05-11 00:36:55 +08:00
Roland Dobai
930539ef25 Merge branch 'bugfix/asyncio_progress_term_width_v5.0' into 'release/v5.0'
tools: fix progress output in asyncio.run with zero terminal width (v5.0)

See merge request espressif/esp-idf!23219
2023-05-11 00:35:38 +08:00
Roland Dobai
85a3cca773 Merge branch 'feature/hfp_ag_hints_v5.0' into 'release/v5.0'
tools: Update idf-py hints with Bluedroid HFP AG info[backport 5.0]

See merge request espressif/esp-idf!23153
2023-05-11 00:35:21 +08:00
Roland Dobai
86eff35977 Merge branch 'feature/update-OpenOCD-to-v0.12.0-esp32-20230419_v5.0' into 'release/v5.0'
tools: update OpenOCD version to v0.12.0-esp32-20230419 (v5.0)

See merge request espressif/esp-idf!23678
2023-05-11 00:33:25 +08:00
Alexey Gerenkov
98fd372e91 tools: update OpenOCD version to v0.12.0-esp32-20230419 2023-05-10 13:18:56 +03:00
Ivan Grokhotkov
5181de8ac5 versions: Update version to 5.0.2 2023-05-10 09:59:18 +02:00
Marius Vikhammer
124a43e9ec build-system: replace ADDITIONAL_MAKE_CLEAN_FILES with ADDITIONAL_CLEAN_FILES
ADDITIONAL_MAKE_CLEAN_FILES is deprecated and only worked with make.
Replaced with the new ADDITIONAL_CLEAN_FILES (CMake 3.15) which also works with ninja.
2023-05-10 09:56:15 +08:00
Peter Dragun
1b03bfb3ea feat(monitor): flush terminal detection seq 2023-04-24 11:25:47 +02:00
Peter Dragun
f0dea7d9ff bug(monitor/ansi_converter): fix output decode detection 2023-04-24 11:25:47 +02:00
Peter Dragun
d47c309d7f fix(monitor/ansi_converter): do not catch status and cursor escape sequences 2023-04-24 11:25:47 +02:00
Peter Dragun
5746495450 bug(idf_monitor): fix color on windows with hints
Closes https://github.com/espressif/esp-idf/issues/9610
2023-04-24 11:25:32 +02:00
Peter Dragun
c8e800ce8a bug(console_reader): replace TIOCSTI with busy wait to suppport kernel > 6.2
Closes https://github.com/espressif/esp-idf/issues/11027
2023-04-21 15:35:36 +02:00
Peter Dragun
9c4282ac5f feat(esptool): allow to set force for write_flash 2023-04-18 13:47:09 +02:00
Frantisek Hrbata
8be7a05487 tools: fix progress output in asyncio.run with zero terminal width
Currently the forced progress in RunTool is trying to fit the output
line into a terminal width, but it doesn't take into an account a
situation when the terminal width is reported as zero. This manifests
when running in docker image with redirected output and can be seen
in the github workflow output for esp-idf-ci-action.

docker run --rm -t my_ubuntu_esp python3 -c 'import os,sys; print(os.get_terminal_size(), sys.stdout.isatty())'
os.terminal_size(columns=238, lines=59) True

vs

docker run --rm -t my_ubuntu_esp python3 -c 'import os,sys; print(os.get_terminal_size(), sys.stdout.isatty())' | tee
os.terminal_size(columns=0, lines=0) True

Since the output is reported as tty and the terminal width as 0, the
fit_text_in_terminal() function returns empty string. I also verified this
by running idf.py build inside a testing docker image.

This fix adjusts the fit_text_in_terminal() function to return original
line if the terminal width is zero.

Also simplify the progress print and use same approach as ninja
https://github.com/ninja-build/ninja/blob/master/src/line_printer.cc#L66

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-04-15 12:22:37 +02:00
liqigan
93c8e1ff5a tools: Update idf-py hints with Bluedroid HFP AG info 2023-04-11 20:38:57 +08:00
Jiang Jiang Jian
834ca549a2 Merge branch 'feature/remove-cxx-experimental-v5.0' into 'release/v5.0'
cxx: removed cxx experimental components (v5.0)

See merge request espressif/esp-idf!22531
2023-03-30 09:34:01 +08:00
Jiang Jiang Jian
e8205de110 Merge branch 'bugfix/lwip_core_locking_v5.0' into 'release/v5.0'
esp_netif/lwip: Fix core-locking config (v5.0)

See merge request espressif/esp-idf!22443
2023-03-23 16:54:49 +08:00