This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC3235SF: SPI PingPong Mode NWP stops running with fatal error -2005

Part Number: CC3235SF

Hi,

using Raymond's driver from this thread, https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/855716/msp432p4111-spi-master-ping-pong-dma-rx/3172831?tisearch=e2e-sitesearch&keymatch=ping%20pong#3172831  I was able to implement PingPong Mode on the CC3235SF. The transmission of an image seems to work without errors. However, the problems start when I want to send the received data via my websocket connection. Here I regularly get the abort error [ERROR] - FATAL ERROR: Driver Abort detected. From my send_len = (int)sl_Send((int)socket, buffer, (int)len, 0); i recieve error -2005. If I send data via websocket without using the SPI the problem does not occur. I suspect that the NWP has some kind of problem with the modified driver. Please give me some hints on how to tackle the problem. Thank you in advance.

  • Hi Vignesh,

    Just so I understand, you are NOT using the same interface with ping pong? Could you try closing one interface before accessing the other? For example, close the SPI for your slave device, then do sl_send, and then re enable the interface. 

    Please note that Raymond's driver is simply an example and has not been tested or included in the SDK and could have issues/bugs. 

  • Hi Sabeeh,

    thanks for your reply. What you mean using the same interface? I am including this:

    #include <ti/drivers/SPI.h>
    #include "SPICC32XXDMA_mod.h"

    And init the SPI with SPI_init() - I have one Task for SPI and one Task for sending Data over websocket. I disabled SPI after the transfer from the Master. Then my semaphore should switch to the websocket send task. But when the websocket send task tries to send the fatal error occurs. So enable and disable SPI seems not to help. Do you have any other idea?

  • Hi Sabeeh,

    what is the correct way to include the modified driver? The driver SPICC32XXDMA.h is included in the ti_drivers_config.c file. Later in the application, I then include SPICC32XXDMA_mod.h. As I understand it, the NWP also uses the included driver. Is there a way that the SPI of the NWP uses one driver and my user SPI interface uses the other? This is rellay confusing. Thanks

  • Hi Vignesh, 

    I'm not sure if you would be able to separate the two drivers. As I mentioned, we have not yet brought in support for ping pong mode, so I can't comment on the feasibility of doing something like this. 

  • Hi Sabeeh,

    ok i see. Thanks a lot for your support