esp-idf/components/driver
Michael (XIAO Xufeng) 3387d751d9 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-12-05 10:25:57 +08:00
..
include/driver spi: fix the crash when callbacks are not in the IRAM 2018-12-05 10:25:57 +08:00
test test: modify the command/address test a bit to test the LSBFIRST feature 2018-10-08 19:19:47 +08:00
adc1_i2s_private.h driver(i2s): fix broken i2s adc mode 2018-02-07 17:17:20 +08:00
CMakeLists.txt cmake: make main a component again 2018-09-13 11:13:27 +08:00
component.mk build system: Refactor component.mk to not need component_common.mk 2016-11-10 15:52:22 +11:00
gpio.c gpio: Bitmask overflow fix in gpio_reset_pin 2018-08-14 04:23:56 +03:00
i2c.c driver(i2c): enable I2C master hardware filter by default for release/v3.1 2018-11-28 17:38:50 +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-12-05 10:25:57 +08:00
ledc.c bugfix(ledc): fix bugs reported from unit-test and github. 2018-07-24 13:22:50 +08:00
mcpwm.c feature: add Motor Control PWM(mcpwm) driver 2017-05-12 15:47:59 +08:00
pcnt.c Add some comments in pcnt.h. 2018-07-24 10:46:50 +08:00
periph_ctrl.c aes/sha/mpi: Bugfix a use of shared registers. 2018-11-26 02:42:37 +00:00
rmt.c Modify the rmt_mem_num maximum limit value from 15 to 8. 2018-07-18 16:33:45 +08:00
rtc_module.c Merge branch 'bugfix/add_mutex_for_some_touchpad_apis_v3.1' into 'release/v3.1' 2018-08-10 12:18:33 +08:00
sdio_slave.c sdio_slave: fix the ret_queue crash issue when being reset by the master 2018-09-27 21:33:45 +08:00
sdmmc_host.c fix(sdmmc): disable all pulldowns used by sdmmc host 2018-08-03 11:03:25 +08:00
sdmmc_private.h sdmmc: add peripheral driver and protocol layer 2017-01-09 04:51:24 +08:00
sdmmc_transaction.c sdmmc: enable host auto_stop only for certain commands 2018-07-19 10:23:58 +03:00
sdspi_crc.c driver: SD protocol driver for SPI peripheral 2017-07-20 13:43:07 +08:00
sdspi_crc.h driver: SD protocol driver for SPI peripheral 2017-07-20 13:43:07 +08:00
sdspi_host.c sdspi: handle delayed responses for data write commands 2018-04-26 10:04:44 +08:00
sdspi_private.h sdmmc: improve error handling during SPI mode init 2018-04-11 11:11:17 +08:00
sdspi_transaction.c sdmmc: improve error handling during SPI mode init 2018-04-11 11:11:17 +08:00
sigmadelta.c components/driver: 'const' all config calls. 2017-04-13 18:33:33 +01:00
spi_common.c spi: move gpio direction config to common func for coinsistence 2018-10-08 19:19:47 +08:00
spi_master.c spi: fix the crash when callbacks are not in the IRAM 2018-12-05 10:25:57 +08:00
spi_slave.c spi: fix the crash when callbacks are not in the IRAM 2018-12-05 10:25:57 +08:00
timer.c Timer API docs update, refactored example 2017-10-27 07:13:59 +02:00
uart.c driver(uart): Fixed uart tx_empty interrupt wdt timeout bug for release/v3.1 2018-08-02 12:45:53 +08:00