Commit Graph

1262 Commits

Author SHA1 Message Date
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
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
Marius Vikhammer
ac3915f092 docs(esp32p4): update misc docs for esp32p4 2023-12-09 09:09:55 +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
Krzysztof Budzynski
58713b0b8a Apply 2 suggestion(s) to 2 file(s) 2023-12-06 10:57:35 +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
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
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
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
wangtao@espressif.com
0d0de9da6b docs:Separate low-power documents 2023-12-01 10:13:19 +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
Omar Chebib
dc8fdae31b docs(freertos): revert usage of hidden option CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE when :ref: is used 2023-11-30 16:33:28 +08:00
fl0wl0w
d149c1b26f Use configuration option instead of in components not related to FreeRTOS
Mergeshttps://github.com/espressif/esp-idf/pull/12481
2023-11-28 07:49:20 +00:00
Jeroen Domburg
3f08e5c91a fix(driver): Add docs and driver fix for the case where a full EP does not cause the host to pickup the data 2023-11-27 12:04:30 +08:00
Shu Chen
db84b88d14 Merge branch 'fix/add_docs_for_coex' into 'master'
feat(docs) Add RF Coexist docs for H2

Closes IDF-8550

See merge request espressif/esp-idf!27150
2023-11-22 21:23:33 +08:00
David Čermák
17f6528718 Merge branch 'bugfix/lwip_dns_docs' into 'master'
fix(lwip): Document DNS limitation in lwIP

See merge request espressif/esp-idf!27099
2023-11-22 20:39:22 +08:00
zwx
da9972183c feat(docs): Add RF Coexist docs for H2 2023-11-22 16:54:55 +08:00
David Cermak
1f6a927e33 fix(lwip): Document DNS limitation in lwIP
* Add a note that DNS server config is global in lwIP
* Add a section about defining LWIP config macros from CMake
* Mention the DNS limitation in ESP-IDF additions to lwIP
* Update CN for lwIP DNS limitation

Co-Authored-By: Wang Ziyan <wangziyan@espressif.com>
2023-11-22 08:48:33 +01:00
Shang Zhou
a0edece25a docs: Update CN translation for api-guides/tools/idf-monitor.rst 2023-11-16 09:20:48 +01:00
Peter Dragun
18ddb86c7f fix(tools/monitor): fix PRINT_FILTER env variable usage 2023-11-16 09:20:48 +01:00
Roland Dobai
dd1247f313 Merge branch 'fix/docs_tools' into 'master'
fix(tools): Remove idf.py dependencies from documentation

See merge request espressif/esp-idf!27101
2023-11-14 16:37:44 +08:00
Roland Dobai
6f50b02a3a fix(tools): Remove idf.py dependencies from documentation
Those dependencies are always satisfied because:
- ESP-IDF supports Python 3.8+ at this moment,
- click version is checked and ensured by the install scripts.
2023-11-13 14:33:54 +01:00
Jakob Hasse
ed5a7dfa82 docs: Added C documentation page
Closes https://github.com/espressif/esp-idf/issues/12439
Closes https://github.com/espressif/esp-idf/issues/12001
2023-11-13 10:47:15 +08:00
Sudeep Mohanty
348206fc65 fix(docs/build_system): Remove duplication about project_include.cmake usage
This commit fixes a duplication regarding the usage of the
project_include.cmake file in the build_system.rst doc.
2023-11-10 16:12:59 +01:00
Song Ruo Jing
9461993ec5 refactor(gpio): make gpio driver as component, and fix astyle 2023-11-03 15:42:23 +08:00
Shang Zhou
8b1a494cd3 docs: Fix typo in get-started/index.rst and thread-local-storage.rst based on customer feedback 2023-11-02 14:10:34 +08:00
Armando (Dou Yiwen)
100ba9f375 Merge branch 'doc/added_adc_calibration_efuse_error_info' into 'master'
doc(adc): added efuse related failure doc

Closes IDFGH-11205

See merge request espressif/esp-idf!26741
2023-10-31 11:11:32 +08:00
Armando
95b0152637 doc(adc): added efuse related failure doc
Closes https://github.com/espressif/esp-idf/issues/12372
2023-10-30 14:20:24 +08:00
radim.karnis
0349f471af docs(idf-clang-tidy): Mention the need for a clang based toolchain
Closes https://github.com/espressif/clang-tidy-runner/issues/32
2023-10-30 11:10:11 +08:00
Jiang Guang Ming
ff17d16821 docs: add the description of CONFIG_MBEDTLS_USE_CRYPTO_ROM_IMPL 2023-10-23 13:10:44 +08:00
Ren Pei Ying
fa13977275 Merge branch 'docs/update_format_for_kconfig_and_external-ram.rst' into 'master'
docs: Update Chinese translation for external-ram.rst and kconfig.rst

See merge request espressif/esp-idf!26517
2023-10-19 18:05:32 +08:00
Zim Kalinowski
fa1a3ce0b5 Merge branch 'refactor/components_linux_compatible' into 'master'
Exclude all currently incompatible components from Linux build

Closes IDF-8318 and IDF-5996

See merge request espressif/esp-idf!25598
2023-10-18 20:17:49 +08:00
renpeiying
f341f04146 docs: Update Chinese translation for external-ram.rst and kconfig.rst 2023-10-18 16:02:04 +08:00
Xu Xiao
ed9f9021cc Merge branch 'revert_tcpip_task_priority_macro' into 'master'
revert(lwip): Revert changes to LWIP task priority macro from MR 25020

See merge request espressif/esp-idf!26420
2023-10-17 13:28:19 +08:00
Jakob Hasse
548022fbe6 refactor(linux): excluded all non-Linux components from build
* All components which won't build (yet) on Linux are excluded.
  This enables switching to Linux in an application without
  explicitly setting COMPONENTS to main in the main
  CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available

doc(linux): brought section
  "Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
Cai Xin Ying
01209e459c docs: update document format issues 2023-10-14 03:55:41 +08:00
Armando (Dou Yiwen)
f57dd0a815 Merge branch 'doc/esp32p4_psram_programming_guide' into 'master'
psram: updated psram programming guide to esp32p4

Closes IDF-7711

See merge request espressif/esp-idf!26434
2023-10-13 14:20:52 +08:00
Martin Vychodil
64befdca3a Merge branch 'feature/partition_readonly_flag' into 'master'
feat(partition_table): Add read-only partition flag and functionality

Closes IDF-6421

See merge request espressif/esp-idf!24855
2023-10-13 11:11:07 +08:00
Armando
f519e036eb doc(psram): updated psram programming guide to esp32p4 2023-10-12 19:36:21 +08:00
Jiang Jiang Jian
59417a4049 Merge branch 'feature/free_bt_memory' into 'master'
feat(bt): Frees BLE memory when no longer in use

See merge request espressif/esp-idf!22795
2023-10-12 18:35:15 +08:00
Peter Dragun
aa9f81cfc6 Merge branch 'feat/monitor-config' into 'master'
docs(tools/idf-monitor): add info about custom keystrokes

See merge request espressif/esp-idf!26129
2023-10-12 16:02:34 +08:00