Commit Graph

3870 Commits

Author SHA1 Message Date
Darian Leung
a8a3756b38 hal: Route CPU and Interrupt Controller HAL/LL to esp_cpu calls
This commit makes changes to cpu_ll.h, cpu_hal.h, and interrupt_controller_hal.h:

- Moved to esp_hw_support in order to be deprecated in the future
- HAL/LL API now route their calls to esp_cpu.h functions instead

Also updated soc_hal.h as follows:

- Removed __SOC_HAL_..._OTHER_CORES() macros as they dependend on cpu_hal.h
- Made soc_hal.h and soc_ll.h interfaces always inline, and removed soc_hal.c.

This commit also updates the XCHAL_ERRATUM_572 workaround by

- Removing it's HAL function and invoking the workaround it directly the bootloader
- Added missing workaround for the ESP32-S3
2022-06-14 14:40:03 +08:00
Darian Leung
61eb7baa6b esp_hw_support: Add esp_cpu.h abstraction and API
This commit updates the esp_cpu.h API. The new API presents a new
abstraction of the CPU where CPU presents the following interfaces:

- CPU Control (to stall/unstall/reset the CPU)
- CPU Registers (to read registers commonly used in SW such as SP, PC)
- CPU Interrupts (to inquire/allocate/control the CPUs 32 interrupts)
- Memory Port (to configure the CPU's memory bus for memory protection)
- Debugging (to configure/control the CPU's debugging port)

Note: Also added FORCE_INLINE_ATTR to the DoxyFile in order to pass doc
        builds for esp_cpu.h
2022-06-14 14:30:58 +08:00
Fu Hanxi
3bb9d37863 ci: fix bash shell array incompatibility in dash 2022-06-14 09:46:55 +08:00
Konstantin Kondrashov
7d942e0a5d Merge branch 'feature/efuse_rst_is_treated_as_poweron_rst' into 'master'
reset_reasons: EFUSE_RST is treated as POWERON_RST + checks errors of eFuse BLOCK0

Closes IDF-3702

See merge request espressif/esp-idf!14742
2022-06-13 21:26:13 +08:00
songruojing
6f6251f369 hal: Limit the HAL_ASSERTION_LEVEL in bootloader to be no larger than 1 (i.e. silent) 2022-06-13 17:47:51 +08:00
songruojing
c8752cee6a clk_tree: Refactor rtc_clk.c by adding HAL layer for clock subsystem 2022-06-13 17:47:50 +08:00
Martin Vychodil
7f884dc966 Merge branch 'fix/ff_sdmmc_status_check_optional' into 'master'
fatfs: Add option to mock ff_sdmmc_status output to increase IO speed

Closes IDF-4788

See merge request espressif/esp-idf!18300
2022-06-13 14:42:12 +08:00
Fu Hanxi
e8329f179d Merge branch 'ci/pytest_with_multi_runner_tags' into 'master'
ci: use tags as markers

Closes IDFCI-1271 and IDFCI-1287

See merge request espressif/esp-idf!18221
2022-06-13 11:43:42 +08:00
David Čermák
2c1f7a044e Merge branch 'bugfix/esp_netif_clean_deps' into 'master'
esp-netif: Make dependency on esp-eth optional

Closes IDF-4459

See merge request espressif/esp-idf!17980
2022-06-11 14:12:52 +08:00
Mahavir Jain
a5fe7bb281
tools/unit_test_app: add targets specific configs for "aes_no_hw"
In ESP32-C2, there is no hardware AES and hence this config is not required
2022-06-10 15:08:07 +05:30
morris
5daa73d236 Merge branch 'refactor/mcpwm_hal_driver_doc' into 'master'
mcpwm: don't support disable carrier one-shot pulse

Closes IDFGH-7406

See merge request espressif/esp-idf!18295
2022-06-10 10:28:59 +08:00
Simon
6ad7558ec1 Merge branch 'feature/esp32c2_configurable_mmu_new' into 'master'
MMU: add configurable MMU page size support (For ESP32C2)

Closes IDF-3821

See merge request espressif/esp-idf!17854
2022-06-10 10:20:49 +08:00
Fu Hanxi
bcb7ae3217 docs: fix test apps local execution section 2022-06-10 09:13:23 +08:00
Fu Hanxi
7e0bb1dabd ci: use tags as markers 2022-06-10 09:13:23 +08:00
Adam Múdry
8af790da45 fatfs: Add mock option to ff_sdmmc_status function to increase IO speed
Adds `disk_status_check_enable` field to `esp_vfs_fat_mount_config_t` struct to control if ff_sdmmc_status is mocked or not.
2022-06-09 20:09:32 +00:00
KonstantinKondrashov
46f0313d6b reset_reasons: EFUSE_RST is treated as POWERON_RST
ESP32 does not have the EFUSE_RST, the rest chips has this reset reason.
2022-06-09 17:49:03 +08:00
David Cermak
343cf2696e esp_eth: Reduce internal deps onto netif-glue 2022-06-09 07:55:40 +00:00
morris
6eb450fa87 newlib: ROM library is build with time_t 64bit on esp32c2 2022-06-09 10:48:31 +08:00
Cao Sen Miao
6589daabb9 MMU: Add configurable mmu page size support on ESP32C2 2022-06-08 19:34:31 +08:00
Fu Hanxi
34e04e39bb fix: skip install dbus-python on windows 2022-06-08 10:11:43 +08:00
Fu Hanxi
5a0a14504d ci: split pytest requirements to requirements.json 2022-06-08 08:19:35 +08:00
Mahavir Jain
34fb03b049 Merge branch 'feature/http_example_pytest_migration' into 'master'
http example pytest migration

See merge request espressif/esp-idf!18053
2022-06-06 20:13:01 +08:00
Michael (XIAO Xufeng)
773715d900 Merge branch 'feature/support_refresh_brownout_v1' into 'master'
spi_flash: send reset when brownout detected on XMC flash

Closes IDF-3882

See merge request espressif/esp-idf!16873
2022-06-06 16:27:58 +08:00
Harshit Malpani
767125a051 Remove tiny_test_fw dependency from idf_http_server_test package 2022-06-03 16:00:52 +05:30
morris
aa3ddbc3c6 Merge branch 'test/enable_c2_target_tests' into 'master'
ci: enable target tests for ESP32-C2

Closes IDF-4989

See merge request espressif/esp-idf!18182
2022-06-03 16:41:24 +08:00
Anton Maklakov
e0d2e186bf Merge branch 'feature/toolchain_2022r1' into 'master'
Bring 2022r1-RC1 toolchains, GCC 11

Closes GCC-180, GCC-178, IDFGH-5559, IDFGH-6180, IDFGH-5101, and IDFGH-4380

See merge request espressif/esp-idf!16797
2022-06-03 16:05:49 +08:00
David Čermák
46e599c56d Merge branch 'feature/lwip_rework_patches' into 'master'
lw-IP: Reworked patches

Closes IDFGH-6197

See merge request espressif/esp-idf!17388
2022-06-03 15:26:55 +08:00
Anton Maklakov
bc932c646e Merge branch 'bugfix/dirent-definition' into 'master'
newlib: dirent d_ino type fix

See merge request espressif/esp-idf!18336
2022-06-02 19:48:53 +08:00
Michael (XIAO Xufeng)
4e231f9dac ci: partially enable pytest for esp32c2 2022-06-02 15:07:53 +08:00
morris
3247335770 mcpwm: don't support disable carrier first pulse
The first pulse of MCPWM carrier can not be disabled, this commit will
remove the feature.

Closes https://github.com/espressif/esp-idf/issues/8984
2022-06-02 15:01:18 +08:00
morris
f7ff7ac4d0 mcpwm: clean up hal driver and add doc 2022-06-02 15:01:18 +08:00
Michael (XIAO Xufeng)
6a8aed12ee ci: partially enable ut tests for esp32c2
Disabled test cases are tracked in:

 IDF-4465, IDF-5045, IDF-5057, IDF-5058, IDF-5059, IDF-5060, IDF-5061, IDF-5131

- test_fatfs: IDF-5136

- test_pm: IDF-5053

- test_cache_mmu: IDF-5138

- test_partitions: IDF-5137

- test_vfs: IDF-5139

- test_freertos: IDF-5140

- test_wpa_supplicant: IDF-5046

- test_mbedtls: IDF-5141

- test_pthread: IDF-5142

- test_protocomm: IDF-5143

- test_lightsleep: IDF-5053

- test_taskwdt: IDF-5055

- test_tcp_transport: IDF-5144

- test_app_update: IDF-5145

- test_timer: IDF-5052

- test_spi: IDF-5146

- test_rtc_clk: IDF-5060

- test_heap: IDF-5167

ci: fixed issues for tests of libgcc, ets_timer, newlib

test_pm: support on C2
2022-06-02 14:23:35 +08:00
Anton Maklakov
ad4b3bc8b3 ci, config: re-arrange some C3 tests due to code size changes from 2022r1 toolchain 2022-06-02 10:15:23 +07:00
Anton Maklakov
457fc2d582 build: temporary suppress format warnings since xtensa toolchain has long type for int32_t 2022-06-02 10:15:23 +07:00
Anton Maklakov
c4b88d25b5 build: temporary suppress enum conversion warnings 2022-06-02 10:15:23 +07:00
Anton Maklakov
bf43076c04 tools: Update 2022r1 toolchain, GCC 11.2.0, Newlib 4.1.0
Closes https://github.com/espressif/esp-idf/issues/7282
    Closes https://github.com/espressif/esp-idf/issues/7857
    Closes https://github.com/espressif/esp-idf/issues/6885
    Closes https://github.com/espressif/esp-idf/issues/6214
2022-06-02 10:15:23 +07:00
Michael (XIAO Xufeng)
acd4ca0f6e ci: add ut configs for ESP32-C2
note: flash encryption ut is not enabled in this commit, see IDF-5056
2022-06-02 11:10:29 +08:00
Michael (XIAO Xufeng)
b9f37be868 ci: enable target tests for ESP32-C2
reduce parallel num of unused jobs
2022-06-02 11:10:29 +08:00
Michael (XIAO Xufeng)
a0c2252756 build_system: fixed issue that default.target may override other custom configs 2022-06-02 11:08:59 +08:00
Cao Sen Miao
6a2d3509dc spi_flash: Making XMC flash works more stable when brownout detected 2022-06-02 10:38:55 +08:00
Cao Sen Miao
890f046ee9 test: split a new banch of testing to save IRAM 2022-06-02 10:38:55 +08:00
David Cermak
7efcb5e625 lwip: Add missing null-checks, rename to vanilla-lwip 2022-06-01 20:38:40 +02:00
Scott Mabin
c947585ee4 newlib: dirent d_ino type fix
As per the posix spec, `d_ino` should be defined as `ino_t`. See the
reference:
http://pubs.opengroup.org/onlinepubs/7908799/xsh/dirent.h.html.
2022-06-01 13:49:32 +01:00
David Cermak
00377cf2e5 lwip/ci: Cleanup public header checker ignore list 2022-06-01 14:36:58 +02:00
Djordje Nedic
facab8c5a7 tools: Increase the minimal supported CMake version to 3.16
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
2022-06-01 06:35:02 +00:00
Konstantin Kondrashov
b824f68b35 Merge branch 'feature/move_dport_workaround_to_g0' into 'master'
dport_access: Move DPORT workaround to G0

Closes IDF-2177

See merge request espressif/esp-idf!17961
2022-06-01 12:11:12 +08:00
David Cermak
0e71a325de lwip/wifi: Improve Rx throughput on the wifi defaults (sta+ap) 2022-05-31 15:23:06 +02:00
Martin Gaňo
24e856a509 Fixed comparsion of integer and string that evaluated always to False
Closes https://github.com/espressif/esp-idf/issues/9052
Closes IDFGH-7482
2022-05-31 12:51:47 +02:00
KonstantinKondrashov
ac4c7d99fe dport: Move DPORT workaround to G0 2022-05-31 13:44:18 +08:00
Anton Maklakov
b965264e68 Merge branch 'bugfix/coredump_warnings' into 'master'
coredump: minor fixes of warnings

See merge request espressif/esp-idf!18306
2022-05-31 11:43:51 +08:00
Jakob Hasse
97c149f73d Merge branch 'refactor/nvs_iterator_api' into 'master'
NVS: New interface for iterator functions

Closes IDFGH-6149

See merge request espressif/esp-idf!18081
2022-05-31 07:47:26 +08:00
Sergei Silnov
89518ee86a build & config: Check requirements of managed components of main and add interface versioning 2022-05-30 14:36:22 +02:00
Sergei Silnov
07827ea362 build & config: Don't include common components on early expansion 2022-05-30 14:34:30 +02:00
Roland Dobai
56bb81228c Merge branch 'feature/update-gdb-to-11.2_20220529' into 'master'
tools: update gdb version to '11.2_20220529'

See merge request espressif/esp-idf!18296
2022-05-30 19:59:04 +08:00
Laukik Hase
1ee3ee6854
protobuf: Fix v4.21.0 (python) compatibility issue
- Added auto-generated protobuf files (proto-c and python to
  pre-commit hook ignore lists
2022-05-30 09:54:31 +05:30
Anton Maklakov
45f267390b espcoredump: fix unsigned arithmetic 2022-05-30 11:21:30 +07:00
Jiang Jiang Jian
8efa4d64e0 Merge branch 'feature/add_task_wrappers' into 'master'
wpa_supplicant: Add osi layer for FreeRTOS calls

Closes WIFI-2996

See merge request espressif/esp-idf!11734
2022-05-30 10:29:50 +08:00
Jakob Hasse
ad184e979a refactor (nvs)!: New interface for iterator functions
Closes https://github.com/espressif/esp-idf/issues/7826

* nvs_entry_find(), nvs_entry_next() and nvs_entry_info()
  return error codes now
* nvs_entry_find() and nvs_entry_next() access/modify iterator via
  parameters, instead of returning an new iterator.

Added appropriate documentation in Chinese and English
2022-05-30 09:28:42 +08:00
Martin Vychodil
d1ec5580ee Merge branch 'nvs/remove_asserts' into 'master'
change: NVS assertions as runtime errorcodes

Closes IDF-3025

See merge request espressif/esp-idf!17739
2022-05-30 01:07:25 +08:00
Roland Dobai
a2d5041492 Merge branch 'feat/idf_tools_migrate_to_venv' into 'master'
Tools: Use built-in venv instead of virtualenv for creating Python environments

Closes IDF-4538

See merge request espressif/esp-idf!18249
2022-05-29 22:20:35 +08:00
Jiang Jiang Jian
0e94779b2e Merge branch 'feature/support_esp32c2_wifi_new' into 'master'
Bringup ESP32C2 Wi-Fi

Closes IDF-3905

See merge request espressif/esp-idf!18136
2022-05-29 18:25:24 +08:00
Matus Fabo
58cca07104 add: Kconfig assert or errorcode option
add: private include header
add: macro encapsulation for assertion or error check
add: ESP_FAIL return code documentation in public headers
change: replaced all assertions by NVS_ASSERT_OR_RETURN macro
change: few internal function return values from void to esp_err_t
change: ESP_ERR_NVS_VALUE_TOO_LONG macro comment
2022-05-28 20:29:05 +02:00
Wu Zheng Hui
d3fa6e3a15 Merge branch 'bugfix/update_efuse_name' into 'master'
efuse: update efuse name

See merge request espressif/esp-idf!18193
2022-05-28 22:03:17 +08:00
Wu Zheng Hui
b98622c624 efuse: update efuse name 2022-05-28 22:03:16 +08:00
Alexey Lapshin
587949b3a5 tools: update gdb version to '11.2_20220529' 2022-05-28 15:16:20 +04:00
Darian
f3d06ad78d Merge branch 'bugfix/fix_SysTickIsrHandler_casting' into 'master'
HAL: Fix systimer counter value bit field

Closes IDF-5132

See merge request espressif/esp-idf!18252
2022-05-28 18:31:03 +08:00
Jessy Chen
7b9b448041 esp_wifi: optimize wifi kconfig 2022-05-28 08:52:55 +00:00
Roland Dobai
ed795c86df Tools: Use built-in venv instead of virtualenv for creating Python environments 2022-05-28 06:43:14 +00:00
Roland Dobai
c0a045793f Merge branch 'bugfix/return_idf_component_manager_build_property' into 'master'
build & config: Add IDF_COMPONENT_MANAGER build property

Closes PACMAN-356

See merge request espressif/esp-idf!18251
2022-05-28 13:58:34 +08:00
Roland Dobai
bdcb6715b5 Merge branch 'bugfix/mkdfu_flash_parameters' into 'master'
mkdfu.py: Support setting flash parameters

Closes IDF-4820

See merge request espressif/esp-idf!18269
2022-05-28 03:22:10 +08:00
radim.karnis
d2c918f407 mkdfu.py: Support setting flash parameters 2022-05-27 15:44:56 +02:00
Anton Maklakov
63ed392cac Merge branch 'bugfix/upd_debug_options' into 'master'
build & tools: update debug options for new GCC

Closes GCC-217

See merge request espressif/esp-idf!16956
2022-05-27 20:45:55 +08:00
Ivan Grokhotkov
a14e14f37a Merge branch 'feature/docker_build_gh_actions' into 'master'
ci: move Docker image builds to Github, plus other improvements

Closes IDFCI-1264 and IDFGH-6264

See merge request espressif/esp-idf!18256
2022-05-27 19:56:29 +08:00
Roland Dobai
e096374560 Merge branch 'bugfix/disable_extensions_idfpy_tests' into 'master'
Tools: Make idf.py tests independent on extra extensions

Closes PACMAN-359

See merge request espressif/esp-idf!18275
2022-05-27 18:57:32 +08:00
Michael (XIAO Xufeng)
9f5c03dc67 Merge branch 'feat/elf_unit_test_parser' into 'master'
ci: extract ElfUnitTestParser allowing resolve elf offline

See merge request espressif/esp-idf!18205
2022-05-27 18:03:13 +08:00
Sergei Silnov
360183dd8d Tools: Make idf.py tests independent on extra extensions 2022-05-27 10:45:27 +02:00
Anton Maklakov
9cc2ce9f7c build: fallback to dwarf-4 format because of lesser binary size (dwarf-5 is by default in GCC 11) 2022-05-27 15:10:22 +07:00
Anton Maklakov
51c22d3b8b tools: GCC 11 uses both '.debug_line_str' and '.debug_str' sections 2022-05-27 15:06:56 +07:00
Zim Kalinowski
2c9cd8e307 Merge branch 'feature/remove_target_cmake' into 'master'
build-system: remove target component

Closes IDF-3091 and IDF-3581

See merge request espressif/esp-idf!18131
2022-05-27 06:55:25 +08:00
radim.karnis
3e08f355b6 tools: Use esptool v4 2022-05-26 13:59:50 +00:00
Darian Leung
c45784b8c4 hal: Fix systimer counter value bit field
This commit fixes the systimer_counter_value_t by adding a resreved field so that the
type fills 64-bits.

Without the reserved field, when compiling with -O0 optimization, the unoccupied high
bits would not be initalized by the compiler, leading to systimer_hal_get_counter_value()
returning a garbage value.
2022-05-26 12:56:25 +00:00
Sergei Silnov
487603b51f build & config: Add IDF_COMPONENT_MANAGER build property 2022-05-26 12:48:27 +02:00
Kapil Gupta
0cdad0a002 wpa_supplicant: Add wrappers for FreeRTOS APIs 2022-05-26 15:23:21 +05:30
Fu Hanxi
e0a41cd816 ci: fix protobuf 4.0 incompatible issue 2022-05-26 14:42:16 +08:00
Fu Hanxi
788ac3989b Merge branch 'fix/panic_test' into 'master'
fix: panic test

See merge request espressif/esp-idf!18239
2022-05-26 10:09:15 +08:00
Ivan Grokhotkov
212cbc3fb6
tools/docker: add README.md file to be displayed on Docker Hub
Closes https://github.com/espressif/esp-idf/issues/7933
2022-05-26 03:44:13 +02:00
Ivan Grokhotkov
6dc52d4425
ci: build and push Docker images in Github actions, add arm64 platform
Replaces the previously used Docker Hub autobuild infrastructure.
This allows for more flexible configuration of the build process,
at the expense of some extra maintenance of CI workflow files
required.
2022-05-26 03:44:13 +02:00
Ivan Grokhotkov
a8904787fa
tools/docker: add IDF_CLONE_SHALLOW and IDF_INSTALL_TARGETS arguments
These two arguments can be used to reduce the size of the Docker
image:

- Setting IDF_CLONE_SHALLOW enables shallow cloning.
- Setting IDF_INSTALL_TARGETS to the comma separated list of targets
  results in toolchains being installed only for these targets.
2022-05-26 03:31:22 +02:00
Song Ruo Jing
cf32e49aeb Merge branch 'refactor/cleanup_rtc_h' into 'master'
clk_tree: Prework2 of introducing clock subsystem control

Closes IDF-4934

See merge request espressif/esp-idf!17861
2022-05-26 09:16:47 +08:00
Michael (XIAO Xufeng)
cd6056c9cd ci: extract ElfUnitTestParser allowing resolve elf offline 2022-05-26 01:40:52 +08:00
Roland Dobai
64b6733349 Merge branch 'refactor/change_copyright_in_tools' into 'master'
idf.py: Change copyright in tools code owner's files

See merge request espressif/esp-idf!18215
2022-05-25 18:58:15 +08:00
Darian Leung
887421bb49 ci: Fix failing build system test when FreeRTOS SMP is enabled
Build system tests check that xtensa_vectors.S is rebuilt in some of the CMake build system
tests. However, the path of this file may change when FreeRTOS SMP is enabled.

This commit fixes the CMake build system test by selecting another ".S" file who's path
does not change based on configuration.
2022-05-25 16:31:34 +08:00
Fu Hanxi
d2aae6d53a fix: panic test case test_task_wdt 2022-05-25 10:30:29 +08:00
songruojing
a5b09cf015 rtc_clk: Clean up some clock related enum and macro in soc/rtc.h, replace with new ones in
soc/clk_tree_defs.h
2022-05-24 22:59:41 +08:00
simon.chupin
1c5e596633 idf.py: Change copyright in tools dir 2022-05-24 14:01:50 +02:00
Marius Vikhammer
cf1b222cac build system: removed target component
After refactoring the target components (e.g. esp32) no longer contained any real functionality.
What remained in these components have been moved elsewhere and the component itself deleted from the
build system.
2022-05-24 09:12:59 +08:00
Marius Vikhammer
d485f6add8 Merge branch 'feature/arch_build_property' into 'master'
build-system: add property for architecture (riscv/xtensa)

Closes IDF-1754

See merge request espressif/esp-idf!18127
2022-05-24 08:46:09 +08:00
Marius Vikhammer
0687daf2c8 kconfig: move remaining kconfig options out of target component
The kconfig options are moved to the component where they are used,
mostly esp_hw_support and esp_system.
2022-05-23 17:57:45 +08:00
Roland Dobai
2e9ac36fc8 Merge branch 'contrib/github_pr_8981' into 'master'
Tools: Add missing DTR/RTS set before serial port open on reconnect (GitHub PR)

Closes IDFGH-7403

See merge request espressif/esp-idf!18171
2022-05-23 16:32:08 +08:00
Fu Hanxi
4746a71028 ci: add qemu example 2022-05-21 00:11:59 +08:00