Ivan Grokhotkov
f7e2e456e4
intr_alloc: mark inline asm operand as earlyclobber
...
When compiling in release mode, compiler was choosing same register for
oldint and intmask variables, so INTENABLE was never modified.
This effectively broke disabling of non-IRAM interrupts during flash
operations, observed in the existing tests if task watchdog is enabled.
This change adds an extra constraint tells the compiler that output
operand should not be placed into the same register as an input one.
2017-01-18 18:31:06 +08:00
Jeroen Domburg
3168ad10e7
Core timer 2 is unusable for FreeRTOS ticks because it triggers a high-level interrupt. This commit deletes the option to select it.
2017-01-15 11:11:58 +08:00
Ivan Grokhotkov
a2e0c2432e
esp32: sanity check ISR handler address passed into esp_intr_alloc
...
Return ESP_ERR_INVALID_ARG if the handler is not in IRAM (or RTC fast memory)
2017-01-11 11:38:17 +08:00
Jeroen Domburg
11a994d5d8
Calling esp_intr_noniram_[en|dis]able twice is an error, so abort instead of doing an assert which disappears in non-debug mode
2017-01-09 12:04:21 +08:00
Deomid Ryabkov
1597f7a035
Add IRAM_ATTR to esp_intr_{enable,disable}
...
So it's safe to invoke from ISR
Signed-off-by: Jeroen Domburg <jeroen@espressif.com>
2016-12-19 18:49:28 +08:00
Jeroen Domburg
d5c57d1d10
Put ets_isr_* functions into IRAM. Original fns were in ROM so people may expect them to work when flash cache is out.
2016-12-13 13:24:01 +08:00
Jeroen Domburg
78161a1fe3
Replace non-multicore-aware rom funcs with multicore-aware funcs, ESP_LOG->ESP_EARLY_LOG fix, reserve ints used in wireless libs. Fixes WiFi crashing
2016-12-13 13:24:01 +08:00
Jeroen Domburg
2c34ab3374
Mark some interrupts that are now allocated dynamically as free, add int handle param documentation, add local ints test
2016-12-08 12:39:33 +08:00
Jeroen Domburg
9dc908d105
Add test for local interrupts, fix int disable code
2016-12-08 12:39:33 +08:00
Jeroen Domburg
ae8c37e0b6
Add disabling/enabling of shared interrupt, add testcase for interrupts
2016-12-08 12:39:33 +08:00
Jeroen Domburg
32fa94935d
Changes according to merge request
2016-12-08 12:39:33 +08:00
Jeroen Domburg
655fd2986a
Add interrupt allocation scheme / interrupt sharing. Also modifies drivers and examples. Also allows interrupts
...
to be marked specifically as having a handler that's all in IRAM.
2016-12-08 12:39:33 +08:00