Dual core compatible spi flash APIs Implementation of spi flash APIs which work in dual core mode. This also includes other changes: - fixes to FreeRTOS tasks.c made by Jeroen and me — these were originally made to fix issues with high priority tasks seen in WiFi stack, but were required to get stuff in ipc.c working as well - initial base idea with two high-priority tasks was separated into a separate API — esp_ipc.h. That API allows one to run a function on the other CPU from a high-priority task. Because we don't have preemption across CPUs, this is currently not very fast: it requires on average half a tick until the second CPU switches to the high priority task. Currently that API can be either blocking, or non-blocking with queue length of 1. I haven't yet found a use case for arbitrary sized queue of IPC requests. Anyone who needs that can trivially add that later by replacing a binary semaphore with a generic queue. With these changes i can run application with WiFi stack and NVS on both cores. See merge request !25 |
||
---|---|---|
.. | ||
include | ||
ld | ||
lib@e793e8ac04 | ||
abi.cpp | ||
component.mk | ||
cpu_start.c | ||
event.c | ||
heap_alloc_caps.c | ||
heap_alloc_caps.h | ||
ipc.c | ||
Kconfig | ||
libhal.a | ||
spiram.h | ||
syscalls.c | ||
wifi.c |