Polling SPI Inside Timer Interrupt

e2738729
Posts: 35
Joined: Mon Nov 05, 2018 6:22 pm

Polling SPI Inside Timer Interrupt

Postby e2738729 » Wed Feb 27, 2019 3:18 am

Hi everyone,

I have a conceptual question that hopefully you could help me figure out. I am not sure sharing my codes is a good idea since it spans 3 C files and 3 H files. But anyway here is the symptom:

I have a timer interrupt that runs at 500 Hz. Whenever I have a SPI polling program inside the interrupt, the esp32 crash and display the following on the monitor:

Code: Select all

Toolchain path: /home/khoi/esp/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Toolchain version: crosstool-ng-1.22.0-80-g6c4433a
Compiler version: 5.2.0
Python requirements from /home/khoi/esp/esp-idf/requirements.txt are satisfied.
MONITOR
--- idf_monitor on /dev/ttyUSB1 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
 fini�ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:8500
load:0x40078000,len:11960
load:0x40080400,len:7060
entry 0x400807a0
D (61) bootloader_flash: mmu set block paddr=0x00000000 (was 0xffffffff)
I (39) boot: ESP-IDF v3.3-beta1-324-g2790d4a 2nd stage bootloader
I (39) boot: compile time 19:37:09
D (39) boot: Enabling RTCWDT(9000 ms)
I (52) boot: Enabling RNG early entropy source...
D (52) boot: magic e9
D (52) boot: segments 04
D (53) boot: spi_mode 02
D (56) boot: spi_speed 00
D (59) boot: spi_size 02
I (61) boot: SPI Speed      : 40MHz
I (65) boot: SPI Mode       : DIO
I (69) boot: SPI Flash Size : 4MB
D (73) bootloader_flash: mmu set paddr=00000000 count=1 size=c00 src_addr=8000 src_addr_aligned=0
D (82) boot: mapped partition table 0x8000 at 0x3f408000
D (88) flash_parts: partition table verified, 4 entries
I (93) boot: Partition Table:
I (97) boot: ## Label            Usage          Type ST Offset   Length
D (104) boot: load partition table entry 0x3f408000
D (109) boot: type=1 subtype=2
I (112) boot:  0 nvs              WiFi data        01 02 00009000 00006000
D (120) boot: load partition table entry 0x3f408020
D (125) boot: type=1 subtype=1
I (128) boot:  1 phy_init         RF data          01 01 0000f000 00001000
D (135) boot: load partition table entry 0x3f408040
D (140) boot: type=0 subtype=0
I (143) boot:  2 factory          factory app      00 00 00010000 00100000
I (151) boot: End of partition table
D (155) boot: Trying partition index -1 offs 0x10000 size 0x100000
D (161) esp_image: reading image header @ 0x10000
D (166) bootloader_flash: mmu set block paddr=0x00010000 (was 0xffffffff)
D (173) esp_image: image header: 0xe9 0x06 0x02 0x01 40081218
I (179) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x1cd80 (118144) map
D (188) bootloader_flash: mmu set paddr=00010000 count=2 size=1cd80 src_addr=10020 src_addr_aligned=10000
D (239) bootloader_flash: mmu set block paddr=0x00020000 (was 0xffffffff)
I (239) esp_image: segment 1: paddr=0x0002cda8 vaddr=0x3ffb0000 size=0x031e8 ( 12776) load
D (243) bootloader_flash: mmu set paddr=00020000 count=1 size=31e8 src_addr=2cda8 src_addr_aligned=20000
D (258) bootloader_flash: mmu set block paddr=0x00020000 (was 0xffffffff)
I (260) esp_image: segment 2: paddr=0x0002ff98 vaddr=0x40080000 size=0x00078 (   120) load
0x40080000: _WindowOverflow4 at /home/khoi/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

D (269) bootloader_flash: mmu set paddr=00020000 count=2 size=78 src_addr=2ff98 src_addr_aligned=20000
D (278) bootloader_flash: mmu set block paddr=0x00030000 (was 0xffffffff)
I (285) esp_image: segment 3: paddr=0x00030018 vaddr=0x400d0018 size=0x6b454 (439380) map
0x400d0018: _stext at ??:?

D (294) bootloader_flash: mmu set paddr=00030000 count=7 size=6b454 src_addr=30018 src_addr_aligned=30000
D (457) bootloader_flash: mmu set block paddr=0x00090000 (was 0xffffffff)
I (458) esp_image: segment 4: paddr=0x0009b474 vaddr=0x40080078 size=0x00388 (   904) load
0x40080078: _xt_alloca_exc at /home/khoi/esp/esp-idf/components/freertos/xtensa_vectors.S:1841

D (462) bootloader_flash: mmu set paddr=00090000 count=1 size=388 src_addr=9b474 src_addr_aligned=90000
D (472) bootloader_flash: mmu set block paddr=0x00090000 (was 0xffffffff)
I (478) esp_image: segment 5: paddr=0x0009b804 vaddr=0x40080400 size=0x12674 ( 75380) load
D (487) bootloader_flash: mmu set paddr=00090000 count=2 size=12674 src_addr=9b804 src_addr_aligned=90000
D (528) bootloader_flash: mmu set block paddr=0x000a0000 (was 0xffffffff)
D (528) esp_image: Calculated hash: 97de951fd0471d655e356638f626a26ce3aa73e00461abaa24eb022c0e3ebf31
D (533) bootloader_flash: mmu set paddr=000a0000 count=1 size=20 src_addr=ade80 src_addr_aligned=a0000
D (543) bootloader_flash: mmu set paddr=000a0000 count=1 size=20 src_addr=ade80 src_addr_aligned=a0000
I (563) boot: Loaded app from partition at offset 0x10000
I (563) boot: Disabling RNG early entropy source...
D (563) boot: Mapping segment 0 as DROM
D (567) boot: Mapping segment 3 as IROM
D (571) boot: calling set_cache_and_start_app
D (576) boot: configure drom and irom and start
D (580) boot: start: 0x40081218
0x40081218: call_start_cpu0 at /home/khoi/esp/esp-idf/components/esp32/cpu_start.c:121

I (584) cpu_start: Pro cpu up.
I (587) cpu_start: Application information:
I (592) cpu_start: Project name:     ESP_ADS_WLAN
I (597) cpu_start: App version:      1
I (602) cpu_start: Compile time:     19:37:08
I (607) cpu_start: Compile date:     Feb 26 2019
I (612) cpu_start: ESP-IDF:          v3.3-beta1-324-g2790d4a
I (619) cpu_start: Starting app cpu, entry point is 0x400811c4
0x400811c4: call_start_cpu1 at /home/khoi/esp/esp-idf/components/esp32/cpu_start.c:265

I (0) cpu_start: App cpu up.
I (629) heap_init: Initializing. RAM available for dynamic allocation:
I (636) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (642) heap_init: At 3FFD0928 len 0000F6D8 (61 KiB): DRAM
I (648) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (654) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (661) heap_init: At 40092A74 len 0000D58C (53 KiB): IRAM
I (667) cpu_start: Pro cpu start user code
I (14) esp_core_dump: Init core dump to UART
E (15) esp_core_dump: No core dump partition found!
I (15) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (85) tcp_perf:: ESP_WIFI_MODE_STA
I (105) wifi: wifi driver task: 3ffd7c94, prio:23, stack:3584, core=0
I (105) wifi: wifi firmware version: 6b5b696
I (105) wifi: config NVS flash: enabled
I (105) wifi: config nano formating: disabled
I (115) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (125) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (155) wifi: Init dynamic tx buffer num: 32
I (155) wifi: Init data frame dynamic rx buffer num: 32
I (155) wifi: Init management frame dynamic rx buffer num: 32
I (155) wifi: Init static rx buffer size: 1600
I (165) wifi: Init static rx buffer num: 10
I (165) wifi: Init dynamic rx buffer num: 32
I (325) phy: phy_version: 4100, 6fa5e27, Jan 25 2019, 17:02:06, 1, 0
I (325) wifi: mode : sta (30:ae:a4:bc:0f:cc)
I (325) tcp_perf:: wifi_init_sta finished.
I (335) tcp_perf:: connect to ap SSID:ESP32 2.4 password:Cao5566thU 

I (455) wifi: new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (1435) wifi: state: init -> auth (b0)
I (1435) wifi: state: auth -> assoc (0)
I (1455) wifi: state: assoc -> run (10)
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.
Core 0 register dump:
PC      : 0x40084cf9  PS      : 0x00060031  A0      : 0x80084e8f  A1      : 0x3ffb0d60  
0x40084cf9: spi_device_polling_start at /home/khoi/esp/esp-idf/components/driver/spi_master.c:547

A2      : 0x00000000  A3      : 0x3ffb0db0  A4      : 0xffffffff  A5      : 0x3ffd7b60  
A6      : 0x3ffd13d0  A7      : 0x00000000  A8      : 0x3ffd67f0  A9      : 0x00000000  
A10     : 0x0000000a  A11     : 0x3ffd7b40  A12     : 0x8010962f  A13     : 0x3ffd7b30  
A14     : 0x3ffcdd64  A15     : 0x3ffd13ec  SAR     : 0x0000001b  EXCCAUSE: 0x0000001c  
EXCVADDR: 0x00000040  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0xffffffff  
Core 0 was running in ISR context:
EPC1    : 0x40084cf9  EPC2    : 0x00000000  EPC3    : 0x00000000  EPC4    : 0x00000000
0x40084cf9: spi_device_polling_start at /home/khoi/esp/esp-idf/components/driver/spi_master.c:547


Backtrace: 0x40084cf9:0x3ffb0d60 0x40084e8c:0x3ffb0d90 0x400d2f71:0x3ffb0db0 0x400d30b2:0x3ffb0e00 0x400d3179:0x3ffb0e30 0x4008257d:0x3ffb0e50 0x401085b4:0x3ffd7ad0 0x40086ba5:0x3ffd7af0 0x401091ba:0x3ffd7b30 0x4010962c:0x3ffd7b60 0x40109969:0x3ffd7b90 0x4008847d:0x3ffd7bc0 0x4008fc9d:0x3ffd7c00
0x40084cf9: spi_device_polling_start at /home/khoi/esp/esp-idf/components/driver/spi_master.c:547

0x40084e8c: spi_device_polling_transmit at /home/khoi/esp/esp-idf/components/driver/spi_master.c:547

0x400d2f71: ADS1256_REG at /home/khoi/esp/workspace/ESP_ADS_WLAN/main/adc_collector.c:61

0x400d30b2: ADS1256_Collect at /home/khoi/esp/workspace/ESP_ADS_WLAN/main/adc_collector.c:162 (discriminator 2)

0x400d3179: timer_isr at /home/khoi/esp/workspace/ESP_ADS_WLAN/main/adc_collector.c:117

0x4008257d: _xt_lowint1 at /home/khoi/esp/esp-idf/components/freertos/xtensa_vectors.S:1154

0x401085b4: esp_wifi_internal_set_msdu_lifetime at ??:?

0x40086ba5: lmacTxFrame at ??:?

0x401091ba: esp_wifi_internal_set_msdu_lifetime at ??:?

0x4010962c: lmacProcessAckTimeout at ??:?

0x40109969: lmacProcessTxComplete at ??:?

0x4008847d: ppTask at ??:?

0x4008fc9d: vPortTaskWrapper at /home/khoi/esp/esp-idf/components/freertos/port.c:403


I (1523) esp_core_dump: Press Enter to print core dump to UART...
I (1529) esp_core_dump: Print core dump to uart...
================= CORE DUMP START =================
7BsAAAEAAAAJAAAAZAEAAA==
sBX9P5De/T+43/0/
kN79P1Df/T8AAAAAdDz7P3Q8+z+wFf0/bDz7PxQAAAAAAAAAAAAAALAV/T8AAAAA
BQAAALzP/T90Y3BfY29ubgAAAAAAAAAA////f7jf/T8AAAAAIAQGAAUAAAACAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA=
oPwIgPDe/T8MMEA/AAAAANDe/T+w3v0/DAAAAAAAAAAAAAAANC0NQAAAAADDBQAA
DDBAPyMPBgAAAAAAAAAAABgwQD8fAAAAAQAAAAUAAAAAAAAAMN/9PzQtDUAAAAAA
AAAAAAAAAAAAAAAAAAAAAMAR/D8AAAAAAAAAAAAAAAAjAAYAsBX9PwAAAAAAAAAA
AAAAAFDf/T8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAABc3/0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAA=
WC79P7As/T9QLv0/
sCz9P/At/T9WCPJYzDP9PxA8+z9YLv0/CDz7PxkAAACEkNa3+dVlYVgu/T8AAAAA
AAAAAFQq/T9JRExFMADx9LCElA8864AAAAAAAFAu/T8AAAAAIwAGAAAAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAHa/4=
GCMIQHqjE0AwDQYASicNgHAt/T8AAAAAAQAAAAAAAAABAAAAAwAAACMIBgASJg2A
QC39PwAAAABELAhAIA0GAAEAAAAgDQYAAQAAAAAAAABgYPs/AAAAAAAAAAAAAAAA
AAAAABglCEABAAAAtBsJQGBg+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAACUDAlAAAAAAAAAAACgDAmAkC39PwgAAAAAAAAA
AAAAAAEAAAADAAAAIwgGAKD8CICwLf0/AAAAAAAAAAABAAAAAQAAACEABgAAAAAA
AAAAANAt/T+UDAlAAAAAACMABgDEM/0/AAAAAAEAAAAAAAAA8C39PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwt/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
xDP9PxAy/T+8M/0/
EDL9P1Az/T/MraC7EDz7P2Au/T/EM/0/CDz7PxkAAAD9mw+NJ1KT6sQz/T8AAAAA
AAAAAMAv/T9JRExFMQAi37LJMMURA7EAAQAAALwz/T8AAAAAIQAGAAAAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAACuRPc=
GCMIQHqjE0AwDwYASicNgNAy/T8AAAAAAQAAgAAAAAABAAAAAwAAACMABgASJg2A
oDL9PwAAAAAjCgYAIAoGAAEAAAAgCgYA8EH9PwAAAAAHJg2AgDL9PwAAAAAAAAAA
AAAAABglCEABAAAAtBsJQMBl+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAACAKBgABAAAAIAoGAPBB/T+gDAmA8DL9PwgAAAABAAAA
AAAAAAEAAAADAAAAIwAGAKD8CIAQM/0/AAAAAAAAAAABAAAAAQAAACEABgAAAAAA
AAAAADAz/T+UDAlAAAAAACMABgBYLv0/AAAAAAEAAAAAAAAAUDP9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwz/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
FFP9PwBR/T8MU/0/
AFH9P6BS/T+PAAAA/Dv7P/w7+z8UU/0/9Dv7PwcAAABoSP0/aEj9PxRT/T9gSP0/
EgAAABBJ/T90aVQAZAcAIAAABMAAEAQA////fwxT/T8AAAAAIQAGABIAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAKAAI=
GCMIQP36CEAwDwYAJB0TgMBR/T88SP0/UFL9P4RI/T8AAAAAAQAAAAH9///9+giA
oFH9PwEAAAAKAAAAAD77P/RH/T8AAAAAAAAAAAAAAAD8BP0/AAAAAODCAED2wgBA
/////xglCED0R/0/tBsJQBCF+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAP1UEoDQUf0/ZAAAAOhUEkApVRKAAFL9PzBI/T9QUv0/
AAAAAIUAAADcf0E/9Ef9PwoAAADMR/0/AAAAAAAAAAAvVRKAEFL9PwAAAADoVBJA
YwkSgDBS/T/o+fw/UFL9P2MJEoAwUv0/6Pn8P1BS/T9kAAAAhQAAAAMAAAAjCAYA
oPwIgFBS/T/0dBJAAAAAACMABgABAAAAIQAGACMGBgAAAAAAgFL9P0gJEkAAAAAA
AAAAAAAAAAAAAAAAAAAAACMABgAUU/0/AAAAAAAAAAAAAAAAoFL9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKxS/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
JD79P3A8/T8cPv0/
cDz9P7A9/T8AAAAA6Dv7P+g7+z8kPv0/4Dv7PxgAAABYNf0/WDX9PyQ+/T9QNf0/
AQAAACA2/T9UbXIgU3ZjANRfboPgxUUAAAAAABw+/T8AAAAAIQAGAAEAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAACIMV4=
GCMIQGgZCUAwCAYAWxoJgDA9/T8IPvs/AAAAAAEAAAABAAAAIQAGAAAAAABoGQmA
ED39PwAAAABgO/s/dDX9PwAAAAAAAAAAIwAGAAAAAAClpaWlpaWlpQAAAAAAAAAA
AAAAABglCEAAAAAAtBsJQCBw+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAABMGglAAAAAAAAAAACg/AiAYD39PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkD39P0waCUAAAAAA
AQAAAAAAAAAAAAAAAAAAACMABgDsKP0/AAAAAAEAAAAAAAAAsD39PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALw9/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
oBH9P/AP/T+YEf0/
8A/9PzAR/T94Don8hGX9P2z++j+gEf0/hDv7PwEAAAB0Df0/dA39P6AR/T9sDf0/
GAAAAJwN/T9pcGMxAHE9aSVD/ZTAdU0AAQAAAJgR/T8AAAAAIQAGABgAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABwk8Q=
GCMIQP36CEAwAQYAiyEIgLAQ/T9IDf0/AAAAAJAN/T8AAAAAAQAAAAAAAAD9+giA
kBD9PwEAAAD8Pfs/AD77PwoAAAAAAIAAHAD0PwAAAACgQ/s/AAAAAAAAAAAAAAAA
AAAAABglCEAKAAAAtBsJQKBD+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAIAEGACMABgCg/AiA8BD9PwEAAAC8NQhA
AAAAABEAAAAAAIAAHAD0P//////wEP0/AQAAALw1CECQDf0/AAAAAAEAAAAAAAAA
AAAAABAR/T9cIQhAAQAAAAEAAACgEf0/AAAAAAAAAAAAAAAAMBH9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAABgSCICAff4/KAAAACgAAAAAAAAAAAAAADwR/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
fGX9P6Bj/T90Zf0/
oGP9PxBl/T8CIQQABPv6P6gR/T98Zf0/hDv7PwUAAABQVf0/UFX9P3xl/T9IVf0/
FAAAAHhb/T9ldmVudFRhc2sAAAAAIEAAAAAAAHRl/T8AAAAAIQAGABQAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABQAUM=
GCMIQP36CEAwCwYAvqwOgGBk/T8kVf0/oGT9P2xV/T8AAAAAAQAAACBV/T/9+giA
QGT9PwAAAAD8Pfs//D37P0Am/T8AAAAAAAAAAAAAAAABAAAAAQAAAODCAED2wgBA
/////xglCEBAJv0/tBsJQICX+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCupLyg/AiAoGT9PwAAAAAAAAAA
AAAAABwAAAAAAAAAAAAAAP////+gZP0/AAAAAAAAAABsVf0/AAAAAERb/T8gVf0/
AAAAAPBk/T+srA5AAAAAAAIAAACkAAAAvAAAAA8AAADMAAAAcHv9PwEAAAD8xvw/
LnMPgHB7/T8AAAAA/Mb8PyMABgB8Zf0/AAAAAAAAAAAAAAAAEGX9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxl/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
/Pr6P1D5+j/0+vo/
UPn6P5D6+j81xZ6UjDv7P4Rl/T/8+vo/hDv7PwMAAAB86vo/fOr6P/z6+j906vo/
FgAAAPjq+j9lc3BfdGltZXIAEnIOcQMAAAAAAPT6+j8AAAAAIQAGABYAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAVUZ8=
GCMIQP36CEAwAwYAmx8NgBD6+j9Q6vo/AAAAAJjq+j8AAAAAAQAAAAAAAAD9+giA
8Pn6PwAAAAD8Pfs//D37P/AL/T8DAAAAIw4GAAAAAAA0+AiA0Pn6P+DCAED2wgBA
/////xglCEDwC/0/tBsJQAAt+T8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAOzq+j8AAAAAAAAAAAAAAACg/AiAUPr6PwAAAAAAAAAA
AAAAAIoAAAADAAAAIw4GAP////9Q+vo/AAAAAAAAAACY6vo/AAAAAFDq+j8AAAAA
AAAAAHD6+j+IHw1AAAAAACMABgD8+vo/AAAAAAEAAAAAAAAAkPr6PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJz6+j8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ZP76P6AL/T9ADf0/
oAv9P+AM/T9O+GxJqBH9P4w7+z9k/vo/hDv7PwEAAAA8/vo/PP76P2T++j80/vo/
GAAAAEQJ/T9pcGMwAFVyX85Pq/wE+H0AAAAAAEAN/T8AAAAAIQAGABgAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABnD3c=
GCMIQP36CEAwDgYAiyEIgGAM/T8Q/vo/AAAAAFj++j8AAAAAAQAAAAIAAAD9+giA
QAz9PwAAAAD8Pfs//D37P83NAAABAAAAAAAAAAAAAAClpaWlpaWlpQAAAAAAAAAA
AAAAABglCEDNzQAAtBsJQFA/+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAABcIQhAAAAAAAAAAACg/AiAoAz9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAMAM/T9cIQhAAAAAACMDBgBk/vo/AQAAAAEAAAAAAAAA4Az9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAH4RCICQO/4/bDv7P0Q++z8AAAAAAAAAAOwM/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
================= CORE DUMP END =================
E (2402) esp_core_dump: Skipped 1 tasks with bad TCB!
E (2407) esp_core_dump: Crashed task has been skipped!
I (2413) esp_core_dump: Core dump has been written to uart.
Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:8500
load:0x40078000,len:11960
load:0x40080400,len:7060
entry 0x400807a0
D (62) bootloader_flash: mmu set block paddr=0x00000000 (was 0xffffffff)
I (40) boot: ESP-IDF v3.3-beta1-324-g2790d4a 2nd stage bootloader
I (40) boot: compile time 19:37:09
D (40) boot: Enabling RTCWDT(9000 ms)
I (53) boot: Enabling RNG early entropy source...
D (53) boot: magic e9
D (53) boot: segments 04
D (55) boot: spi_mode 02
D (57) boot: spi_speed 00
D (60) boot: spi_size 02
I (63) boot: SPI Speed      : 40MHz
I (67) boot: SPI Mode       : DIO
I (71) boot: SPI Flash Size : 4MB
D (75) bootloader_flash: mmu set paddr=00000000 count=1 size=c00 src_addr=8000 src_addr_aligned=0
D (84) boot: mapped partition table 0x8000 at 0x3f408000
D (89) flash_parts: partition table verified, 4 entries
I (94) boot: Partition Table:
I (98) boot: ## Label            Usage          Type ST Offset   Length
D (105) boot: load partition table entry 0x3f408000
D (110) boot: type=1 subtype=2
I (113) boot:  0 nvs              WiFi data        01 02 00009000 00006000
D (121) boot: load partition table entry 0x3f408020
D (126) boot: type=1 subtype=1
I (129) boot:  1 phy_init         RF data          01 01 0000f000 00001000
D (137) boot: load partition table entry 0x3f408040
D (142) boot: type=0 subtype=0
I (145) boot:  2 factory          factory app      00 00 00010000 00100000
I (152) boot: End of partition table
D (157) boot: Trying partition index -1 offs 0x10000 size 0x100000
D (163) esp_image: reading image header @ 0x10000
D (168) bootloader_flash: mmu set block paddr=0x00010000 (was 0xffffffff)
D (174) esp_image: image header: 0xe9 0x06 0x02 0x01 40081218
I (180) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x1cd80 (118144) map
D (189) bootloader_flash: mmu set paddr=00010000 count=2 size=1cd80 src_addr=10020 src_addr_aligned=10000
D (240) bootloader_flash: mmu set block paddr=0x00020000 (was 0xffffffff)
I (240) esp_image: segment 1: paddr=0x0002cda8 vaddr=0x3ffb0000 size=0x031e8 ( 12776) load
D (245) bootloader_flash: mmu set paddr=00020000 count=1 size=31e8 src_addr=2cda8 src_addr_aligned=20000
D (259) bootloader_flash: mmu set block paddr=0x00020000 (was 0xffffffff)
I (261) esp_image: segment 2: paddr=0x0002ff98 vaddr=0x40080000 size=0x00078 (   120) load
0x40080000: _WindowOverflow4 at /home/khoi/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

D (270) bootloader_flash: mmu set paddr=00020000 count=2 size=78 src_addr=2ff98 src_addr_aligned=20000
D (280) bootloader_flash: mmu set block paddr=0x00030000 (was 0xffffffff)
I (286) esp_image: segment 3: paddr=0x00030018 vaddr=0x400d0018 size=0x6b454 (439380) map
0x400d0018: _stext at ??:?

D (295) bootloader_flash: mmu set paddr=00030000 count=7 size=6b454 src_addr=30018 src_addr_aligned=30000
D (459) bootloader_flash: mmu set block paddr=0x00090000 (was 0xffffffff)
I (459) esp_image: segment 4: paddr=0x0009b474 vaddr=0x40080078 size=0x00388 (   904) load
0x40080078: _xt_alloca_exc at /home/khoi/esp/esp-idf/components/freertos/xtensa_vectors.S:1841

D (463) bootloader_flash: mmu set paddr=00090000 count=1 size=388 src_addr=9b474 src_addr_aligned=90000
D (473) bootloader_flash: mmu set block paddr=0x00090000 (was 0xffffffff)
I (480) esp_image: segment 5: paddr=0x0009b804 vaddr=0x40080400 size=0x12674 ( 75380) load
D (489) bootloader_flash: mmu set paddr=00090000 count=2 size=12674 src_addr=9b804 src_addr_aligned=90000
D (530) bootloader_flash: mmu set block paddr=0x000a0000 (was 0xffffffff)
D (530) esp_image: Calculated hash: 97de951fd0471d655e356638f626a26ce3aa73e00461abaa24eb022c0e3ebf31
D (534) bootloader_flash: mmu set paddr=000a0000 count=1 size=20 src_addr=ade80 src_addr_aligned=a0000
D (544) bootloader_flash: mmu set paddr=000a0000 count=1 size=20 src_addr=ade80 src_addr_aligned=a0000
I (564) boot: Loaded app from partition at offset 0x10000
I (564) boot: Disabling RNG early entropy source...
D (565) boot: Mapping segment 0 as DROM
D (569) boot: Mapping segment 3 as IROM
D (573) boot: calling set_cache_and_start_app
D (577) boot: configure drom and irom and start
D (582) boot: start: 0x40081218
0x40081218: call_start_cpu0 at /home/khoi/esp/esp-idf/components/esp32/cpu_start.c:121

I (585) cpu_start: Pro cpu up.
I (589) cpu_start: Application information:
I (594) cpu_start: Project name:     ESP_ADS_WLAN
I (599) cpu_start: App version:      1
I (603) cpu_start: Compile time:     19:37:08
I (608) cpu_start: Compile date:     Feb 26 2019
I (614) cpu_start: ESP-IDF:          v3.3-beta1-324-g2790d4a
I (620) cpu_start: Starting app cpu, entry point is 0x400811c4
0x400811c4: call_start_cpu1 at /home/khoi/esp/esp-idf/components/esp32/cpu_start.c:265

I (599) cpu_start: App cpu up.
I (631) heap_init: Initializing. RAM available for dynamic allocation:
I (637) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (644) heap_init: At 3FFD0928 len 0000F6D8 (61 KiB): DRAM
I (650) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (656) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (662) heap_init: At 40092A74 len 0000D58C (53 KiB): IRAM
I (669) cpu_start: Pro cpu start user code
I (16) esp_core_dump: Init core dump to UART
E (16) esp_core_dump: No core dump partition found!
I (17) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (85) tcp_perf:: ESP_WIFI_MODE_STA
I (105) wifi: wifi driver task: 3ffd7d18, prio:23, stack:3584, core=0
I (105) wifi: wifi firmware version: 6b5b696
I (105) wifi: config NVS flash: enabled
I (105) wifi: config nano formating: disabled
I (105) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (115) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (155) wifi: Init dynamic tx buffer num: 32
I (155) wifi: Init data frame dynamic rx buffer num: 32
I (155) wifi: Init management frame dynamic rx buffer num: 32
I (155) wifi: Init static rx buffer size: 1600
I (155) wifi: Init static rx buffer num: 10
I (165) wifi: Init dynamic rx buffer num: 32
I (285) phy: phy_version: 4100, 6fa5e27, Jan 25 2019, 17:02:06, 1, 0
I (285) wifi: mode : sta (30:ae:a4:bc:0f:cc)
I (285) tcp_perf:: wifi_init_sta finished.
I (295) tcp_perf:: connect to ap SSID:ESP32 2.4 password:Cao5566thU 

I (415) wifi: new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (1395) wifi: state: init -> auth (b0)
I (1395) wifi: state: auth -> assoc (0)
I (1415) wifi: state: assoc -> run (10)
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.
Core 0 register dump:
PC      : 0x40084cf9  PS      : 0x00060031  A0      : 0x80084e8f  A1      : 0x3ffb0d60  
0x40084cf9: spi_device_polling_start at /home/khoi/esp/esp-idf/components/driver/spi_master.c:547

A2      : 0x00000000  A3      : 0x3ffb0db0  A4      : 0xffffffff  A5      : 0x3ffd2cd0  
A6      : 0x00000000  A7      : 0x3ffd18e4  A8      : 0x00003424  A9      : 0x3ffd401c  
A10     : 0x0000000a  A11     : 0x3ffd2db0  A12     : 0x8008fca0  A13     : 0x3ffd2db0  
A14     : 0x00000000  A15     : 0x00000000  SAR     : 0x0000001b  EXCCAUSE: 0x0000001c  
EXCVADDR: 0x00000040  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0xffffffff  
Core 0 was running in ISR context:
EPC1    : 0x40084cf9  EPC2    : 0x00000000  EPC3    : 0x00000000  EPC4    : 0x00000000
0x40084cf9: spi_device_polling_start at /home/khoi/esp/esp-idf/components/driver/spi_master.c:547


Backtrace: 0x40084cf9:0x3ffb0d60 0x40084e8c:0x3ffb0d90 0x400d2f71:0x3ffb0db0 0x400d30b2:0x3ffb0e00 0x400d3179:0x3ffb0e30 0x4008257d:0x3ffb0e50 0x4013a377:0x3ffd2d70 0x400d2747:0x3ffd2d90 0x40090c9d:0x3ffd2db0 0x4008fc9d:0x3ffd2dd0
0x40084cf9: spi_device_polling_start at /home/khoi/esp/esp-idf/components/driver/spi_master.c:547

0x40084e8c: spi_device_polling_transmit at /home/khoi/esp/esp-idf/components/driver/spi_master.c:547

0x400d2f71: ADS1256_REG at /home/khoi/esp/workspace/ESP_ADS_WLAN/main/adc_collector.c:61

0x400d30b2: ADS1256_Collect at /home/khoi/esp/workspace/ESP_ADS_WLAN/main/adc_collector.c:162 (discriminator 2)

0x400d3179: timer_isr at /home/khoi/esp/workspace/ESP_ADS_WLAN/main/adc_collector.c:117

0x4008257d: _xt_lowint1 at /home/khoi/esp/esp-idf/components/freertos/xtensa_vectors.S:1154

0x4013a377: esp_pm_impl_waiti at /home/khoi/esp/esp-idf/components/esp32/pm_esp32.c:487

0x400d2747: esp_vApplicationIdleHook at /home/khoi/esp/esp-idf/components/esp32/freertos_hooks.c:86

0x40090c9d: prvIdleTask at /home/khoi/esp/esp-idf/components/freertos/tasks.c:5093

0x4008fc9d: vPortTaskWrapper at /home/khoi/esp/esp-idf/components/freertos/port.c:403


I (1479) esp_core_dump: Press Enter to print core dump to UART...
I (1485) esp_core_dump: Print core dump to uart...
================= CORE DUMP START =================
KBwAAAEAAAAJAAAAZAEAAA==
DBT9PxDe/T883/0/
EN79P9De/T+lpaWldDz7P3Q8+z8MFP0/bDz7PxQAAAClpaWlpaWlpQwU/T8AAAAA
BQAAAEDP/T90Y3BfY29ubgBA/T+lpaUA////fzzf/T8AAAAAIAoGAAUAAAACAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA=
oPwIgHDe/T8MMEA/AAAAAFDe/T8w3v0/DAAAAAAAAAAAAAAANC0NQAAAAACbBQAA
DDBAPyMFBgAAAAAAAAAAABgwQD8fAAAAAQAAAAUAAAAAAAAAsN79PzQtDUAAAAAA
AAAAAAAAAAAAAAAAAAAAAEAR/D8AAAAAAAAAAAAAAAAjAAYADBT9PwAAAAAAAAAA
AAAAANDe/T8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAADc3v0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
xDP9PxAy/T+8M/0/
EDL9P1Az/T/MraC7EDz7P2Au/T/EM/0/CDz7PxkAAAD9mw+NJ1KT6sQz/T8AAAAA
AAAAAMAv/T9JRExFMQAi37LJMMURA7EAAQAAALwz/T8AAAAAIQAGAAAAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAACuRPc=
GCMIQHqjE0AwBQYASicNgNAy/T8AAAAAAQAAgAAAAAABAAAAAwAAACMABgASJg2A
oDL9PwAAAAAjBgYAIAYGAAEAAAAgBgYA8EH9PwAAAAAHJg2AgDL9PwAAAAAAAAAA
AAAAABglCEABAAAAtBsJQMBl+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAACAGBgABAAAAIAYGAPBB/T+gDAmA8DL9PwgAAAABAAAA
AAAAAAEAAAADAAAAIwAGAKD8CIAQM/0/AAAAAAAAAAABAAAAAQAAACEABgAAAAAA
AAAAADAz/T+UDAlAAAAAACMABgBYLv0/AAAAAAEAAAAAAAAAUDP9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwz/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
mFP9P5BR/T+QU/0/
kFH9PzBT/T+PAAAA/Dv7P/w7+z+YU/0/9Dv7PwcAAADsSP0/7Ej9P5hT/T/kSP0/
EgAAAJRJ/T90aVQAAAAAAAAAAAAAAAAA////f5BT/T8AAAAAIQAGABIAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABU/T8=
GCMIQP36CEAwBQYAJB0TgFBS/T/ASP0/4FL9PwhJ/T8AAAAAAQAAAAH9///9+giA
MFL9PwEAAAAKAAAAAD77P1BI/T8AAAAAAAAAAAAAAAD8BP0/AAAAAODCAED2wgBA
/////xglCEBQSP0/tBsJQKCF+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAP1UEoBgUv0/ZAAAAOhUEkApVRKAkFL9P7RI/T/gUv0/
AAAAAIUAAADcf0E/UEj9PwoAAAB4SP0/AAAAAAAAAAAvVRKAoFL9PwAAAADoVBJA
YwkSgMBS/T/o+fw/4FL9P2MJEoDAUv0/6Pn8P+BS/T9kAAAAhQAAAAMAAAAjCAYA
oPwIgOBS/T/0dBJAAAAAACMABgABAAAAIQAGACMGBgAAAAAAEFP9P0gJEkAAAAAA
AAAAAAAAAAAAAAAAAAAAACMABgCYU/0/AAAAAAAAAAAAAAAAMFP9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxT/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
JD79P3A8/T8cPv0/
cDz9P7A9/T8AAAAA6Dv7P+g7+z8kPv0/4Dv7PxgAAABYNf0/WDX9PyQ+/T9QNf0/
AQAAACA2/T9UbXIgU3ZjANRfboPgxUUAAAAAABw+/T8AAAAAIQAGAAEAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAACIMV4=
GCMIQGgZCUAwCAYAWxoJgDA9/T8IPvs/AAAAAAEAAAABAAAAIQAGAAAAAABoGQmA
ED39PwAAAABgO/s/dDX9PwAAAAAAAAAAIwAGAAAAAAClpaWlpaWlpQAAAAAAAAAA
AAAAABglCEAAAAAAtBsJQCBw+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAABMGglAAAAAAAAAAACg/AiAYD39PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkD39P0waCUAAAAAA
AQAAAAAAAAAAAAAAAAAAACMABgDsKP0/AAAAAAEAAAAAAAAAsD39PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALw9/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
oBH9P/AP/T+YEf0/
8A/9PzAR/T94Don8CGb9P2z++j+gEf0/hDv7PwEAAAB0Df0/dA39P6AR/T9sDf0/
GAAAAJwN/T9pcGMxAHE9aSVD/ZTAdU0AAQAAAJgR/T8AAAAAIQAGABgAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABwk8Q=
GCMIQP36CEAwCwYAiyEIgLAQ/T9IDf0/AAAAAJAN/T8AAAAAAQAAAAAAAAD9+giA
kBD9PwEAAAD8Pfs/AD77PwoAAAAAAIAAHAD0PwAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAABglCEAKAAAAtBsJQKBD+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAIAsGACMABgCg/AiA8BD9PwEAAAC8NQhA
AAAAAA4AAAAAAIAAHAD0P//////wEP0/AQAAALw1CEAE/vo/AAAAAAAAAAAAAAAA
AAAAABAR/T9cIQhAAQAAAAEAAACgEf0/AAAAAAAAAAAAAAAAMBH9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAABgSCICAff4/KgAAACoAAAAAAAAAAAAAADwR/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
AGb9PyBk/T/4Zf0/
IGT9P5Bl/T8AAAAABPv6P6gR/T8AZv0/hDv7PwUAAADUVf0/1FX9PwBm/T/MVf0/
FAAAAPxb/T9ldmVudFRhc2sAAAAAAAAAAAAAAPhl/T8AAAAAIQAGABQAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA=
GCMIQP36CEAwAwYAvqwOgOBk/T+oVf0/IGX9P/BV/T8AAAAAAQAAAKRV/T/9+giA
wGT9PwAAAAD8Pfs//D37P0Am/T8AAAAAAAAAAAAAAAABAAAAAQAAAODCAED2wgBA
/////xglCEBAJv0/tBsJQACY+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCupLyg/AiAIGX9PwAAAAAAAAAA
AAAAABgAAAAAAAAAAAAAAP////8gZf0/AAAAAAAAAADwVf0/AAAAAMhb/T+kVf0/
AAAAAHBl/T+srA5AAAAAAAIAAACkAAAAvAAAAA8AAADMAAAAAHz9PwEAAAD8xvw/
LnMPgAB8/T8AAAAA/Mb8PyMABgAAZv0/AAAAAAAAAAAAAAAAkGX9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJxl/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
/Pr6P1D5+j/0+vo/
UPn6P5D6+j81xZ6UIH39Pwhm/T/8+vo/hDv7PwMAAAB86vo/fOr6P/z6+j906vo/
FgAAAPjq+j9lc3BfdGltZXIAEnIOcQMAAAAAAPT6+j8AAAAAIQAGABYAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAVUZ8=
GCMIQP36CEAwDQYAmx8NgBD6+j9Q6vo/AAAAAJjq+j8AAAAAAQAAAAAAAAD9+giA
8Pn6PwAAAAD8Pfs//D37P/AL/T8DAAAAIw4GAAAAAAA0+AiA0Pn6P+DCAED2wgBA
/////xglCEDwC/0/tBsJQAAt+T8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAOzq+j8AAAAAAAAAAAAAAACg/AiAUPr6PwAAAAAAAAAA
AAAAAIYAAAADAAAAIw4GAP////9Q+vo/AAAAAAAAAACY6vo/AAAAAFDq+j8AAAAA
AAAAAHD6+j+IHw1AAAAAACMABgD8+vo/AAAAAAEAAAAAAAAAkPr6PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJz6+j8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
GH39PzB7/T8Qff0/
MHv9P7B8/T8AAAAAjDv7PwT7+j8Yff0/hDv7PwIAAABYaP0/WGj9Pxh9/T9QaP0/
FwAAABRv/T93aWZpAAAAAAAAAAAAAAAAAAAAABB9/T8AAAAAIQAGABcAAAABAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA=
GCMIQP36CEAwDwYALFIIgPB7/T8saP0/YHz9P3Ro/T8AAAAAAQAAABQY+z/9+giA
0Hv9PwAAAAD8Pfs//D37PwAAAAAIAAAAAAAAAB0AAADoxv0/AAAAAKjfEEDF3xBA
AwAAABglCEAAAAAAtBsJQCCv+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAfP0/HwAAAMDi/D+QgwiAMHz9Pyxo/T9gfP0/
AAAAAIoAAAAUGPs/wBr7P/////8AAAAwPGr9PxCG/T+g/AiAUHz9PxQY+z/AGvs/
oPwIgFB8/T8UGPs/wBr7P///////////AQAAAMDi/D8AAAAAkHz9P2CDCEAAAAAA
AAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAAAAAAAAADA5vw/GQAAAA0AAAASAQAA
AAAAALB8/T8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAC8fP0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ZP76P6AL/T9ADf0/
oAv9P+AM/T9O+GxJqBH9P4w7+z9k/vo/hDv7PwEAAAA8/vo/PP76P2T++j80/vo/
GAAAAEQJ/T9pcGMwAFVyX85Pq/wE+H0AAAAAAEAN/T8AAAAAIQAGABgAAAAAAAAA
AAAAAAAAAAAAAAAArOj6PxTp+j986fo/AAAAAAAAAAABAAAAAAAAADBQQD8AAAAA
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABnD3c=
GCMIQP36CEAwDgYAiyEIgGAM/T8Q/vo/AAAAAFj++j8AAAAAAQAAAAIAAAD9+giA
QAz9PwAAAAD8Pfs//D37P83NAAABAAAAAAAAAAAAAAClpaWlpaWlpQAAAAAAAAAA
AAAAABglCEDNzQAAtBsJQFA/+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAABcIQhAAAAAAAAAAACg/AiAoAz9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAMAM/T9cIQhAAAAAACMDBgBk/vo/AQAAAAEAAAAAAAAA4Az9PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAH4RCICQO/4/bDv7P0Q++z8AAAAAAAAAAOwM/T8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
================= CORE DUMP END =================
E (2365) esp_core_dump: Skipped 1 tasks with bad TCB!
E (2370) esp_core_dump: Crashed task has been skipped!
I (2376) esp_core_dump: Core dump has been written to uart.
Rebooting...
ets Jun  8 2016 00:22:57
Could you help me undestand why the esp32 crashes and reboot? It has no problem as long as I don't have any SPI command function inside the interrupt.

Would it be better to place the SPI command in a task instead? I need to use SPI commands to cycle through the MUX of the ADC chip at the rate of 100 Hz.

Thanks

ESP_Sprite
Posts: 9599
Joined: Thu Nov 26, 2015 4:08 am

Re: Polling SPI Inside Timer Interrupt

Postby ESP_Sprite » Wed Feb 27, 2019 3:56 am

Don't do any stuff that's not specifically designed for ISR use in an ISR. (Specifically, anything that can block will crash as you've seen.) The right way is to have a task block on a semaphore or something and then do the SPI transaction, with the timer interrupt giving that semaphore. Alternatively, look into the esp_timer infrastructure, which already handles all that logic for you.

e2738729
Posts: 35
Joined: Mon Nov 05, 2018 6:22 pm

Re: Polling SPI Inside Timer Interrupt

Postby e2738729 » Wed Feb 27, 2019 3:36 pm

Thank you for your reply. So in a nutshell the following is the structure of the SPI call based on your suggestion:

1. We create a timer interrupt to take care of the timing
2. The interrupt will trigger xemaphoreGiveFromISR and hand over a task that runs SPI
3. The task will keep checking if(xSemaphoreTake(xSemaphore, portMAX_DELAY) == pdTRUE) and will execute the spi code when this if returns TRUE.
4. SPI performs polling to send and receive commands.
esp_timer set of APIs provide such facility. Internally, esp_timer uses a 32-bit hardware timer (FRC1, “legacy” timer). esp_timer provides one-shot and periodic timers, microsecond time resolution, and 64-bit range.
Side question: so esp_timer is essentially an easy-to-setup timer interrupt? Is there any difference between this and timer_config_t structure

Thanks

ESP_Sprite
Posts: 9599
Joined: Thu Nov 26, 2015 4:08 am

Re: Polling SPI Inside Timer Interrupt

Postby ESP_Sprite » Thu Feb 28, 2019 2:00 am

Your steps are correct, although 'The task will keep checking if(xSemaphoreTake' is not exactly right wording: the xSemaphoreTake will tell the scheduler just not to schedule the task until the semaphore is given, so you don't lose any cpu cycles to it.

The esp_timer API is easier to use (and easier to share between tasks) because internally it has the timer, 'semaphore' logic (actually a queue, if memory serves, but the idea is the same) and the task (which calls your callback) already built-in.

e2738729
Posts: 35
Joined: Mon Nov 05, 2018 6:22 pm

Re: Polling SPI Inside Timer Interrupt

Postby e2738729 » Fri Mar 01, 2019 3:14 am

Thanks for your suggestions. I had my code working now. I am planning to publish my code on github for ESP32 data collection with ADS1256 ADC chip from TI and send the data to the PC over WIFI.

Who is online

Users browsing this forum: No registered users and 130 guests