Commit Graph

196 Commits

Author SHA1 Message Date
Konstantin Kondrashov
3f89072af1 feat(all): Use PRIx macro in all logs 2024-03-12 11:15:53 +02:00
Erhan Kurubas
b71dabf08b Merge branch 'register_gcov_tick_hook_once' into 'master'
fix(gcov): avoid multiple tick hook registration

See merge request espressif/esp-idf!29087
2024-02-26 20:47:46 +08:00
Erhan Kurubas
59cab6dd40 fix(gcov): avoid multiple tick hook registration 2024-02-18 00:10:18 +01:00
fl0wl0w
90d1dcfd76 feat(freertos): Introduced new Kconfig option CONFIG_FREERTOS_NUMBER_OF_CORES
This commit replaces the use of portNUM_PROCESSORS and configNUM_CORES
macros in all of ESP-IDF. These macros are needed to realize an SMP
scenario by fetching the number of active cores FreeRTOS is running on.
Instead, a new Kconfig option, CONFIG_FREERTOS_NUMBER_OF_CORES, has been
added as a proxy for the FreeRTOS config option, configNUMBER_OF_CORES.
This new commit is now used to realize an SMP scenario in various places
in ESP-IDF.

[Sudeep Mohanty: Added new Kconfig option CONFIG_FREERTOS_NUMBER_OF_CORES]

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2024-02-09 09:11:28 +01:00
Erhan Kurubas
7234303e9e feat(system): move esp_dbg_stubs_init into component 2024-01-31 20:12:45 +01:00
Erhan Kurubas
ca0b112669 feat(license): Dual-license source files built by OpenOCD stub flasher 2024-01-15 23:45:23 +01:00
Song Ruo Jing
6ad80f0332 refactor(uart): make uart driver as component, and fix astyle 2023-12-15 17:03:51 +08: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
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
Ivan Grokhotkov
75c92c3a66
refactor(startup): implement registration of core init functions
Similar to how the secondary init functions were already registered
via ESP_SYSTEM_INIT_FN, do the same for the core init functions.
This MR doesn't actually move the init functions into respective
components yet. This has to be carefully done in follow-up MRs.
2023-11-27 10:20:51 +01:00
morris
2ef14fe55e refactor(gptimer): refactor gptimer driver into a component 2023-11-06 17:09:31 +08:00
Song Ruo Jing
9461993ec5 refactor(gpio): make gpio driver as component, and fix astyle 2023-11-03 15:42:23 +08:00
Ivan Grokhotkov
40347c9c27 Merge branch 'feature/app_trace_component_test_app' into 'master'
feat(app_trace): migrate the tests from unit-test-app

Closes IDF-5564

See merge request espressif/esp-idf!26273
2023-10-20 21:45:05 +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
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
Erhan Kurubas
31b3b1f455 feat(gcov): improve gcov file handling using esp_apptrace_feof() 2023-10-12 11:01:23 +02:00
Alexey Lapshin
0172df94ac fix(app_trace): fix gcov for gcc 13.1.0 2023-10-09 12:13:02 +04:00
Ivan Grokhotkov
1f5861492f
feat(app_trace): migrate the tests from unit-test-app 2023-10-02 10:33:20 +02:00
Konstantin Kondrashov
cbdb799b6f feat(esp_timer): Support systimer for ESP32P4 2023-09-13 19:13:38 +08:00
Erhan Kurubas
f36f427579 feat(gcov): make gcov dump task size configurable 2023-08-22 01:07:42 +02:00
Alexey Lapshin
ef699e70ad fix(app_trace): Fix SystemView build 2023-06-28 18:28:36 +04:00
Konstantin Kondrashov
c350c3c504 Merge branch 'feature/cleanup_wrong_log_use' into 'master'
all: Removes unnecessary newline character in logs

Closes IDFGH-10197

See merge request espressif/esp-idf!24131
2023-06-15 21:49:49 +08:00
KonstantinKondrashov
e72061695e all: Removes unnecessary newline character in logs
Closes https://github.com/espressif/esp-idf/issues/11465
2023-06-09 03:31:21 +08:00
Alexey Gerenkov
82c1d6e371 gcov: Do not link with libgcov when Clang is used 2023-06-08 16:49:42 +03:00
wen13245
ffa79a4b4e
Modifies the argument of the sizeof statement to a legitimate array name 2023-04-21 18:44:06 +08:00
Guillaume Souchere
110aac240d heap: Add a configuration that places all the heap component and related functionalities in flash when enabled
Add test configuration to run all tests with heap component in the flash.
Add reference to this new configuration in performance section of the documentation.
2023-04-12 08:11:24 +02:00
Alexey Lapshin
8c7c653a7f app_trace: fix fwrite/fread return value 2023-03-17 00:15:07 +08:00
Alexey Lapshin
21d7fd9b03 gcov: use original libgcov.a with redefined symbols 2023-02-22 05:33:03 +00:00
Alexey Lapshin
18e5627a86 sys_view: upgrade to version 3.42 2023-01-27 22:22:33 +07:00
Alexey Lapshin
dd40877ab2 sys_view: upgrade to version 3.32 2023-01-24 00:26:58 +07:00
Darian
1c5ef9cb7c Merge branch 'refactor/app_trace_use_try_critical_section_macro' into 'master'
app_trace: Update esp_apptrace_lock_take() to use portTRY_ENTER_CRITICAL()

See merge request espressif/esp-idf!21094
2022-12-28 16:55:00 +08:00
Guillaume Souchere
c39a9de344 heap_trace: unify API to pass caps param to heap_trace_dump() 2022-12-27 10:23:30 +01:00
Darian Leung
cc5ee295ad app_trace: Update esp_apptrace_lock_take() to use portTRY_ENTER_CRITICAL()
Previously, esp_apptrace_lock_take() would manually disable interrupts and
acquire the spinlock in order to allow the criticla section entry to have time
outs, and also be preemptable in between attempts to acquired.

However, the same can be achieved by using portTRY_ENTER_CRITICAL(), thus
allowing us to make spinlock_acquire/spinlock_release private.
2022-12-23 19:20:42 +08:00
Chip Weinberger
9afc386dd2 [Heap Trace Standalone] improvements to formatting, code, comments 2022-12-08 00:47:02 -08:00
laokaiyao
8677216576 esp32h2: renaming esp32h2 to esp32h4 2022-11-08 17:05:33 +08:00
Ivan Grokhotkov
7e2f261a58
freertos, app_trace, heap: use esp_cpu_get_cycle_count to get ccount
portGET_RUN_TIME_COUNTER_VALUE should only be used in the kernel.
2022-10-12 11:20:55 +02:00
Darian Leung
77f2eba57e freeRTOS: Synchronize queue functions to v10.4.3
This commit synchronizes multiple functions in queue.c with upstream v10.4.3.
Multi-core modifications are then reapplied to these functions. The following
functions were modified:

prvNotifyQueueSetContainer()
xQueueGenericCreateStatic()
xQueueGenericCreate()
xQueueGetMutexHolder()
xQueueCreateCountingSemaphoreStatic()
xQueueCreateCountingSemaphore()
xQueueGenericSend()
xQueueGenericSendFromISR()
xQueueReceiveFromISR()
uxQueueMessagesWaiting()
prvUnlockQueue()
prvIsQueueFull()
xQueueAddToSet()
xQueueRemoveFromSet()
prvNotifyQueueSetContainer()

Note: The SEGGER_SYSVIEW traceQUEUE_SEND() macro was updated as the
      xCopyPosition argument is no longer available in scenarios where the
      macro is called.
2022-09-19 21:30:32 +08:00
Ivan Grokhotkov
0332b8db07 Revert "Merge branch 'feature/freertos_10.4.3_sync_various_functions' into 'master'"
This reverts merge request !19761
2022-09-12 19:53:09 +08:00
Darian Leung
48e03e4cbd freeRTOS: Synchronize queue functions to v10.4.3
This commit synchronizes multiple functions in queue.c with upstream v10.4.3.
Multi-core modifications are then reapplied to these functions. The following
functions were modified:

prvNotifyQueueSetContainer()
xQueueGenericCreateStatic()
xQueueGenericCreate()
xQueueGetMutexHolder()
xQueueCreateCountingSemaphoreStatic()
xQueueCreateCountingSemaphore()
xQueueGenericSend()
xQueueGenericSendFromISR()
xQueueReceiveFromISR()
uxQueueMessagesWaiting()
prvUnlockQueue()
prvIsQueueFull()
xQueueAddToSet()
xQueueRemoveFromSet()
prvNotifyQueueSetContainer()

Note: The SEGGER_SYSVIEW traceQUEUE_SEND() macro was updated as the
      xCopyPosition argument is no longer available in scenarios where the
      macro is called.
2022-09-07 23:34:52 +08:00
Alexey Gerenkov
e5085db5f0 sysview: Adds FreeRTOS SMP port 2022-08-25 13:08:19 +03:00
Alexey Gerenkov
030f3b7534 sysview: Fixes IDLE tasks detection via name comparison 2022-08-25 11:23:21 +03:00
Darian Leung
fb960f42b3 freertos: Synchronize vTaskPlaceOnEventList...() functions to v10.4.3
This commit synchronizes the following vTaskPlaceOnEventList...() with
upstream v10.4.3.

The functions updated are:

- vTaskPlaceOnEventList()
- vTaskPlaceOnUnorderedEventList()
- vTaskPlaceOnEventListRestricted()

The traceTASK_DELAY_UNTIL() macro has also been updated.
2022-08-24 16:03:10 +08:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
Guillaume Souchere
0bac33ed41 esp_system: Remove deprecate section from esp_cpu.h
- Remove esp_cpu_in_ocd_mode() from esp_cpu.h. Users should call esp_cpu_dbgr_is_attached() instead.
- Remove esp_cpu_get_ccount() from esp_cpu.h. Users should call esp_cpu_get_cycle_count() instead.
- Remove esp_cpu_set_ccount() from esp_cpu.h. Users should call esp_cpu_set_cycle_count() instead.
- Other IDF components updated to call esp_cpu_dbgr_is_attached(), esp_cpu_get_cycle_count() and esp_cpu_set_cycle_count() as well.
2022-07-22 00:06:06 +08:00
Guillaume Souchere
6005cc9163 hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces
This commit marks all functions in interrupt_controller_hal.h, cpu_ll.h and cpu_hal.h as deprecated.
Users should use functions from esp_cpu.h instead.
2022-07-22 00:06:06 +08:00
Ivan Grokhotkov
a334cd50ce
app_trace: perform initialization using ESP_SYSTEM_INIT_FN 2022-07-12 16:58:15 +02:00
Marius Vikhammer
82daa80eac apptrace: move all apptrace related functions to IRAM
Closes: https://github.com/espressif/esp-idf/issues/9131
2022-06-23 16:54:24 +08: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
KonstantinKondrashov
ac4c7d99fe dport: Move DPORT workaround to G0 2022-05-31 13:44:18 +08:00
Darian Leung
daa950d9ed freertos: Replace portSET_INTERRUPT_MASK_FROM_ISR() call for SMP
The behavior of portSET_INTERRUPT_MASK_FROM_ISR() has changed in SMP FreeRTOS. It's
previous behavior is now implemented in portDISABLE_INTERRUPTS() and portRESTORE_INTERRUPTS().

This commit replaces all portSET_INTERRUPT_MASK_FROM_ISR() and portCLEAR_INTERRUPT_MASK_FROM_ISR()
calls with portDISABLE_INTERRUPTS() and portRESTORE_INTERRUPTS() respectively
2022-05-30 06:11:24 +08:00