esp-idf/components/driver
Michael (XIAO Xufeng) 8cddfa35b8 spi: fix the crash when callbacks are not in the IRAM
Introduced in 9c23b8e5 and 4f87a62f. To get higher speed, menuconfig
options are added to put ISR and other functions into the IRAM.  The
interrupt flag ESP_INTR_FLAG_IRAM is also mistakenly set when the ISR is
put into the IRAM. However callbacks, which are wrote by the user, are
called in the master and slave ISR. The user may not be aware of that
these callbacks are not disabled during flash operations. Any cache miss
during flash operation will cause panic.

Essentially IRAM functions and intrrupt flag ESP_INTR_FLAG_IRAM are
different, the latter means not disabling the ISR during flash
operations.  New bus_config flag intr_flags is offered to help set the
interrupt attribute, including priority level, SHARED, IRAM (not
disabled during flash operations).  It introduced a small BREAK to
IDFv3.1 (but the same as IDFv3.0) that the user has to manually set IRAM
flag now (therefore he's aware of the IRAM thing) to void the ISR being
disabled during flash operations.
2018-11-20 13:07:13 +08:00
..
include/driver spi: fix the crash when callbacks are not in the IRAM 2018-11-20 13:07:13 +08:00
test unity: separate common and IDF specific functionality 2018-11-19 12:36:31 +08:00
adc1_i2s_private.h driver(i2s): fix broken i2s adc mode 2018-02-07 17:17:20 +08:00
can.c CAN: Add pm_lock, fix gpio bug, update docs 2018-09-01 02:46:05 +08:00
CMakeLists.txt esp_ringbuf: move ringbuf to seperate component 2018-09-17 17:04:57 +05:30
component.mk build system: Refactor component.mk to not need component_common.mk 2016-11-10 15:52:22 +11:00
gpio.c driver/gpio: support wakeup function for RTC IOs 2018-09-06 15:40:46 +08:00
i2c.c Replace all DOS line endings with Unix 2018-07-12 19:10:37 +08:00
i2s.c fix i2s mix result and error code 2018-05-17 10:59:04 +08:00
Kconfig spi: fix the crash when callbacks are not in the IRAM 2018-11-20 13:07:13 +08:00
ledc.c bugfix(ledc): fix bugs reported from unit-test and github. 2018-07-10 02:22:23 +08:00
mcpwm.c driver(mcpwm): Fix mcpwm api in mcpwm.c mismatch with mcpwm.h bug. 2018-06-22 12:26:43 +08:00
pcnt.c Add some comments in pcnt.h. 2018-07-24 10:33:58 +08:00
periph_ctrl.c aes/sha/mpi: Bugfix a use of shared registers. 2018-11-05 04:22:47 +00:00
rmt.c Modify the rmt_mem_num maximum limit value from 15 to 8. 2018-07-16 19:10:42 +08:00
rtc_module.c driver/gpio: support wakeup function for RTC IOs 2018-09-06 15:40:46 +08:00
sdio_slave.c sdio_slave: fix the ret_queue crash issue when being reset by the master 2018-09-25 20:30:25 +08:00
sdmmc_host.c sdmmc: implement partial DDR support 2018-08-30 13:11:54 +08:00
sdmmc_private.h sdmmc: implement partial DDR support 2018-08-30 13:11:54 +08:00
sdmmc_transaction.c sdmmc: implement partial DDR support 2018-08-30 13:11:54 +08:00
sdspi_crc.c Replace all DOS line endings with Unix 2018-07-12 19:10:37 +08:00
sdspi_crc.h Replace all DOS line endings with Unix 2018-07-12 19:10:37 +08:00
sdspi_host.c Replace all DOS line endings with Unix 2018-07-12 19:10:37 +08:00
sdspi_private.h Replace all DOS line endings with Unix 2018-07-12 19:10:37 +08:00
sdspi_transaction.c feature(sdio): allow to enable internal pullups of the SDIO host and slave as a debug feature 2018-06-14 12:04:22 +08:00
sigmadelta.c components/driver: 'const' all config calls. 2017-04-13 18:33:33 +01:00
spi_common.c spi: shown owner of spi host explicitly 2018-10-29 20:22:44 +08:00
spi_master.c spi: fix the crash when callbacks are not in the IRAM 2018-11-20 13:07:13 +08:00
spi_slave.c spi: fix the crash when callbacks are not in the IRAM 2018-11-20 13:07:13 +08:00
timer.c Timer API docs update, refactored example 2017-10-27 07:13:59 +02:00
uart.c uart: add function to set light sleep wakeup threshold 2018-09-06 15:40:46 +08:00