Hello,
Configuration:
RM48X Safety Hercules Microcontroler,
Halcogen 03.06
My problem:
I use the MIBSPI5 in slave mode 3 wires (CLOCK,CS, SIMO) with DMA
the MIBSPI5 receive data of 32-bits long that I managed to check in the memory 0xFF0A0200
I tuned the DMA for transferring 11 frames of dsize 2 (2 x 16-bits).
I set in the MIBSPI DMA config:
bufid = dsize-1
and icount = numbOfframe-1
I send exactly 11 x 32-bits of data in the MIBSPI ( the CS is set low then high for each 32-bit...)
Result: the data appears in the MIBSPI5 memory but are partly transferred into the RAM by the DMA.
--> Only the 2 first frame are transferred
in the MIBSPI5 register UErrCtrl I have 0x0000000A
and UErrAddr1 0x00000248
and the 2 first memory address of the data in MIBSPI5 start with 8 meaning that : No data has been received since the last read of SPIBUF. (which I think is correct)
the other buffers address starts with 0 :New data has been received and copied into the SPIBUF field.
here is a snapshot of the MIBSPI memory and the buffer where DMA transfers the values
When I simply change the numbe of frame to 1 and the size to 22 the buffer is filled with the values from the MIBSPI memory
however I still have the error bit set in the register
UErrCtrl I have 0x0000000A
and UErrAddr1 0x00000248
I really want to know why it does not work with the first configuration
Could Someone gives me a clue on this ?
here after the snapshot after modification