Ivan Grokhotkov
33cb16fd2a
esp32: fix cache error interrupt handler
...
Cache error interrupt would read DPORT registers, which caused DPORT
access protection to kick in. Disable DPORT protection before doing the
reads.
2017-09-08 09:59:09 +08:00
Ivan Grokhotkov
5425d8569c
Merge branch 'feature/pthread_api' into 'master'
...
esp32: pthread API
See merge request !1146
2017-09-07 17:49:42 +08:00
Ivan Grokhotkov
40df6546c0
Merge branch 'feature/multi_heap_poisoning' into 'master'
...
Heap tracing & poisoning features
See merge request !749
2017-09-07 17:47:51 +08:00
Ivan Grokhotkov
b9dfb437ab
Merge branch 'bugfix/intr_free' into 'master'
...
fix(intr): fix the logic for allocating and freeing interrupts.
See merge request !1124
2017-09-07 17:45:18 +08:00
Angus Gratton
ec498ad86d
libgcc: Place assembly functions (including __xtensa_libgcc_window_spill) in IRAM
2017-09-07 16:32:05 +10:00
Angus Gratton
5c417963eb
multi_heap: Add heap poisoning features
2017-09-07 16:32:05 +10:00
Liu Zhi Fu
a568ad2c9d
esp32: update wifi lib for a bunch of small feature and bugfix
...
1. Update RTC V229: add BT AGC saturation protection
2. Update PHY V359: (1). esp_init_data_v2.bin -- modify WIFI and BT RX gain table Setting
(2). modify phy_close_rf()
(3). noisefloor add limit and no print
3. WiFi supports modem sleep dynamic frequency switch
4. Fix disabling AMPDU cause esp_wifi_init fail issue
5. Fix sniffer mode cause WiFi can't connect issue
6. Optimize an internal rx buffer full issue
7. Rollback the internal wifi init flag when wifi init fail
2017-09-07 11:01:12 +08:00
Angus Gratton
4809c70899
Merge branch 'feature/register_heaps_runtime' into 'master'
...
heap: Support adding new heap regions at runtime
See merge request !1159
2017-09-07 10:18:21 +08:00
michael
73ba29e6df
refactor(intr): remove useless tags in the debug log.
2017-09-06 15:20:04 +08:00
michael
c82e51cf79
fix(intr): always assign the same intr to a same source, disable the source only when all the handlers disabled.
...
also document handlers sharing a same source.
TW#13454, https://github.com/nodemcu/nodemcu-firmware/issues/1874
Breaking change: handles assigned to a same source should have the same flag now.
2017-09-06 15:20:01 +08:00
Alexey Gerenkov
5094965e98
According to comments
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
0b09c7006d
pthread: Initial version of thread API
2017-09-06 10:30:23 +08:00
Jeroen Domburg
604308f4ab
Merge branch 'bugfix/soft_reboot_psram' into 'master'
...
Fix rebooting when external RAM is active
See merge request !1207
2017-09-05 15:43:30 +08:00
Angus Gratton
74d5f85c53
Merge branch 'feature/build_warn_undefined_vars' into 'master'
...
Add --warn-undefined-variables to MAKEFLAGS (github #138 )
See merge request !1214
2017-09-05 15:39:48 +08:00
Angus Gratton
8670844acf
build system: Restore ifdef/ifndef in Makefiles, clean up examples build
2017-09-05 16:11:03 +10:00
Deomid Ryabkov
9903ea1c11
Add --warn-undefined-variables to MAKEFLAGS
...
Fix warnings where undefined vars are used.
Make Kconfig emit "FOO=" for unset bool options
To ensure make variables are always defined, even if empty.
When writing auto.conf, include symbols disabled by dependency to make sure all make variables are always defined.
Fixes espressif/esp-idf#137
Cherry-picked from https://github.com/espressif/esp-idf/pull/138
2017-09-05 16:10:46 +10:00
Angus Gratton
5361c08989
heap: Support adding new heap regions at runtime
...
To facilitate this, the list of registered heap regions is now a linked list
(allowing entries to be appended at runtime.)
2017-09-05 14:07:02 +10:00
Ivan Grokhotkov
8433fed7f4
Merge branch 'bugfix/core_dump_loop' into 'master'
...
esp32: Fixes infinite loop caused by exception during core dumping
See merge request !1210
2017-09-05 11:40:31 +08:00
Ivan Grokhotkov
c007213fed
Merge branch 'bugfix/deep_sleep_wakeup_stub' into 'master'
...
deep sleep: don't use protected DPORT access in wake stub
See merge request !1194
2017-09-05 11:22:52 +08:00
Alexey Gerenkov
fb8b0c534a
esp32: Fixes infinite loop caused by exception during core dumping
2017-09-05 11:15:27 +08:00
Jeroen Domburg
0e74ec67be
Fix rebooting when PSRAM is active
2017-09-04 19:00:47 +08:00
Angus Gratton
a19aaf2072
esp32: Update wifi lib to use new spinlock implementation
2017-09-04 19:11:51 +10:00
Jeroen Domburg
34372a091c
Add initial SPI RAM support. This adds support for an ESP-PSRAM32 chip connected to the default flash pins and GPIO 16 and 17. The RAM is mapped to address 0x3F800000, but otherwise ignored by esp-idf as of yet.
2017-09-04 12:05:49 +08:00
Ivan Grokhotkov
b9ff771e2c
deep sleep: don't use protected DPORT access in wake stub
2017-09-01 18:35:42 +08:00
Ivan Grokhotkov
5666fc0a56
Merge branch 'feature/esp_timer_improvements' into 'master'
...
esp_timer improvements
See merge request !1172
2017-09-01 16:14:01 +08:00
Ivan Grokhotkov
f31efb697c
newlib: rename esp_setup_time_syscalls to esp_set_time_from_rtc
...
This function no longer sets up syscalls, and new name reflects its
purpose better.
2017-09-01 10:36:14 +08:00
Ivan Grokhotkov
d2acf1ce77
sleep: add light sleep, factor out APIs common for deep/light sleep
2017-09-01 10:36:14 +08:00
Ivan Grokhotkov
65b046f17f
dport access: introduce pause/resume instead of deinit
2017-09-01 10:36:14 +08:00
Ivan Grokhotkov
06af8cd086
esp_timer: return signed timestamp (int64_t)
...
Since timestamps are 64-bit, loosing one bit of range due to sign does
not present an issue, however for applications doing calculations on
timestamps, signed return type is more convenient.
2017-09-01 10:34:36 +08:00
Ivan Grokhotkov
c5632d3012
esp32: use ref_clock in esp_timer and delay tests
2017-09-01 10:34:36 +08:00
Ivan Grokhotkov
1af6384349
esp_timer: lock-free implementation of esp_timer_get_time
...
The implementation of esp_timer_get_time used a critical section, which
resulted in a call time of ~1.8us. To make esp_timer_get_time more
useable as a high-resolution time source, this change replaces the lock
with polling. Call time is reduced to ~0.7us.
2017-09-01 10:34:36 +08:00
Ivan Grokhotkov
d4e950d311
Merge branch 'feature/cxx_exceptions' into 'master'
...
Partial support for C++ exceptions
See merge request !930
2017-09-01 00:27:41 +08:00
Geza Husi
eb8bd937c6
deep_sleep: RTC-GPIO pin calculation incorrect
...
Merges https://github.com/espressif/esp-idf/pull/822
2017-08-30 17:55:00 +10:00
Lacy Rhoades
c61b3e89f1
Typo fixes
...
Merges https://github.com/espressif/esp-idf/pull/831
2017-08-30 17:55:00 +10:00
Deomid Ryabkov
8c1acb0363
Provide a default for CONFIG_BT_RESERVE_DRAM
...
...when BT is not built
Merges https://github.com/espressif/esp-idf/pull/910
2017-08-30 17:55:00 +10:00
Ivan Grokhotkov
a25eb825e1
Merge branch 'bugfix/dport_protect_crypto' into 'master'
...
add protection for crypto registers in DPORT
See merge request !928
2017-08-30 11:45:35 +08:00
Ivan Grokhotkov
547ef83020
Merge branch 'feature/disable_some_perip_clk_when_cpu_start' into 'master'
...
Disable some peripheral clocks when cpu starts
See merge request !1089
2017-08-30 11:43:38 +08:00
Angus Gratton
1e22bcdfde
esp32: Add KConfig option to disable ROM Console fallback on first boot
2017-08-29 14:52:00 +10:00
XiaXiaotian
4776f73ca4
Disable some peripheral clocks when cpu starts
...
All peripheral clocks are default enabled after chip is powered on.
When CPU starts, if reset reason is CPU reset, disable those clocks
that are not enabled before reset. Otherwise, disable all those
useless clocks.
These peripheral clocks must be enabled when the peripherals are
initialized and disabled when they are deinitialized.
2017-08-29 11:18:42 +08:00
Ivan Grokhotkov
82763a02af
Merge branch 'feature/ets_timer' into 'master'
...
esp_timer: add high-resolution timer api
See merge request !1090
2017-08-28 16:38:11 +08:00
Jeroen Domburg
a589411a3c
Place uart_tx_wait_idle in IRAM
2017-08-28 11:35:27 +08:00
Ivan Grokhotkov
d8b66e5088
soc: release interrupts which are not reserved by timers any more
2017-08-28 11:35:27 +08:00
Ivan Grokhotkov
857a29872d
esp_timer: add high resolution software timer API
2017-08-28 11:35:26 +08:00
Jeroen Domburg
3e4627479b
Place uart_tx_wait_idle in IRAM
2017-08-25 17:46:28 +08:00
Angus Gratton
703d143619
hwcrypto: Fix bug with concurrent SHA access
...
If two different types of SHA hashes were active in the hardware
concurrently, a race condition meant the SHA unit could be incorrectly
reset leading to all-zero results.
2017-08-25 16:08:03 +10:00
Angus Gratton
afb6119504
dport access: Fix WDT bug (permanent locking) in non-pinned tasks
...
If scheduler switches cores in narrow window during esp_dport_access_stall_other_cpu_start(), could cause the stall
interrupt to occur on the running CPU - halting the CPU until WDT cleans up.
Related to https://github.com/espressif/esp-idf/issues/630
2017-08-25 16:08:03 +10:00
Angus Gratton
50e0a54630
esp32 hwcrypto: Use spinlock instead of lock to protect AES
...
More than doubles performance of mbedTLS AES self-tests.
2017-08-25 16:08:03 +10:00
Angus Gratton
2624e10055
esp32 hwcrypto: Use AES registers directly
2017-08-25 16:08:03 +10:00
Angus Gratton
e256fb6d96
hwcrypto: Use DPORT-safe accesses with AES
2017-08-25 16:08:03 +10:00
Angus Gratton
d0c300c52d
hwcrypto: SHA acceleration using safe DPORT reads
2017-08-25 16:08:03 +10:00