Octal SPI crashed on transfer
First of all, thanks for your lib! Here is my code `ESP32DMASPI::Master master;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
master.setDataMode(SPI_MODE0);
master.setFrequency(500000);
master.setMaxTransferSize(BUFFER_SIZE);
master.setQueueSize(1); // default: 1
master.begin(FSPI, OSPI_SCK, OSPI_CS, OSPI_D0, OSPI_D1, OSPI_D2, OSPI_D3, OSPI_D4, OSPI_D5, OSPI_D6, OSPI_D7);//crashes if use HSPI
}
void loop() {
// // put your main code here, to run repeatedly:
static unsigned char rxbuff[100], txbuff[100];
txbuff[1] = txbuff[0]++;
master.queue(0, 0, 0, 0, 0, 0, txbuff, rxbuff, 8);
master.trigger(0);
Serial.printf("Transmitting");
while(master.numTransactionsInFlight()){
Serial.printf(".");
delay(100);
}Serial.printf("\r\n");
delay(50);
}And now I'm encountering crash at master.queue(0, 0, 0, 0, 0, 0, txbuff, rxbuff, 8); master.trigger(0); with following logELF file SHA256: f3aa4d42e7f09f09
Rebooting... ?ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT) Saved PC:0x42025f96 SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x4bc load:0x403c9700,len:0xbd8 load:0x403cc700,len:0x2a0c entry 0x403c98d0 begin beforeInitlize initlaize after xtaskGetHandle spi_master_task_3 Initilize after xtaskCreate Guru Meditation Error: Core 1 panic'ed (Double exception).
Core 1 register dump:
PC : 0x4037a892 PS : 0x00040d36 A0 : 0x803787dc A1 : 0x3fcec840
A2 : 0x00040d36 A3 : 0x00040026 A4 : 0x3fc93e68 A5 : 0x00000080
A6 : 0xffffffd8 A7 : 0x0000004a A8 : 0x3fcec900 A9 : 0x00000001
A10 : 0x00000004 A11 : 0x3fc962ac A12 : 0x00000072 A13 : 0x3fcf04a0
A14 : 0x00060120 A15 : 0x00000001 SAR : 0x00000004 EXCCAUSE: 0x00000002
EXCVADDR: 0x00000000 LBEG : 0x400556d5 LEND : 0x400556e5 LCOUNT : 0xfffffffb
Backtrace: 0x4037a88f:0x3fcec840 0x403787d9:0x3fcec900 0x4037a88f:0x3fcec920 0x4037407d:0x3fcec830 0x40377839:0x3fcec860 0x40377862:0x3fcec880 0x40380b71:0x3fcec8a0 0x4037ae09:0x3fcec8c0 0x4037b0ac:0x3fcec8e0 0x4037866c:0x3fcec900`
Besides, while I was using HSPI as normal blocking octal SPI, it works properly, but when I'm using master.begin(HSPI, .......) , it crashes with following log
Guru Meditation Error: Core 1 panic'ed (Unhandled debug exception). Debug exception reason: Stack canary watchpoint triggered (spi_master_task)