spi_transceive blocks indefinitely at spi_context_wait_for_completion

I've created a new sandbox project for a nRF9160DK that requires a SPI Master for testing a Flash part. Since I already have "working" SPIM code in a different Segger project, I just copied that code to the new project. Unfortunately, when I run the new project, it just hangs at the spi_context_wait_for_completion() call at line 241 in the spi_nrfx_spim.c source file (see attached screenshot). I copied over the same C-source file, prj.conf file and nrf9160dk_nrf9160_ns.overlay file that I use in my other project. And that project is working perfectly. So I'm surprised that one project works and the other doesn't with almost identical code. I have read several topics of developers reporting the same blocking condition, but I'm not seeing any solutions. 

I have attached the prj.conf and overlay file and a screenshot. Please let me know what else I can check. I'm sure it must be a config issue as my SPIM code is identical in both projects.

7215.prj.conf8875.nrf9160dk_nrf9160_ns.overlay

Parents
  • Hi

    What exactly are the differences between the two projects? As there must be some for one project to work, and for the other to halt in this wait for completion. This generally means that the device is not able to either transmit or receive data from the SPI device. Are you sure the SPI device is connected correctly to the nRF9160 DK and that those pins are configured correctly in your project?

    Best regards,

    Simon

Reply
  • Hi

    What exactly are the differences between the two projects? As there must be some for one project to work, and for the other to halt in this wait for completion. This generally means that the device is not able to either transmit or receive data from the SPI device. Are you sure the SPI device is connected correctly to the nRF9160 DK and that those pins are configured correctly in your project?

    Best regards,

    Simon

Children
No Data
Related