From: Ivan Grokhotkov Date: Tue, 13 Sep 2016 05:58:54 +0000 (+0800) Subject: Merge branch 'feature/dualcore_spi_flash_api' into 'master' X-Git-Tag: v0.9~53 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f9013d9ff841c19448dd50a6c066d877eda3ea20;p=esp-idf Merge branch 'feature/dualcore_spi_flash_api' into 'master' 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 --- f9013d9ff841c19448dd50a6c066d877eda3ea20