Ivan Grokhotkov
512898edee
sdmmc: fix reads/writes to/from unaligned buffers
...
SDMMC hardware treats all buffers as aligned, and ignores 2 LSBs of
addresses written into DMA descriptors. Previously SDMMC host driver
assumed that data buffers passed from SDDMC command layer would be
aligned. However alignment checks were never implemented in the command
layer, as were the checks that the buffer coming from the application
would be in DMA capable memory. Most of the time this was indeed true.
However in some cases FATFS library can pass buffers offset by 2 bytes
from word boundary. “DMA capable” restriction may be broken if pSRAM
support is used.
This change adds buffer checks to the SDMMC host driver (alignment and
DMA capability), so that the host layer will error out for incompatible
buffers. In SDMMC command layer, a check is added to read and write
functions. If an incompatible buffer is passed from the application, new
buffer (512 bytes size) is allocated, and the transfer is performed
using {READ,WRITE}_SINGLE_BLOCK commands.
2017-08-01 03:15:11 +08:00
Jeroen Domburg
9314bf0d37
Merge branch 'bugfix/spi_change_host' into 'master'
...
fix(spi_master): fix the bug that VSPI no respond when host changed from HSPI to VSPI, and vice versa.
See merge request !997
2017-07-31 18:33:36 +08:00
Dmitry Yakovlev
831cc4b42f
Typos correction.
2017-07-31 13:19:41 +03:00
Dmitry Yakovlev
06805842ea
Some typos corrected in readme.
2017-07-31 13:19:38 +03:00
Dmitry Yakovlev
9ebb68c2dc
Added component to change standard size of the flash device. Now the sector size could be less. The configuration supports it.
2017-07-31 13:19:36 +03:00
zhiweijian
6ff53d1967
Component/bt: wrong return code type for notify func
...
- fix esp_ble_gattc_register_for_notify() returen wrong code type
- fix esp_ble_gattc_unregister_for_notify() returen wrong code type
2017-07-31 18:02:15 +08:00
zhiweijian
87d58b9ddb
Component/bt: fix esp_ble_gatts_set_attr_value( ) memory leak
2017-07-31 17:24:07 +08:00
Tian Hao
6afadc3286
component/bt : fix a bug and optimize controller task handler
...
1. fix controller task printf in ISR may cause exception.
2. optimize task handler process.
2017-07-31 14:48:39 +08:00
XiaXiaotian
1c4f7f2081
add get and set wifi maximum transmit power API
2017-07-28 15:06:52 +08:00
Jiang Jiang Jian
a31736990c
Merge branch 'bugfix/btdm_osi' into 'master'
...
component/bt : add osi_is_in_isr && fix vhci delay
See merge request !1054
2017-07-28 11:35:04 +08:00
Jiang Jiang Jian
ff3aa69e76
Merge branch 'feature/tw13968_optimize_for_tcp_close' into 'master'
...
lwip: optimize TCP close
See merge request !1022
2017-07-28 11:34:12 +08:00
Ivan Grokhotkov
3bd6194c58
Merge branch 'feature/docs_jtag_debugging' into 'master'
...
Update and extension of Debugging documentation
See merge request !850
2017-07-27 22:03:45 +08:00
Liu Zhi Fu
4ad1f2b272
lwip: optimize TCP close
...
Optimize TCP close:
1. Not remove TCP pcb when IP address is changed since the lwip netconn still need the pcb
2. If the TCP connection is in TCP_FIN_WAIT_1 for too long time, remove it
2017-07-27 12:44:39 +08:00
Jiang Jiang Jian
843159b0d7
Merge branch 'feature/add_menuconfig_option_for_ba_window' into 'master'
...
esp32: add menuconfig options to configure BA window
See merge request !915
2017-07-27 10:46:04 +08:00
zhiweijian
fc05851b05
Component/bt: add set local privacy func callback
2017-07-26 17:29:10 +08:00
krzychb
1fb85b494c
JTAG Debugging - revamping of Debugging documentation
2017-07-26 14:53:43 +08:00
Ivan Grokhotkov
ee6d0631f4
nghttp: build port directory
...
Fixes https://github.com/espressif/esp-idf/issues/843
2017-07-26 14:27:20 +08:00
Ivan Grokhotkov
002f38fa8f
Merge branch 'feature/sdspi_driver' into 'master'
...
SD SPI mode driver
This MR adds functionality to support SD cards connected via SPI interface.
Additionally, two bugs are fixed:
- Definition of `SPI_TRANS_MODE_DIOQIO_ADDR` in spi_master driver
- SD card probing frequency was 4000kHz instead of 400kHz as required by the standard
See merge request !727
2017-07-26 13:51:37 +08:00
Jiang Jiang Jian
460ab2e33b
Merge branch 'feature/make_tcp_udp_receive_mbox_configurable' into 'master'
...
lwip: Make UDP/TCP receive mail box configurable
See merge request !1051
2017-07-25 20:45:38 +08:00
Tian Hao
b500d6558a
component/bt : add osi_is_in_isr && fix vhci delay
2017-07-25 19:58:39 +08:00
Liu Zhi Fu
7b2f388abc
lwip: Make UDP/TCP receive mail box configurable
...
Different application may require different TCP/UDP receiv mail box size,
so make them configurable.
2017-07-25 13:56:32 +08:00
Liu Zhi Fu
c99c5d13e6
esp32: add menuconfig options to configure BA window
...
Make AMPDU Block Ack Window configurable in menuconfig because we need to configure it
in some special cases, such as iperf test etc
2017-07-25 13:11:38 +08:00
Liu Zhi Fu
9ae5c6700b
lwip/ethernet: fix emac rx buf err
...
1. Lwip not free the ethernet buf in lwip layer
2. Fix emac counter error
2017-07-25 11:19:31 +08:00
Alexey Gerenkov
60c45ae2c4
Updated acc to comments
2017-07-24 20:07:21 +03:00
Alexey Gerenkov
c2c9149a24
esp32: Apptrace API enhancement
...
- User down buffer configuration support
- bugfix: ring buf - avalable write size undeflow
- SysView down buf support updated
2017-07-24 19:57:44 +03:00
Ivan Grokhotkov
6fbd6a007b
Merge branch 'bugfix/uart_tx_glitch' into 'master'
...
bugfix(uart): fix signal glitch on tx pin
See merge request !1032
2017-07-24 19:43:25 +08:00
Ivan Grokhotkov
967611cfaa
Revert "bootloader: Add option to build with Link Time Optimisation enabled"
...
This reverts commit d1b66a08c1
.
2017-07-24 05:14:31 +08:00
qianyicheng
acec9b9d35
bugfix(ledc): fix integer divided by zero in function ledc_set_fade_with_time
2017-07-21 19:06:44 +08:00
michael
99769f0b00
fix(spi_master): fix the bug that VSPI no respond when host changed
...
from HSPI to VSPI, and vice versa.
fix the SPI control bits written wrong in the headers.
TW#12123, Github#477
2017-07-21 14:50:17 +08:00
Tian Hao
63566f6650
component/bt : fix RX packets losing bug
2017-07-20 15:53:01 +08:00
Jiang Jiang Jian
8fd6ab9a39
Merge branch 'feature/btdm_ble_tx_power_new' into 'master'
...
component/bt : add ble tx power && fix controller deinit mem leak
See merge request !1018
2017-07-20 15:16:13 +08:00
Wangjialin
9d466de235
bugfix(uart): fix signal glitch on tx pin
...
gpio_matrix_out function will set output enable for GPIO, seems in gpio_matrix_out there will be a short moment that the chip will output GPIO level.
So we can set GPIO as high before gpio_matrix_out function.
2017-07-20 14:34:11 +08:00
Ivan Grokhotkov
292c2abd3b
Merge branch 'bugfix/init_nvs_in_bluetooth' into 'master'
...
bt: call nvs_flash_init in examples, show error if NVS is not initialized
See merge request !1003
2017-07-20 14:25:49 +08:00
Dmitry Yakovlev
e5bb45f381
driver: SD protocol driver for SPI peripheral
2017-07-20 13:43:07 +08:00
Ivan Grokhotkov
5f8785eaec
sdmmc: add support for SPI protocol commands
2017-07-20 13:34:21 +08:00
Ivan Grokhotkov
3b96771feb
sdmmc: fix probing clock frequency
...
Probing clock frequency should be 400kHz, not 4MHz.
2017-07-20 13:34:21 +08:00
Ivan Grokhotkov
54dc350907
spi_master: fix duplicate bit mask for SPI_TRANS_MODE_DIOQIO_ADDR
2017-07-20 13:34:21 +08:00
Angus Gratton
eeb8dc9c35
aws_iot: Expose common SDK compile-time configuration in menuconfig
...
Closes https://github.com/espressif/esp-idf/issues/637
2017-07-20 15:28:29 +10:00
Ivan Grokhotkov
b9f660524c
Merge branch 'bugfix/exception_lomem_heap_init' into 'master'
...
heap_caps: Allow for possibility a region is too small to register a heap
See merge request !1024
2017-07-20 12:13:12 +08:00
Angus Gratton
871ba41a09
bootloader: Remove unnecessary KEEP on data/bss sections, save static RAM
2017-07-19 18:31:59 +10:00
Angus Gratton
d1b66a08c1
bootloader: Add option to build with Link Time Optimisation enabled
2017-07-19 18:31:59 +10:00
Angus Gratton
17adb40ca8
bootloader: Calculate SHA256 hash of image on every boot
...
Makes app image booting more reliable (256-bit rather than 8-bit verification.)
Some measurements, time to boot a 655KB app.bin file and run to app_main() execution.
(All for rev 1 silicon, ie no 340ms spurious WDT delay.)
80MHz QIO mode:
before = 300ms
after = 140ms
40MHz DIO mode:
before = 712ms
after = 577ms
40MHz DIO mode, secure boot enabled
before = 1380ms
after = 934ms
(Secure boot involves two ECC signature verifications (partition table, app) that take approx 300ms each with 80MHz CPU.)
2017-07-19 18:31:59 +10:00
Angus Gratton
caaa29c676
esp_image_format: ESP32 additional header does not contain an encrypt flag
2017-07-19 18:25:17 +10:00
Angus Gratton
43b99edf2b
bootloader: Calculate SHA-256 of image while loading/verifying
2017-07-19 18:25:17 +10:00
Angus Gratton
8f6134dd96
bootloader: Obfuscate loaded memory until verification is complete
2017-07-19 18:25:17 +10:00
Angus Gratton
0c8888d68f
bootloader: Combine loading from flash & verifying to save boot time
...
Still needs updating to account for secure boot.
2017-07-19 18:25:17 +10:00
Angus Gratton
105c4b7386
Merge branch 'feature/esptool_image_padding' into 'master'
...
esptool: Optimise app image size by using RAM-loaded data for padding
See merge request !1017
2017-07-19 15:52:22 +08:00
Angus Gratton
2d9770fd00
linker script: Add some comments about significance of 0x18 byte offset
2017-07-19 17:38:05 +10:00
Angus Gratton
0feb40833a
heap_caps: Allow for possibility a region is too small to register a heap
...
May happen due to sdkconfig, static allocation of RAM.
Closes https://github.com/espressif/esp-idf/issues/802
2017-07-19 17:24:24 +10:00
Angus Gratton
c230e4280c
linker scripts: Limit DROM/IROM section lengths correctly
2017-07-19 16:33:48 +10:00
Angus Gratton
d92c541b1a
esptool: Optimise generated image size by using RAM-loaded data for padding
...
Can save almost 128KB from some images.
2017-07-19 16:24:17 +10:00
Angus Gratton
ec64fa3416
bootloader flash QIO mode: Restore DIO/DOUT mode if enabling quad fails
...
Previously, flash was degraded to single I/O mode.
2017-07-19 15:04:09 +10:00
Angus Gratton
0715d1f8c1
bootloader: When customising SPI flash pins in efuse, set WP pin in menuconfig
...
Allows custom configurations for QIO/QOUT mode.
2017-07-19 15:04:08 +10:00
Wangjialin
c30149e4bd
feature(gpio): add APIs to set and get pad drive capability. RTC pads use RTC registers to contol drive capability.
2017-07-19 11:23:41 +08:00
Angus Gratton
d664e32394
build system: Use component.mk for all components, refactor bootloader build
...
For config-only components, component.mk should now contain "COMPONENT_CONFIG_ONLY := 1"
Also refactored some of the generation of linker paths, library list. This required cleaning up the way the bootloader
project works, it's now mostly independent from the parent.
2017-07-19 09:10:48 +10:00
Tian Hao
006a90e075
component/bt : add ble tx power && fix controller deinit mem leak
...
1. add ble tx power functions
2. add more osi functions.
3. modify bluetooth controller task procedure
4. fix a memory leak when controller deinit
5. add controller disable return value.
2017-07-18 20:22:28 +08:00
Ivan Grokhotkov
aef5e90cce
Merge branch 'feature/mmap_unordered_flash_pages' into 'master'
...
Add function to map non-contiguous flash pages to contiguous memory space.
See merge request !873
2017-07-18 10:49:12 +08:00
Ivan Grokhotkov
0ae916d555
Merge branch 'feature/high_level_interrupts' into 'master'
...
Break out high-level interrupts so a component can override them
See merge request !675
2017-07-18 10:42:31 +08:00
Angus Gratton
4029ed1df4
Merge branch 'bugfix/rom_gpio_typo' into 'master'
...
bugfix(typo): fix typo in rom/gpio.h
See merge request !1009
2017-07-18 06:53:30 +08:00
Ivan Grokhotkov
979fce0df5
bt: call nvs_flash_init in examples, show error if NVS is not initialized
...
NVS is used to store PHY calibration data, WiFi configuration, and BT
configuration. Previously BT examples did not call nvs_flash_init,
relying on the fact that it is called during PHY init. However PHY init
did not handle possible NVS initialization errors.
This change moves PHY init procedure into the application, and adds
diagnostic messages to BT config management routines if NVS is not
initialized.
2017-07-17 21:29:50 +08:00
Ivan Grokhotkov
fd2d53fca6
Merge branch 'bugfix/wl_write' into 'master'
...
wear_levelling: fix write and read length for single access was wrong.
See merge request !993
2017-07-17 18:31:27 +08:00
Dmitry Yakovlev
b36e580756
wear_levelling: fix write and read length for single access was wrong.
2017-07-17 12:00:40 +03:00
Wangjialin
10340d718f
bugfix(typo): fix typo in rom/gpio.h
2017-07-17 15:41:02 +08:00
Angus Gratton
c2e6e10dcc
Merge branch 'bugfix/nghttp2_build_submodules' into 'master'
...
nghttp2: Add submodule to COMPONENT_SUBMODULES, update to v1.24
See merge request !977
2017-07-17 14:14:28 +08:00
Angus Gratton
e50870c2dc
Merge branch 'bugfix/bootloader_stack_smash' into 'master'
...
Fix crashes when >approx 185KB of DRAM is statically allocated
See merge request !983
2017-07-17 14:11:35 +08:00
Angus Gratton
f824829a13
Merge branch 'bugfix/dont_link_unused_data_sections' into 'master'
...
ld: Save RAM by removing unused .data sections at link time
See merge request !985
2017-07-17 14:10:12 +08:00
Jiang Jiang Jian
4ec2abbf23
Merge branch 'feature/some_refactor_for_tcpip_adapter' into 'master'
...
tcpip_adapter: not remove netif when tcpip adapter is stopped
See merge request !943
2017-07-13 22:16:00 +08:00
Jiang Jiang Jian
5ac0503ce7
Merge branch 'bugfix/btdm_modify_BTA_GATTC_KNOWN_SR_MAX_for_Multi-connection' into 'master'
...
component/bt: modify BTA_GATTC_KNOWN_SR_MAX for Multi-connection bug
See merge request !992
2017-07-13 21:55:24 +08:00
Liu Zhi Fu
d724cc23d2
tcpip_adapter: not free netif when tcpip adapter is stopped
...
When tcpip adapter is stop, don't free the netif
2017-07-13 18:42:45 +08:00
Angus Gratton
399ec29a68
Merge branch 'feature/silent_assertions' into 'master'
...
Add "silent" assertion option
See merge request !984
2017-07-13 17:21:09 +08:00
zhiweijian
ca3bf570cd
Component/bt: modify BTA_GATTC_KNOWN_SR_MAX for Multi-connection bug
2017-07-13 16:22:44 +08:00
Angus Gratton
1ed4eadfab
Merge branch 'bugfix/mbedtls_ecp_failure_memory_leak' into 'master'
...
mbedtls: Fix memory leak in initial ECDH exchange if OOM/failure occurs
See merge request !987
2017-07-13 15:39:40 +08:00
Ivan Grokhotkov
0c28b3bc4c
Merge branch 'bugfix/btdm_update_connect_params_for_gattc' into 'master'
...
component/bt: bugfix update connect params for gattc
See merge request !991
2017-07-13 14:32:20 +08:00
Jiang Jiang Jian
fc4d3df890
Merge branch 'bugfix/tw13744_make_low_rate_work' into 'master'
...
esp32: update wifi lib to make low rate work
See merge request !965
2017-07-13 14:26:02 +08:00
Ivan Grokhotkov
7fc25f18d2
Merge branch 'feature/enable_brownout_detector' into 'master'
...
Enable brownout detector
See merge request !811
2017-07-13 11:40:37 +08:00
Angus Gratton
8cd03c84d0
Merge branch 'feature/ip_route_base_on_source_ip' into 'master'
...
Broadcast IP route based on source IP address.
See merge request !942
2017-07-12 17:31:24 +08:00
Angus Gratton
7b565e4b25
assertions: Add "silent" option
...
Reduces assertion codesize overhead by approximately 35%
2017-07-12 17:29:26 +08:00
Angus Gratton
d8d2933bde
Merge branch 'bugfix/gdbstub_handler_noreturn' into 'master'
...
gdbstub: Mark the panic handler entry as noreturn
See merge request !975
2017-07-12 17:23:59 +08:00
Angus Gratton
ffefeef5ea
mbedtls: Fix memory leak in initial ECDH exchange if OOM/failure occurs
...
In ecp_mul_comb(), if (!p_eq_g && grp->T == NULL) and ecp_precompute_comb() fails (which can happen due to OOM), then the new array of points T was leaked.
2017-07-12 16:34:26 +08:00
Angus Gratton
cfbb1a652b
Merge branch 'doc/esp_random' into 'master'
...
esp_random: Add some documentation about using before RF subsystem is on
See merge request !976
2017-07-12 16:18:43 +08:00
Angus Gratton
99fe61716c
startup: Add assertion checks around various initialisation sequences
...
These may fail if close to 192KB of static RAM is allocated (remaining early heap RAM is too small.)
2017-07-12 13:06:56 +08:00
Angus Gratton
2b0f623259
bootloader/early boot: Error out if >192KB of static DRAM is allocated (temporary fix)
...
Currently the last 128KB of DRAM is reserved for the bootloader & early boot stacks. This means if >192KB of static DRAM
is allocated, the only available heap is this region - which is disabled until the scheduler starts. As a result, you
get either heap corruption on early boot if the static data overlaps startup heap (leading to very weird errors), or
FreeRTOS will fail to start when it can't malloc() anything.
Long term fix is to move the stacks & bootloader data to the very end of RAM, and only reserve that part for early
boot. This is a little fiddly because of also wanting to make sure this memory is not preemptively fragmented when it
gets reintroduced to the heap. This will become more important if/when we have more static allocation options in the
future.
For now, these errors make it clear why the boot has failed.
Ref TW13909
2017-07-12 13:06:56 +08:00
Angus Gratton
187b5fb888
ld: Remove unused .data sections at link time
...
Reduces static RAM, code size.
2017-07-12 13:05:54 +08:00
Angus Gratton
083f7d667b
nghttp2: Add submodule to COMPONENT_SUBMODULES, update to release v1.24
...
Removes need for -DNDEBUG hack in component.mk (fixed upstream).
2017-07-12 11:16:55 +08:00
Angus Gratton
d601bedb85
pvPortMalloc: Fix regression when changing to new heap implementation
2017-07-12 11:10:11 +08:00
Angus Gratton
7ae93f271c
Merge branch 'feature/multi_heap' into 'master'
...
Separate the heap implementation from FreeRTOS
See merge request !731
2017-07-12 10:53:37 +08:00
Angus Gratton
3ad163e644
freertos: Bump idle stack size to 1KB, min stack to 768 bytes, make configurable
...
Reverts regression mentioned at
3fe0022efa (commitcomment-23013504)
2017-07-11 14:48:15 +08:00
Angus Gratton
3bb90bab97
esp_random: Add some documentation about using before RF subsystem is on
2017-07-11 14:27:20 +08:00
zhiweijian
8460f1a972
Component/bt: bugfix update connect params for gattc
2017-07-11 11:27:36 +08:00
Angus Gratton
c049cd55a6
gdbstub: Mark the panic handler entry as noreturn
...
Fixes a warning in panic.c when this panic mode is enabled.
2017-07-11 10:18:08 +08:00
Angus Gratton
ad60c30de0
heap: Rename memory "tags" to "types" to avoid confusion w/ old tag allocator API
2017-07-10 17:46:03 +08:00
Angus Gratton
8d7074ed5c
soc: Move esp_ptr_dma_capable() function to soc_memory_layout.h
2017-07-10 17:46:03 +08:00
Angus Gratton
71c70cb15c
heap: Refactor heap regions/capabilities out of FreeRTOS
...
Remove tagged heap API, rename caps_xxx to heap_caps_xxx
Also includes additional heap_caps_xxx inspection functions.
2017-07-10 17:46:03 +08:00
Angus Gratton
5ee49fd311
heap: Add new multi_heap heap implementation to replace FreeRTOS-based tagged heaps
2017-07-10 17:46:03 +08:00
Ivan Grokhotkov
01b185977c
brownout detector: enable by default
...
Because of errata related to BOD reset function, brownout is handled as follows:
- attach an ISR to brownout interrupt
- when ISR happens, print a message and do a software restart
- esp_restart_nonos enables RTC watchdog, so if restart fails,
there will be one more attempt to restart (using the RTC
watchdog)
2017-07-10 17:25:55 +08:00
Ivan Grokhotkov
780569c04a
esp32: fix RTC watchdog configuration in esp_restart
...
RTC watchdog didn’t have any actions configured for any of the stages.
This change configures it to use SW_SYSTEM_RESET at stage 0 and a
full reset at stage 1. The timeout is now calculated based on
RTC_SLOW_CLK frequency.
2017-07-10 17:21:49 +08:00
Ivan Grokhotkov
cbe23147bf
driver/rtc: add support for attaching handlers to RTC_CNTL interrupts
2017-07-10 17:21:49 +08:00
Liu Zhi Fu
e1f13eda49
esp32: update wifi lib to make low rate work
...
Make low rate work
2017-07-07 22:05:54 +08:00
Tian Hao
7a79d31db0
fix reg operation missing
2017-07-07 20:04:24 +08:00
Jeroen Domburg
d3290479b2
Merge panic and dport high level interrupt code to both use int level 4
2017-07-07 12:51:33 +08:00