AnsweredAssumed Answered

Difference Between JTAG Debug and Startup From SPI Flash on BF609

Question asked by weibo on Aug 2, 2014
Latest reply on Aug 4, 2014 by CraigG

Hello Everyone,

 

     Now I map SPI1 port to Core1,and control wifi module via spi1. When I debug program via Jtag, the program run normally. But When I

burn the program to spi flash, the program stopped at spi1 IO port. I use DMA and Callback communicating with wifi.

 

Critical code on core1 are as followes:

Map SPI1 IRQ to Core1.

void MapIRQToCore1(void)

{

  adi_sec_Init();

  /* Assign interrupt to core 1*/

  adi_sec_SetCoreID(INTR_SPI1_TXDMA, ADI_SEC_CORE_1);

/* Enable edge sensitive */

  adi_sec_EnableEdgeSense(INTR_SPI1_TXDMA, true);

  /* Assign interrupt to core 1*/

  adi_sec_SetCoreID(INTR_SPI1_RXDMA, ADI_SEC_CORE_1);

  /* Enable edge sensitive */

  adi_sec_EnableEdgeSense(INTR_SPI1_RXDMA, true);

  /* Assign interrupt to core 1*/

  adi_sec_SetCoreID(INTR_SPI1_STAT, ADI_SEC_CORE_1);

  /* Enable edge sensitive */

  adi_sec_EnableEdgeSense(INTR_SPI1_STAT, true);

}

 

The appendix file spi_io.c is used to communicate with wifi.

 

The program stops at function zs_spi_read_write()

 

while(!s_bWriteCompleted)

  {

  asm("nop;");

  }

 

 

It seems Rx DMA can't receive data from wifi. But It runs normally when program is loaded from JTAG.

 

Please give me some hints .

 

Thanks very much.

Attachments

Outcomes