OVMS3-idf/components/esp32
Jeroen Domburg ffeffcd315 Merge branch 'feature/crosscore_int' into 'master'
Add cross-core int to accelerate task being awoken from another CPU.

This adds a per-CPU interrupt that can be used to poke the CPU to go do something. In this case all that is implemented is a request to yield the current task, used in case a CPU unblocks a task that runs on another CPU. This gets rid of the limitation that inter-CPU communication using queues, muxes etc can take up to a FreeRTOS tick to happen.

Specs!
Sending an in in a queue of length 1 (essentially a semaphore) as quickly as possible (just a small delay in the sender, to make sure the receiver task gets swapped out) for 10 seconds. Number indicates the amount of ints transferred

Old code:

CPU0->CPU0: 42986

CPU0->CPU1,: 2999

New code:

CPU0->CPU0: 42868

CPU0->CPU1: 62073

See merge request !155
2016-10-31 11:04:28 +08:00
..
hwcrypto hwcrypto sha: Fix initialisation of SHA hardware in esp_shaX_start functions 2016-09-09 14:27:53 +10:00
include Merge branch 'feature/crosscore_int' into 'master' 2016-10-31 11:04:28 +08:00
ld Re-add panic.o to IRAM/DRAM. 2016-10-28 14:32:11 +08:00
lib@12b3435fc0 esp32: update libs for changes in FreeRTOS header files 2016-10-27 12:37:34 +08:00
abi.cpp Initial public version 2016-08-17 23:08:22 +08:00
brownout.c Add licenses, docbook, general cleanup 2016-10-25 18:18:11 +08:00
component.mk Merge branch 'master' into bugfix/build_dir_base 2016-10-18 15:30:57 +11:00
cpu_freq.c esp32: wait uart tx finish before cpu freq change 2016-09-21 16:15:42 +08:00
cpu_start.c Merge branch 'feature/crosscore_int' into 'master' 2016-10-31 11:04:28 +08:00
crosscore_int.c Remove redundant volatile keyword 2016-10-31 11:00:27 +08:00
deepsleep.c 1. Change the deep sleep stub code to fix wake bug. 2016-09-28 11:52:39 +08:00
event_default_handlers.c Event handling refactoring 2016-09-26 01:17:32 +08:00
event_loop.c components/esp32: fix renaming of esp_event_set_cb, minor clean up 2016-09-26 12:35:09 +08:00
gdbstub.c Move panic handler and gdbstub into esp32 component, clean up wdt according to merge req suggestions 2016-10-26 12:23:01 +08:00
heap_alloc_caps.c Add Trax-support to esp-idf 2016-10-17 12:18:17 +08:00
int_wdt.c Fix int wdt iram, fix some fallout of moving panic stuff to esp32 2016-10-28 12:05:42 +08:00
ipc.c components/esp32: add inter-processor call API and implement spi_flash through it 2016-09-12 18:54:45 +08:00
Kconfig set default interrupt watchdog timeout to 300ms 2016-10-28 16:17:41 +08:00
libhal.a Initial public version 2016-08-17 23:08:22 +08:00
panic.c Re-add panic.o to IRAM/DRAM. 2016-10-28 14:32:11 +08:00
spiram.h Initial public version 2016-08-17 23:08:22 +08:00
task_wdt.c Move write key and stage action select constants into headers 2016-10-26 14:54:50 +08:00