kopia lustrzana https://github.com/espressif/esp-idf
spi: add documents explicitly showing the executing core of the ISR
It is an ESP specific FreeRTOS feature that the ISR is always executed on the core which calls the interrupt register function. In the SPI driver, the function is always called in the bus initialization function. Hence, the ISR will be executed on the core which initialize the driver. If the core is starved due to higher priority ISRs, or the interrupt is disabled on the core (spinlock called, etc.), the ISR will not get executed and SPI transactions will not be handled. (MINOR CHANGE) Resolves https://github.com/espressif/esp-idf/issues/2432.pull/2729/head
rodzic
a52ab8ca87
commit
26626dfbf2
|
@ -150,6 +150,10 @@ typedef struct spi_device_t* spi_device_handle_t; ///< Handle for a device on a
|
|||
* @warning If a DMA channel is selected, any transmit and receive buffer used should be allocated in
|
||||
* DMA-capable memory.
|
||||
*
|
||||
* @warning The ISR of SPI is always executed on the core which calls this
|
||||
* function. Never starve the ISR on this core or the SPI transactions will not
|
||||
* be handled.
|
||||
*
|
||||
* @return
|
||||
* - ESP_ERR_INVALID_ARG if configuration is invalid
|
||||
* - ESP_ERR_INVALID_STATE if host already is in use
|
||||
|
|
|
@ -74,6 +74,10 @@ struct spi_slave_transaction_t {
|
|||
* @warning If a DMA channel is selected, any transmit and receive buffer used should be allocated in
|
||||
* DMA-capable memory.
|
||||
*
|
||||
* @warning The ISR of SPI is always executed on the core which calls this
|
||||
* function. Never starve the ISR on this core or the SPI transactions will not
|
||||
* be handled.
|
||||
*
|
||||
* @return
|
||||
* - ESP_ERR_INVALID_ARG if configuration is invalid
|
||||
* - ESP_ERR_INVALID_STATE if host already is in use
|
||||
|
|
Ładowanie…
Reference in New Issue