Commit Graph

4077 Commits

Author SHA1 Message Date
Song Ruo Jing
6ad80f0332 refactor(uart): make uart driver as component, and fix astyle 2023-12-15 17:03:51 +08:00
C.S.M
77c49cf3e2 Merge branch 'refactor/esp_driver_i2c' into 'master'
refactor(i2c): Make i2c  driver as a seperate component

See merge request espressif/esp-idf!27860
2023-12-15 10:48:33 +08:00
Mahavir Jain
8ef201be80 Merge branch 'bugfix/fix_partition_table_gen' into 'master'
fix(partition_table): Check partition size for type APP

See merge request espressif/esp-idf!26755
2023-12-14 18:41:52 +08:00
Cao Sen Miao
aa10770323 refactor(i2c): Make i2c driver as a seperate component 2023-12-14 15:39:35 +08:00
Alon Bar-Lev
bccb2873bd feat(console): add command user context support
Current implementation implicitly forces the developer to use global variables
to enter its context during the command invocation, this change enables each
module to register a context for command to find without the need to manage
global variables.

No API breakage.

Fields added:
   esp_console_cmd_t::func_w_context    - (*)(int argc, char **argv, void *context)

Functions added:
   esp_err_t esp_console_cmd_set_context(const char *cmd, void *context)

Usage:

   esp_console_cmd_register(&cmd));
   esp_console_cmd_set_context(cmd.command, (void *)"context"));

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
2023-12-13 10:27:04 +08:00
Armando (Dou Yiwen)
b914f25b53 Merge branch 'doc/revert_8_bit_ddr_emmc_support_doc' into 'master'
Revert "doc(sdmmc): update emmc states"

See merge request espressif/esp-idf!27815
2023-12-11 15:33:39 +08:00
Shang Zhou
09ea179864 Merge branch 'docs/sync_up_en_and_cn_nov' into 'master'
docs: Sync up CN and EN versions for files under api-guides and api-references (Nov)

Closes DOC-6664

See merge request espressif/esp-idf!27721
2023-12-11 14:53:06 +08:00
Shang Zhou
740981078f docs: Sync up CN and EN versions for files under api-guides and api-references (Nov) 2023-12-11 14:53:05 +08:00
Marius Vikhammer
79d04d4e14 Merge branch 'docs/update_sys_docs_p4' into 'master'
docs(esp32p4): update misc docs for esp32p4

Closes IDF-7751, IDF-7754, and IDF-7749

See merge request espressif/esp-idf!27713
2023-12-11 14:14:35 +08:00
Harshit Malpani
bbbede07d0
fix(partition_table): Check partition size for type APP
The size of partition of type APP should be multiple of 4 KB. Partition
generation tool now make this as a mandatory requirement. This is
minimum flash erase size. If the size of the APP type partition is not
aligned to 4 KB then the last erase operation could go beyond the allocated
partition and hence may fail. This issue would only be observed when the
firmware size grows very close to the allocated partition size, and hence
causing the OTA update to fail.

For already deployed devices on-field with the size of APP partition not
aligned to flash sector boundary, it is best to ensure that firmware
size always remains within the lower 4 KB boundary of the total
allocated space. While migrating to ESP-IDF 5.3 release, partition table
for an existing project can be adjusted accordingly for the build to
succeed.

Found during discussion in https://github.com/espressif/esp-idf/pull/12460
2023-12-11 10:14:57 +05:30
Armando
b3cc39cfd8 Revert "doc(sdmmc): update emmc states"
This reverts commit 77299842ed.
2023-12-11 11:47:00 +08:00
Zhang Xiao Yan
bba48f1e1e Merge branch 'docs/add_cn_trans_for_bootloader_image_format_and_random.rst' into 'master'
docs: Provide Chinese translation for bootloader_image_format, log, random, and internal-unstable.rst

Closes DOC-6419

See merge request espressif/esp-idf!26224
2023-12-11 11:02:31 +08:00
Marius Vikhammer
ac3915f092 docs(esp32p4): update misc docs for esp32p4 2023-12-09 09:09:55 +08:00
Radek Tandler
12011d2057 Merge branch 'bugfix/fatfs_fatfsparse_relaxed' into 'master'
bugfix(fatfs): Fixed fatfsparse.py parses FAT boot sector too strictly

See merge request espressif/esp-idf!26888
2023-12-08 23:48:25 +08:00
renpeiying
cf03d6341e docs: Provide Chinese translation for bootloader_image_format, log, random, and internal-unstable.rst 2023-12-08 17:01:36 +08:00
Roland Dobai
b486466339 Merge branch 'monitor_custom_reset' into 'master'
docs(tools/monitor): custom reset sequence from esptool

See merge request espressif/esp-idf!26834
2023-12-08 16:00:24 +08:00
daiziyan
17dfe49416 docs: provide CN trans for idf-monitor 2023-12-07 10:06:36 +01:00
Peter Dragun
0022803ed6 docs(tools/monitor): custom reset sequence from esptool 2023-12-07 10:06:24 +01:00
Ivan Grokhotkov
918c0ce4ac
feat(tools): update qemu to esp-develop-8.1.3-20231206
https://github.com/espressif/qemu/releases/tag/esp-develop-8.1.3-20231206
2023-12-07 10:54:29 +08:00
Sudeep Mohanty
356b77ce84 Merge branch 'contrib/github_pr_12461' into 'master'
Enables VERSION argument for project() macro in cmake

Closes IDFGH-11310

See merge request espressif/esp-idf!27369
2023-12-06 20:57:17 +08:00
Chen Jian Xing
f0353350d0 Merge branch 'docs/Separate_low-power_documents' into 'master'
docs:Separate low-power documents

Closes WIFI-6310

See merge request espressif/esp-idf!27273
2023-12-06 16:59:56 +08:00
radek.tandler
a640626b76 fix(fatfs): Fixed fatfsparse.py parsing of FAT boot sector
The fatfsparse.py script was too strict in parsing the FAT boot sector, causing it to fail in
certain cases. This commit fixes the issue by making the parsing less strict and allowing for more
flexibility in the boot sector format.

This change improves the reliability and compatibility of the fatfsparse.py script, ensuring that it
can correctly parse a wider range of FAT boot sectors.

Docs updated
2023-12-06 08:31:50 +01:00
Roland Dobai
45430d2526 Merge branch 'contrib/github_pr_12637' into 'master'
Dockerfile with variable depth parameter (GitHub PR)

Closes IDFGH-11513

See merge request espressif/esp-idf!27304
2023-12-06 14:15:44 +08:00
Krzysztof Budzynski
58713b0b8a Apply 2 suggestion(s) to 2 file(s) 2023-12-06 10:57:35 +08:00
Darian
0960080991 Merge branch 'docs/xtensa_header_deprecation_migration_guide' into 'master'
change(xtensa): Add migration guide for depreacted include paths

See merge request espressif/esp-idf!27685
2023-12-06 10:56:38 +08:00
Laukik Hase
429cb75661 Merge branch 'fix/nvs_encr_flash_enc_dependency' into 'master'
fix(nvs_flash): Remove the forceful selection of NVS_ENCRYPTION with flash encryption

Closes IDFGH-11411

See merge request espressif/esp-idf!27286
2023-12-06 02:08:01 +08:00
daiziyan
e85feafa0f docs: add CN trans for idf-docker-image.rst 2023-12-05 14:52:14 +01:00
timoxd7
db1584a568 feat(docker): Add Dockerfile argument for variable clone depth
Closes https://github.com/espressif/esp-idf/pull/12637
2023-12-05 14:52:14 +01:00
Mahavir Jain
25c2cc5f03 Merge branch 'feature/esp32p4_enable_flash_encryption' into 'master'
Enable Flash Encryption for ESP32P4

Closes IDF-7545

See merge request espressif/esp-idf!26959
2023-12-05 21:42:18 +08:00
Darian Leung
83e18bd3bd change(xtensa): Add migration guide for depreacted include paths 2023-12-05 19:02:09 +08:00
Mo Fei Fei
dce37a8acc Docs: Update CN translation for nvs_encryption.rst 2023-12-05 18:43:23 +08:00
kohait00
9beda4ce48 feat(tools/cmake): Added VERSION argument to the project() macro in cmake
This commit enables the standad VERSION argument for the project() macro
in ESP-IDF. The VERSION argument is compilant with the requirements of
cmake 3.16. This commit also adds new test cases for verifying the
validity of the version argument.

Merges https://github.com/espressif/esp-idf/pull/12461

Co-authored-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2023-12-05 11:29:43 +01:00
Darian
105f6dd22c Merge branch 'refactor/soc_caps_multiple_cores' into 'master'
change(docs): Update multicore tags to SOC_CPU_HAS_MULTIPLE_CORES

See merge request espressif/esp-idf!27523
2023-12-05 18:20:21 +08:00
Aditya Patwardhan
a84234c23f
feat(security): Enable Flash encryption for ESP32P4 2023-12-05 13:10:55 +05:30
Ivan Grokhotkov
b20332535b Merge branch 'feature/idf_qemu_ext' into 'master'
feat(tools): add 'idf.py qemu' extension

Closes IDFGH-817

See merge request espressif/esp-idf!26034
2023-12-05 14:15:57 +08:00
Marius Vikhammer
9dc83148db Merge branch 'docs/pytest_single_test' into 'master'
docs(pytest): add note about filtering with test-case-name

See merge request espressif/esp-idf!27410
2023-12-05 12:34:28 +08:00
Darian Leung
024eb7218d change(docs): Update multicore tags to SOC_HP_CPU_HAS_MULTIPLE_CORES
Previously, documentation sections that were only meant for multicore ESP
targets would use tags that depend on CONFIG_FREERTOS_UNICORE or
CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE. This is not ideal as project configuration
can be changed by the user.

This commit updates those tags to use SOC_HP_CPU_HAS_MULTIPLE_CORES which is
always defined in multicore targets regardless of project configuration.
2023-12-05 10:56:48 +08:00
Zhang Xiao Yan
4cd0a6a4b1 Merge branch 'docs/remove_wifi_related_documentation_for_esp32h2' into 'master'
docs: remove WiFi related documentation for ESP32-H2

See merge request espressif/esp-idf!27026
2023-12-05 09:58:06 +08:00
Marius Vikhammer
9c5438b307 docs(pytest): add note about filtering with test-case-name 2023-12-05 09:54:41 +08:00
Laukik Hase
ea51f4e2f7
fix(nvs_flash): Remove the forceful selection of NVS_ENCRYPTION with flash encryption
- This change will introduce a breaking change for SoCs with the HMAC
  peripheral. Turning on flash encryption will no longer enable NVS
  encryption automatically.

Closes https://github.com/espressif/esp-idf/issues/12549
2023-12-04 16:18:01 +05:30
Linda
bd1825f9b1 docs: remove WiFi related documentation for ESP32-H2 2023-12-04 11:12:39 +08:00
Ivan Grokhotkov
71153c7dbb
feat(tools): add 'idf.py qemu' extension
This extension allows running programs in QEMU similar to running
them on a real chip:

- 'idf.py qemu' — builds and runs the program in QEMU. User gets
  a QEMU instance launched, and can work with it as a normal QEMU
  instance.
- 'idf.py qemu monitor' — same, but QEMU is launched in the
  background, and idf_monitor runs in the foreground, showing QEMU
  output. Compared to only running 'idf.py qemu' this enables, for
  example, automatic backtrace decoding.
- 'idf.py qemu gdb' — launches QEMU in the background and opens an
  interactive GDB prompt, connecting it to QEMU.
- 'idf.py qemu --gdb monitor' and 'idf.py gdb' in another shell:
  launches QEMU in the background, keeps it suspended until GDB is
  connected, and opens idf_monitor. GDB can be used in another shell
  to debug the application.
2023-12-03 07:45:19 +01:00
Darian
cc34c4fc08 Merge branch 'contrib/github_pr_12481' into 'master'
Many places in the ESP_SYSTEM are using CONFIG_FREERTOS_UNICORE instead of CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE (GitHub PR)

Closes IDFGH-11333

See merge request espressif/esp-idf!27435
2023-12-01 19:33:19 +08:00
morris
2d4a6748a3 Merge branch 'feature/sdm_driver_esp32p4' into 'master'
esp_driver_sdm driver support on esp32p4

Closes IDF-7551

See merge request espressif/esp-idf!27543
2023-12-01 17:21:04 +08:00
Roland Dobai
abf3e8e543 Merge branch 'feature/docker_git_safe_dirs' into 'master'
feat(docker): allow to add dirs into git's safe.directory

Closes CVE-2022 and IDFGH-11511

See merge request espressif/esp-idf!27344
2023-12-01 15:02:09 +08:00
Zhang Xiao Yan
2c5e876a31 Merge branch 'docs/move_output_log_to_inc_files' into 'master'
docs: move the output log of targets to .inc files

See merge request espressif/esp-idf!27444
2023-12-01 14:19:49 +08:00
wangtao@espressif.com
0d0de9da6b docs:Separate low-power documents 2023-12-01 10:13:19 +08:00
morris
d171a7b958 change(sdm): move driver to a new component: esp_driver_sdm 2023-12-01 10:03:48 +08:00
mofeifei
43bfffd85e docs: update cn trans idf-docker-image 2023-11-30 12:18:40 +01:00
Frantisek Hrbata
647c485a76 feat(docker): allow to add paths into git's safe.directory
With 8959555cee7e[1] ("setup_git_directory(): add an owner check for the top..")
git added an ownership check of the git directory and refuses to
run any git commands, even parsing the config file, if the git directory
is not owned by the current user. The "fatal: detected dubious ownership in repository"
is reported.

This fixes CVE-2022-24765[2], which allows to compromise user account. On a
multi-user system or e.g. on a shared file system, one user may create a "rogue"
git repository with e.g. core.fsmonitor set to an arbitrary command. Other user
may unwillingly execute this command by running e.g. git-diff or
git-status within the "rogue" git repository, which may be in one of the parent
directories. If e.g. PS1 is set to display information about a git
repository in CWD, as suggested in Git in Bash[3], the user do not need to run
any git command to trigger this, just entering some subdirectory under
this "rogue" git repository is enough, because the git command will be
started transparently through the script used in PS1. The core.fsmonitor
can be set to arbitrary command. It's purpose is to help git to identify changed files
and speed up the scanning for changed files.

rogue
├── .git     # owned by user1
└── dir1     # owned by user2
    ├── dir2 # owned by user2
    └── .git # owned by user2

user1 sets core.fsmonitor for git repository in rogue directory
$ git config --add core.fsmonitor "bash -c 'rm -rf \$HOME'"

user2 enters dir1 and runs e.g. git diff and triggers the core.fsmonitor command.

The ownership check may cause problems when running git commands in
ESP-IDF Docker container. For example user may run the container as
root, but the mounted project may be owned by a particular user.

In this case git will refuse to execute any git command within the
"/project" directory, because it's not owned by root. To overcome this,
git allows to set safe.directories, for which the ownership check is
skipped. The security check may be completely disabled by setting
safe.directories to "*". This solution was proposed in PR 12636[4], but
it would allow make it possible to exploit this vulnerability again.

This fix allows user to specify git's safe.directory in IDF_GIT_SAFE_DIR
environmental variable, which may be set during container startup.

The IDF_GIT_SAFE_DIR has same format as PATH and multiple directories can be
specified by using a ":" separator. To entirely disable this git security check
within the container, user may set IDF_GIT_SAFE_DIR='*'. This might be
heplfull in CI.

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

[1] - 8959555cee
[2] - https://nvd.nist.gov/vuln/detail/cve-2022-24765
[3] - https://git-scm.com/book/en/v2/Appendix-A%3A-Git-in-Other-Environments-Git-in-Bash
[4] - https://github.com/espressif/esp-idf/pull/12636

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-11-30 12:18:40 +01:00