Armando (Dou Yiwen) 6ed3ffbbf1 Merge branch 'refactor/remove_redundant_rom_cache_dependency' into 'master' 4 rokov pred
..
include a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories 4 rokov pred
ld c1cbd7bbf6 cache/mmu: implememnt cache and mmu hal APIs in bootloader 4 rokov pred
port 6ed3ffbbf1 Merge branch 'refactor/remove_redundant_rom_cache_dependency' into 'master' 4 rokov pred
test 3b3b668256 ci: Disable failing UTs 4 rokov pred
test_eh_frame_parser a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories 4 rokov pred
CMakeLists.txt 2571aaf3c9 G0: target component (components/esp32*) doesn't depend on driver anymore 4 rokov pred
Kconfig bb88338118 system: move kconfig options out of target component 4 rokov pred
README.md 32aa5f7e25 esp_system: add notes on timekeeping 4 rokov pred
app.lf bbc599493e esp32: move common fragment definitions 4 rokov pred
crosscore_int.c cf049e15ed esp8684: rename target to esp32c2 4 rokov pred
debug_stubs.c bb9cd84cdc debug_stubs: Refactor and add support for RISCV 4 rokov pred
eh_frame_parser.c a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories 4 rokov pred
esp_err.c c16ceafa5c esp_common: move esp_err 5 rokov pred
esp_ipc.c 6f9fc0ba8e esp_system: Place ipc_task semaphores on DRAM 4 rokov pred
esp_system.c 27f5c90e2e freertos: Fix usage of vTaskSuspendAll()/xTaskResumeAll() 4 rokov pred
fpga_overrides.c 09487761cf ESP8684: add freertos, hal, esp_system support 4 rokov pred
freertos_hooks.c 0e0914476c esp_common: move freertos hooks 5 rokov pred
int_wdt.c a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories 4 rokov pred
linker.lf 9069f70db3 system: add option to enable undefined behavior sanitizer (UBSAN) 4 rokov pred
panic.c e22b4007d3 esp_hw_support: Removed deprecated CPU util functions 4 rokov pred
sdkconfig.rename bb88338118 system: move kconfig options out of target component 4 rokov pred
sdkconfig.rename.esp32 bb88338118 system: move kconfig options out of target component 4 rokov pred
sdkconfig.rename.esp32c3 bb88338118 system: move kconfig options out of target component 4 rokov pred
sdkconfig.rename.esp32h2 23c55946a6 kconfig: also parse target specific sdkconfig.rename.TARGET files 4 rokov pred
sdkconfig.rename.esp32s2 bb88338118 system: move kconfig options out of target component 4 rokov pred
sdkconfig.rename.esp32s3 bb88338118 system: move kconfig options out of target component 4 rokov pred
stack_check.c a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories 4 rokov pred
startup.c bb88338118 system: move kconfig options out of target component 4 rokov pred
system_time.c cf049e15ed esp8684: rename target to esp32c2 4 rokov pred
task_wdt.c 57fd78f5ba freertos: Remove legacy data types 4 rokov pred
ubsan.c 9069f70db3 system: add option to enable undefined behavior sanitizer (UBSAN) 4 rokov pred
xt_wdt.c 4869b3cd4a WDT: Add support for XTAL32K Watchdog timer 4 rokov pred

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.