AnsweredAssumed Answered

BF527 reboot forced by soft-reset

Question asked by vix on Dec 4, 2009
Latest reply on Dec 11, 2009 by gyi

I found a problem when I force a soft-reset of a BF527 on a custom board (VisualDSP++ 5.0 Update 6).

I read the BF52x Hardware Reference manual, but it doesn't explain very much, so I read the BF54x Blackfin Processor Hardware Reference that has more informations. I also searched in this forum and I found some discussions with a similar problem, but none of them help me.

So I did some test and I think I was able to isolate the problem:

  • I force the soft-reset with the instruction bfrom_SysControl( SYSCTRL_SOFTRESET, NULL, NULL );
  • the BF527 reboots from the SPI flash (I checked with an oscilloscope)
  • the program hangs indefinitely, but it's difficult to understand where
  • so I have this idea: I know that the boot is executed, so the problem should be in the code execution
  • I replaced the bfrom_SysControl( SYSCTRL_SOFTRESET, NULL, NULL ); instruction with a jump to the begining of my code, so I could look into the problem with the emulator
  • I noticed that the DSP hangs into the adi_ebiu_SetInitFlag( ) function because the flag adi_ebiu_settings.InitializedFlag is high, and  the instruction sti(imask); never returns

Could be this the problem also in the real reboot?

How can I avoid this hang?

Is there a way to clear memory and registers before forcing reboot?