4915 Commits

Author SHA1 Message Date
Wan Lei
dccc31e9e4 Merge branch 'refactor/remove_apb_ctrl_reg' into 'master'
sysreg: deprecate apb_ctrl related reg

Closes DOC-5139

See merge request espressif/esp-idf!24135
2023-06-15 14:57:32 +08:00
Marek Fiala
5033637899 Tools: Rewrite build system unit tests to python - partitions, components, docs 2023-06-14 12:17:53 +00:00
Armando (Dou Yiwen)
6f4ee07b69 Merge branch 'feature/uf2_c6_p4' into 'master'
tools: added UF2 identificator for esp32c6 and esp32p4

Closes IDF-5626

See merge request espressif/esp-idf!24223
2023-06-14 18:48:26 +08:00
Frantisek Hrbata
314ebbcf36 tools: add sbom-hash check to pre-commit
This uses the test from CI introduced in MR !23989. Even though the
original CI test is run with pytest, it doesn't use any pytest specific
code/features and it should never need them. So it make sense just to
re-use the code.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-14 09:31:10 +00:00
Roland Dobai
f351c3fc35 Merge branch 'feature/submodules_sbom' into 'master'
tools: add sbom information for submodules

Closes IDF-7416

See merge request espressif/esp-idf!23989
2023-06-14 17:30:06 +08:00
Armando
107b84eb31 tool: added UF2 identificator for esp32c6 and esp32p4
The IDs were submitted in https://github.com/microsoft/uf2/pull/76
2023-06-14 15:29:23 +08:00
Armando (Dou Yiwen)
17d6768e65 Merge branch 'feature/add_target_esp32p4' into 'master'
esp32p4: introduce the target

See merge request espressif/esp-idf!24155
2023-06-14 10:16:44 +08:00
Roland Dobai
0de9dab5bb Merge branch 'fix/flash_progression_processing' into 'master'
tools: process progression for flash action output

See merge request espressif/esp-idf!23911
2023-06-13 23:03:38 +08:00
Anton Maklakov
b9cc4f045b Merge branch 'feature/tools_add_ulp_linux_i686_toolchain' into 'master'
tools: add ULP toolchain for linux-i686 platform

See merge request espressif/esp-idf!24185
2023-06-13 16:38:14 +08:00
Marius Vikhammer
86c5b437b5 Merge branch 'ci/trim_test_apps' into 'master'
core-system: limit build components for core-system test apps

Closes IDF-7092

See merge request espressif/esp-idf!24167
2023-06-13 15:31:00 +08:00
Armando
101e6a18eb esp32p4: introduce the target
Add esp32p4 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32p4`
2023-06-13 15:16:11 +08:00
Marius Vikhammer
6d11c37ff1 core-system: trim build components for core-system test apps 2023-06-13 09:14:42 +08:00
Anton Maklakov
d58004f57a tools: add ULP toolchain for linux-i686 platform
Closes https://github.com/espressif/esp-idf/issues/11561
2023-06-13 00:48:23 +07:00
Alexey Lapshin
07c7fe929b tools: process progression for flash action output 2023-06-12 13:56:59 +04:00
wanlei
3ed82deedf sysreg: deprecate apb_ctrl related reg, suggest syscon 2023-06-09 17:34:10 +08:00
Marek Fiala
ae99820399 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 08:46:26 +00:00
Alexey Gerenkov
d4e1935ba8 Merge branch 'feature/compiler_rt_support' into 'master'
build: Adds support for compiler-rt in Clang toolchain

See merge request espressif/esp-idf!21213
2023-06-09 04:41:34 +08:00
Alexey Gerenkov
dd5880cca6 build: Add Clang toolchain file for ESP32-H4 2023-06-08 16:49:42 +03:00
Alexey Gerenkov
e9345bcced build: Adds support for Clangs's toolchain compiler-rt 2023-06-08 16:49:37 +03:00
Frantisek Hrbata
7819965039 tools: do not disable pytest-embedded
As pointed out by Fu Hanxi, the pytest_build_system job is currently
using --parallel-index and --parallel-count, which are provided by
pytest-embedded, so we should not disable it. Moreover to properly
disable pytest-embedded we should use "no:pytest_embedded". Meaning
this probably was not working as indented anyway.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-06 15:01:08 +02:00
Frantisek Hrbata
925bc17cd0 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-06 15:01:08 +02:00
Fu Hanxi
a58aed1187 Merge branch 'ci/fix_multi_needs_test_cases_skipped_issue' into 'master'
ci: fix duplicated names for generated built app list

See merge request espressif/esp-idf!24034
2023-06-06 11:24:39 +08:00
Marius Vikhammer
adef00f363 Merge branch 'bugfix/comp_opt_level_debug_rename' into 'master'
core-system: changed CONFIG_COMPILER_OPTIMIZATION_DEFAULT to CONFIG_COMPILER_OPTIMIZATION_DEBUG

Closes IDFGH-6776

See merge request espressif/esp-idf!24033
2023-06-06 10:31:01 +08:00
Fu Hanxi
4ff9ed5971 ci: fix duplicated names for app list issue 2023-06-05 10:19:11 +08:00
Zim Kalinowski
2ab094192d Merge branch 'bugfix/saving-esp-idf-env-as-utf8' into 'master'
build system: fix init.bat crash in windows when folder contains unicode characters

See merge request espressif/esp-idf!24024
2023-06-02 20:32:55 +08:00
Marius Vikhammer
bd4c0fca3c core-system: changed CONFIG_COMPILER_OPTIMIZATION_DEFAULT to CONFIG_COMPILER_OPTIMIZATION_DEBUG
DEBUG is more descriptive and is consistent with the name used in the bootloader:
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG

Closes https://github.com/espressif/esp-idf/issues/8404
2023-06-02 15:16:50 +08:00
Roland Dobai
fff19088a2 Merge branch 'feature/extend_proj_desc_json' into 'master'
extend information in project_description.json

Closes IDF-7412

See merge request espressif/esp-idf!23972
2023-06-01 20:44:47 +08:00
Zim Kalinowski
b506176e65 build system: fix init.bat crash in windows when folder contains unicode characters 2023-06-01 10:44:54 +02:00
Marius Vikhammer
c60b79978d Merge branch 'ci/system_test_apps_optimize' into 'master'
ci: cleanup tools/system test apps

See merge request espressif/esp-idf!23886
2023-06-01 13:32:00 +08:00
Marius Vikhammer
9f31c65458 Merge branch 'feature/c6_ulp_gpio' into 'master'
ulp: added gpio API for lp core

Closes IDF-6834

See merge request espressif/esp-idf!23766
2023-06-01 09:50:33 +08:00
Alexey Gerenkov
8846674e54 tools: Upgrade Clang toolchain to 'esp-16.0.0-20230516' 2023-05-31 22:07:15 +03:00
Frantisek Hrbata
56289013ba 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-05-30 12:07:20 +02:00
Frantisek Hrbata
483b7ae763 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-05-30 12:07:20 +02:00
Marius Vikhammer
350650eb73 ci: cleanup tools/system test apps 2023-05-30 15:42:37 +08:00
Marius Vikhammer
dacc51dd2b ulp/lp-core: added gpio API for lp core as well as an example showcasing it. 2023-05-29 11:13:47 +08:00
Fu Hanxi
22e2738f78 ci: build and test only modified components related test cases 2023-05-26 22:59:57 +08:00
Fu Hanxi
35adff40e0 ci: get_mr_info support components 2023-05-26 22:59:56 +08:00
Roland Dobai
729f791e90 Merge branch 'fix/idf_tools_certificate' into 'master'
Tools: Update the certificate of idf_tools.py

See merge request espressif/esp-idf!23832
2023-05-25 22:25:11 +08:00
Mahavir Jain
e2fe2bf152 Merge branch 'fix/xts_aes_register_prefix_discrepency' into 'master'
fix: xts aes register prefix discrepancy

Closes DOC-5136 and DOC-5140

See merge request espressif/esp-idf!23900
2023-05-25 16:40:13 +08:00
Zim Kalinowski
c74c18520e Merge branch 'bugfix/improve-git-describe-handling' into 'master'
build system: more accurate error information for git_describe

Closes IDFGH-7504

See merge request espressif/esp-idf!23891
2023-05-25 16:21:40 +08:00
harshal.patil
0058fb3a05 esp32c3: xts-aes register prefix discrepency 2023-05-25 11:27:10 +05:30
Fu Hanxi
d29b3ee584 Merge branch 'test/idf-build-apps-1.0.0' into 'master'
CI: make master pipeline compatible with idf-build-apps 1.0.0 release

See merge request espressif/esp-idf!23892
2023-05-25 13:51:21 +08:00
Fu Hanxi
1f851fd405 ci: fix breaking change in idf-build-apps 1.0.0 2023-05-25 08:36:44 +08:00
Chen Yu Dong
2da7873096 Merge branch 'bugfix/case_tester__multi_dev_cases' into 'master'
CI: fix multi dev case tester

See merge request espressif/esp-idf!23869
2023-05-24 16:26:02 +08:00
Roland Dobai
5e6beade2d Merge branch 'feature/rewrite_build_sys_tests_v4' into 'master'
Tools: Rewrite build system unit tests to python - idf.py sdkconfig, bootloader, components

Closes IDF-7164

See merge request espressif/esp-idf!22325
2023-05-24 14:19:35 +08:00
Zim Kalinowski
369d8a0f8a build system: more accurate error information for git_describe
Closes https://github.com/espressif/esp-idf/issues/9071

See merge request espressif/esp-idf!23891
2023-05-23 18:30:01 +02:00
Marek Fiala
fb0dc46183 Tools: Rewrite build system unit tests to python - sdkconfig, bootloader, components 2023-05-23 09:47:39 +00:00
Laukik Hase
a06118012e
docs: Update nvs_flash docs for the HMAC-based NVS encr-keys protection scheme
- Also updated the `nvs_partition_generator` and `mass_mfg` tools
  documentation
2023-05-23 13:55:57 +05:30
Laukik Hase
9ac87fcc8b
nvs_partition_gen/mass_mfg: Support for HMAC-based scheme for generating NVS encr-keys 2023-05-23 13:55:55 +05:30
Laukik Hase
c1bed366ba
nvs_flash: Add support for HMAC-based NVS encryption keys protection scheme
- This features allows the NVS encryption keys to be derived and protected using
  the HMAC peripheral. Since the encryption keys are derived at runtime, they
  are not stored anywhere in the flash and hence this feature does not require
  a separate `nvs_keys` partition.
2023-05-23 13:55:52 +05:30