Armando e76c52d4df cache: fix s2 dcache size 0 issue when psram disabled %!s(int64=3) %!d(string=hai) anos
..
host_test b02687a6c4 test: migrate linux target host test jobs into pytest-embedded %!s(int64=3) %!d(string=hai) anos
include 5e9e8c396f wdt: add support for WDTs on C6 %!s(int64=3) %!d(string=hai) anos
ld d6844051fc esp_mm: new virtual memory mapping apis via mmu %!s(int64=3) %!d(string=hai) anos
port e76c52d4df cache: fix s2 dcache size 0 issue when psram disabled %!s(int64=3) %!d(string=hai) anos
task_wdt c8614a0dbf esp_timer: add a function to restart timer %!s(int64=3) %!d(string=hai) anos
test 13b5e625a7 UT/esp32c2: reenable pm and sleep related UT %!s(int64=3) %!d(string=hai) anos
test_apps 13b5e625a7 UT/esp32c2: reenable pm and sleep related UT %!s(int64=3) %!d(string=hai) anos
test_eh_frame_parser a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories %!s(int64=3) %!d(string=hai) anos
.build-test-rules.yml 13b5e625a7 UT/esp32c2: reenable pm and sleep related UT %!s(int64=3) %!d(string=hai) anos
CMakeLists.txt d6844051fc esp_mm: new virtual memory mapping apis via mmu %!s(int64=3) %!d(string=hai) anos
Kconfig cb9786d35e refactor(esp_system): reboot delay: added docs, protected by watchdog %!s(int64=3) %!d(string=hai) anos
README.md 32aa5f7e25 esp_system: add notes on timekeeping %!s(int64=4) %!d(string=hai) anos
app.lf bbc599493e esp32: move common fragment definitions %!s(int64=4) %!d(string=hai) anos
check_system_init_priorities.py 42654927d5 esp_system: add a script to check the startup priorities %!s(int64=3) %!d(string=hai) anos
crosscore_int.c 8cc9260f86 ESP32H2: Add system support for ESP32H2 %!s(int64=3) %!d(string=hai) anos
debug_stubs.c bb9cd84cdc debug_stubs: Refactor and add support for RISCV %!s(int64=4) %!d(string=hai) anos
eh_frame_parser.c a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories %!s(int64=3) %!d(string=hai) anos
esp_err.c 44df5b31af feature: add ram loadable app support %!s(int64=3) %!d(string=hai) anos
esp_ipc.c 23a290f29f esp_ipc: Use task notifications instead of semaphores %!s(int64=3) %!d(string=hai) anos
esp_system.c 5b3a645813 feat(esp_system): Partially buildable on Linux now %!s(int64=3) %!d(string=hai) anos
fpga_overrides.c 59cf87fe7d pmu: sleep initialization and sleep start support for esp32c6 %!s(int64=3) %!d(string=hai) anos
freertos_hooks.c 6005cc9163 hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces %!s(int64=3) %!d(string=hai) anos
int_wdt.c 53c7dd4efc WDT: implement interrupt wdt and task wdt for ESP32-C2 %!s(int64=3) %!d(string=hai) anos
linker.lf 5b3a645813 feat(esp_system): Partially buildable on Linux now %!s(int64=3) %!d(string=hai) anos
panic.c cb9786d35e refactor(esp_system): reboot delay: added docs, protected by watchdog %!s(int64=3) %!d(string=hai) anos
sdkconfig.rename 6798bfc4b0 TWDT: the Kconfig option ESP_TASK_WDT_EN is now used to enable Task Watchdog %!s(int64=3) %!d(string=hai) anos
sdkconfig.rename.esp32 0687daf2c8 kconfig: move remaining kconfig options out of target component %!s(int64=3) %!d(string=hai) anos
sdkconfig.rename.esp32c3 d2872095f9 soc: moved kconfig options out of the target component. %!s(int64=3) %!d(string=hai) anos
sdkconfig.rename.esp32s2 d2872095f9 soc: moved kconfig options out of the target component. %!s(int64=3) %!d(string=hai) anos
sdkconfig.rename.esp32s3 d2872095f9 soc: moved kconfig options out of the target component. %!s(int64=3) %!d(string=hai) anos
stack_check.c 4d16f46a88 esp_system: fix placement of __stack_chk_fail from flash to RAM %!s(int64=3) %!d(string=hai) anos
startup.c 44df5b31af feature: add ram loadable app support %!s(int64=3) %!d(string=hai) anos
system_init_fn.txt 68594abe05 sleep: light sleep supported for esp32c6 %!s(int64=3) %!d(string=hai) anos
system_time.c 8cc9260f86 ESP32H2: Add system support for ESP32H2 %!s(int64=3) %!d(string=hai) anos
systick_etm.c 6c1d98d556 systimer: assign counter and alarm in esp_hw_support %!s(int64=3) %!d(string=hai) anos
ubsan.c 6005cc9163 hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces %!s(int64=3) %!d(string=hai) anos
xt_wdt.c bff6826ee1 bugfix (esp_system): made xt_wdt spinlock static %!s(int64=3) %!d(string=hai) anos

README.md

System Notes

Timekeeping

The following are the timekeeping mechanisms available and their differences:

  1. System time (esp_system_get_time)

Time with the origin at g_startup_time. The implementation is not handled by esp_system, but it does provide a default implementation using RTC timer. Currently, esp_timer provides system time, since the hardware timers are under the control of that component. However, no matter the underlying timer, the system time provider should maintain the definition of having the origin point at g_startup_time.

  1. esp_timer time (esp_timer_get_time)

This is the time read from an underlying hardware timer, controlled through config. Origin is at the point where the underlying timer starts counting.

  1. newlib time (gettimeofday)

Timekeeping function in standard library. Can be set (settimeofday) or moved forward/backward (adjtime); with the possibility of the changes being made persistent through config. Currently implemented in terms of system time, as the point of origin is fixed. If persistence is enabled, RTC time is also used in conjuction with system time.

  1. RTC time (esp_rtc_get_time_us)

Time read from RTC timer.