I am trying to use gdma in esp32-S3 chip.
I configured the gdma output channel 0.
I enabled the interrupt "out_dscr_err", and that interrupt is being called.
I am allocating the dma descriptor and buffer dynamically ( maybe that's the problem ? ).
Code: Select all
dma_desc_buf_a = (dma_descriptor_t*) heap_caps_calloc( descriptor_size, sizeof(dma_descriptor_t), MALLOC_CAP_8BIT | MALLOC_CAP_DMA | MALLOC_CAP_INTERNAL );
p_buffer_a = (uint16_t*) heap_caps_malloc( 19200 * sizeof(uint16_t), MALLOC_CAP_8BIT | MALLOC_CAP_DMA | MALLOC_CAP_INTERNAL );
I tested it with static allocation and same problem.
Code: Select all
static DMA_ATTR dma_descriptor_t dma_desc_a[descriptor_size];
dma_desc_buf_a = &dma_desc_a[0];
static DMA_ATTR uint16_t buffer_a[pixels_size];
p_buffer_a = &buffer_a[0];
Thank's.