This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NRF51822: Gazell error when performing write operation to external FLASH

Hi please help,

We are facing a problem of Gazell failure (not getting interrupt on gazell ISR) when i perform external Flash write using SPI.

If i disable gazell and write data to flash, and then enable gazell after flash write, then it works well.

We couldn't able to identify the problem, can anyone please guide us, with any suggestions or some example code.

Controller: nRF51822 External Flash: SPANSION S25FL064P

Thanks in advance.

Parents Reply Children
  • Hi kenneth,

    Thanks for the replay, In my application i haven's set priority for SPI. I have set the priority for: UART = 3rd priority GPIOTE = 2nd priority ADC = 1st priority

    but no priority for SPI.

  • Maybe the SPI library is blocking the radio or timer interrupt of the Gazell link layer? From the Gazell documentation I can find: "The radio and timer interrupt handlers run at priority level 0 (highest level), and the Gazell callback functions run at priority level 1. Applications should run at priority level 2 or higher in order to ensure correct operation." Indirectly this means that the Gazell link layer cannot be interrupted or blocked. So the workaround then is to do as you write: disable the Gazell library and enable it again afterwards.

Related