]> granicus.if.org Git - esp-idf/commit
Merge branch 'feature/dualcore_spi_flash_api' into 'master'
authorIvan Grokhotkov <ivan@espressif.com>
Tue, 13 Sep 2016 05:58:54 +0000 (13:58 +0800)
committerIvan Grokhotkov <ivan@espressif.com>
Tue, 13 Sep 2016 05:58:54 +0000 (13:58 +0800)
commitf9013d9ff841c19448dd50a6c066d877eda3ea20
tree84dc7fc2421b0626e7539e16c87abe7ad8e250d3
parent4598f9fc882ea45827b274b67155a056d1b2a8dc
parentce2153c447d263df021f5f55bb351e62bb4231a7
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