Commit Graph

158 Commits

Author SHA1 Message Date
Ivan Grokhotkov
0773caf283 Merge branch 'feature/idf_py_efuse_qemu' into 'master'
feat(idf.py): support efuse-related commands in QEMU

Closes QEMU-193

See merge request espressif/esp-idf!29809
2024-08-21 16:13:54 +08:00
Linda
4fc4f7053b docs: update application examples for build_system 2024-08-16 17:59:11 +08:00
Ivan Grokhotkov
7b228ce8ab
feat(idf.py): allow running idf.py efuse-* commands with QEMU 2024-08-15 16:57:08 +02:00
Daniel Paul
658b1de02c docs: Consistent naming convention for ESP Component Registry 2024-07-23 14:10:34 +08:00
Mahavir Jain
3dc80527ab
feat: add compiler config for not merging const sections
Probably GCC-13.x and on-wards uses "-fmerge-constants" to merge
the const section (string/floating-point) across compilation units.
This makes it difficult to properly analyze the size output of rodata
section across libraries, the merged section (big in size) is showed
across a single library.

The config option added here can help to disable this compiler behavior
and help to provide better size analysis. It can be used during
development phase only as it increases rodata section size.
2024-07-15 10:04:55 +05:30
Frantisek Hrbata
b88eb1c1e5 docs: move and update idf.py size sub-commands documentation
The documentation for the IDF Size tool has been relocated from the
performance section to the tools section and updated to reflect the
current refactored version of esp-idf-size.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-06-27 13:22:29 +02:00
shenmengjing
60cd5933d6 docs: Edit the CN Translation and EN Source 2024-05-10 15:30:16 +08:00
shenmengjing
a89e354f9d docs: Update the CN Translation for idf-py and spiffs 2024-05-08 17:15:06 +08:00
Roland Dobai
af302c0bee Merge branch 'feat/add_merged_bin_cmd' into 'master'
feat(tools): Add idf.py merge-bin command and cmake target

See merge request espressif/esp-idf!29996
2024-04-22 17:55:36 +08:00
shenmengjing
4e0c5d3e8e docs: Provide translation for ecdsa.rst and qemu.rst 2024-04-18 14:58:39 +08:00
Jan Beran
0dec6fe65d feat(tools): Add idf.py merge-bin command and cmake target 2024-04-16 12:49:18 +02:00
Roland Dobai
54fd736bcd Merge branch 'docs/external_flash' into 'master'
docs(idf_py): Describe the option to configure esptool.py with --extra-args

Closes IDFGH-4513

See merge request espressif/esp-idf!29851
2024-04-07 13:50:05 +08:00
Radim Karniš
cb4b433ddc docs(idf_py): Describe the option to configure esptool.py with --extra-args
Closes https://github.com/espressif/esp-idf/issues/6337
2024-03-28 12:09:50 +01:00
Marius Vikhammer
f1e65b8373 docs(misc): fixed typos found with codespell 2024-03-28 11:50:58 +08:00
Frantisek Hrbata
6554cac7dc docs(docker): add note about group ID when host device is added to container
Closes https://github.com/espressif/esp-idf/issues/13373

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-03-20 11:15:36 +01:00
Anton Maklakov
686a0e4f0f docs(qemu): add system dependencies list 2024-03-07 20:37:24 +08:00
Jan Beran
858e3fe5ec docs(esp-idf-monitor): Add information about ESP_IDF_MONITOR_NO_RESET 2024-01-31 09:35:44 +01:00
kirill.chalov
22a053f1fc docs(sphinx-lint): Fix issues reported by sphinx-lint before adding it to pre-commit 2024-01-23 15:22:29 +08:00
Harshit Malpani
18947904bc
docs: Add documentation for idf.py read-otadata 2024-01-12 18:58:14 +05:30
Ivan Grokhotkov
3a340b385f Merge branch 'feature/qemu_lcd' into 'master'
feat(qemu): add a CLI option for graphics output

See merge request espressif/esp-idf!27874
2023-12-19 20:07:29 +08:00
Ivan Grokhotkov
d9983c0039
feat(qemu): add a CLI option for graphics output 2023-12-18 11:47:15 +01:00
Shang Zhou
c1e3440352 docs: Update CN translation for idf-py.rst and linux-macos-setup.rst 2023-12-15 11:50:38 +00:00
Marek Fiala
9757c8f7c9 docs(tools): Add idf.py file argument parsing to idf.py doc 2023-12-15 11:50:38 +00: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
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
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
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
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
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
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
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
renpeiying
c744d3d5fd docs: Update Chinese translation for idf-monitor 2023-10-10 12:07:36 +08:00
Anton Maklakov
02802ea20a feat(tools): Add QEMU 8.0.0_20230522 to tools.json
Process wildcards in the install and download lists of idf_tools
    Fix the install and download handlers to get common behaviour
2023-10-10 09:59:38 +07:00
Alexey Lapshin
98199d50d6 change(tools): update gcc toolchain version to 13.2.0
Add Kconfig option to supress new gcc warnings
Update docs with migration guide
2023-10-09 12:13:00 +04:00
Peter Dragun
000266c417 docs(tools/idf-monitor): add info about custom keystrokes 2023-10-03 15:48:25 +02:00
Fu Hanxi
4dbe541f80
ci: replace internal clang-tidy runner with the pypi project 2023-09-27 10:25:49 +02:00
Roland Dobai
5f74dd2bb3 Merge branch 'docs/docker_image_flashing' into 'master'
docs(docker): Update Using Remote Serial Port chapter

Closes IDFGH-10856

See merge request espressif/esp-idf!25778
2023-09-07 18:05:48 +08:00
Cai Xin Ying
2fac98d2e0 docs:update format issues for files under api-guides 2023-09-07 15:26:05 +08:00
Jakub Kocka
e265c1f387 docs(docker): Update Using Remote Serial Port chapter
By default some shells such as zsh has NOMATCH option set (https://zsh.sourceforge.io/Doc/Release/Options.html).
The root cause of the problem is that while bash expands the parameter to itself if it does not match any filename, the zsh reports an error. IOW if we do % setopt nonomatch it will work even in zsh.

Closes https://github.com/espressif/esp-idf/issues/12060
2023-09-06 11:26:47 +02:00
Marek Fiala
608b6e5480 feat(tools): Add dl.espressif.cn IDF_GITHUB_ASSET to documentation 2023-08-31 07:46:36 +00:00
Cai Xin Ying
9684acc482 Docs: provide CN translation for the rest docs of api-guides/tools 2023-08-29 23:10:06 +08:00
Shang Zhou
00fe2a6166 docs: Update CN translation for idf-tools.rst and get-started/index.rst 2023-08-21 15:34:26 +02:00
radim.karnis
e2638a2af0 docs(idf-tools): Add uninstallation instructions
Closes https://github.com/espressif/esp-idf/issues/11102
2023-08-21 15:32:27 +02:00
Roland Dobai
3adee7ecf6 Merge branch 'contrib/github_pr_11987' into 'master'
idf-docker-image.rst: Run with current user ID instead of root. (GitHub PR)

Closes IDFGH-10773

See merge request espressif/esp-idf!25146
2023-08-21 13:16:59 +08:00