Commit Graph

4351 Commits

Author SHA1 Message Date
Darian Leung
feee3a3059 freertos: Refactor OS startup functions
This commit refactors the OS startup functions as follows:

- Moved the OS/app startup functions listed below to "app_startup.c". Their
    implementations are now common to all ports (RISC-V and Xtensa) of all
    FreeRTOS implementations (IDF and Amazon SMP).
    - esp_startup_start_app()
    - esp_startup_start_app_other_cores()
- Removed esp_startup_start_app_common() as app startup functions are now
    already common to all ports.
- Added extra logs to "main_task" to help with user debugging

Note: Increased startup delay on "unity_task". The "unity_run_menu()" is non
blocking, thus if the main task or other startup tasks have not been freed
by the time "unity_run_menu()" is run, those tasks will be freed the next time
"unity_task" blocks. This could cause some tests to have a memory leak, thus
the "unity_task" startup delay has increased.
2023-06-22 17:17:18 +02:00
Fu Hanxi
4ff607e9a8 ci: ignore pkg_resources deprecation warning 2023-06-21 07:30: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 92ef2a4c83
	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
Ondrej
9d7132c330 esp_eth: allowed DM9051 to receive multicast packets
Removed extra PHY status link checks from DM9051 MAC layer
2023-03-21 16:20:24 +00:00
David Cermak
5b75693522 esp_netif/lwip: Fix core-locking config (v5.0)
* Fix thread safety issues in non-core locking
* Add option to verify thread safety issues in lwip (core-lock assertion)
* Make esp_sntp.h thread safe API
* Fix sntp examples

Closes https://github.com/espressif/esp-idf/issues/9908
Closes https://github.com/espressif/esp-idf/issues/10502
Closes https://github.com/espressif/esp-idf/issues/10466
2023-03-21 11:09:56 +01:00
Cao Sen Miao
4c66d7e6df esp_flash: correct veriable 'size' description 2023-03-21 12:10:38 +08:00
Cao Sen Miao
e94d95103e spi_flash: Fix issue that cannot get accurate flash size when encounter large size memory,
Closes https://github.com/espressif/esp-idf/pull/9566
2023-03-20 13:07:35 +08:00
Song Ruo Jing
27f9ee66d5 gpio: Fix IO hold function related problems
1. Fix deep sleep wakeup IOs can not be unhold issue
2. Correct hold related APIs' description
3. Fix gpio_force_hold_all API

docs: Add GPIO wakeup source to sleep_modes doc for ESP32C3 and C2
2023-03-17 14:44:29 +08:00
Jiang Jiang Jian
358ed1af5d Merge branch 'bugfix/add_return_type_nimble_port_init_v5.0' into 'release/v5.0'
Nimble: Added return value (success / failure ) to nimble_port_init  / nimble_port_deinit (v5.0)

See merge request espressif/esp-idf!22191
2023-03-13 15:19:06 +08:00
Marius Vikhammer
319208c3d1 Merge branch 'bugfix/clang_tidy_and_nvs_memory_issue' into 'release/v5.0'
clang tidy add C++ and nvs memory issue (backports 5.0)

See merge request espressif/esp-idf!22666
2023-03-10 11:42:02 +08:00
Ivan Grokhotkov
72d59d1ced ci: add .cpp and .hpp files, but ignore nvs_storage.cpp
* nvs_storage.cpp seems to produce a false positive
2023-03-09 17:38:53 +08:00
Zim Kalinowski
2a804de4b7 Merge branch 'staging/rename_twdt_config_examples_v5.0' into 'release/v5.0'
TWDT: Use the new TWDT Kconfig options in the examples and tests (Backport v5.0)

See merge request espressif/esp-idf!22631
2023-03-08 16:09:58 +08:00
Omar Chebib
83907aaa20 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-03-07 10:23:43 +08:00
Zim Kalinowski
20db248fb2 cxx: removed cxx experimental components 2023-03-05 10:23:28 +01:00