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.

F2804x flash initialization

thanks sir

i stiil have some problem

please see following code

void main()

{
  InitSysCtrl();

  InitGpio();

.

.

.

}


void InitSysCtrl(void)
{
   InitFlash();
// Disable the watchdog
   DisableDog();

// Initialize the PLL control: PLLCR and CLKINDIV
   InitPll(DSP28_PLLCR,DSP28_CLKINDIV);

   InitPeripheralClocks();
   DINT;
}


void InitFlash(void)
{
   EALLOW;
//Enable Flash Pipeline mode to improve performance
//of code executed from Flash.
   FlashRegs.FOPT.bit.ENPIPE = 1;

//Set the Paged Waitstate for the Flash
  FlashRegs.FBANKWAIT.bit.PAGEWAIT = 3;

//Set the Random Waitstate for the Flash
  FlashRegs.FBANKWAIT.bit.RANDWAIT = 3;

//Set the Waitstate for the OTP
FlashRegs.FOTPWAIT.bit.OTPWAIT =10;

   FlashRegs.FSTDBYWAIT.bit.STDBYWAIT = 0x01FF;
   FlashRegs.FACTIVEWAIT.bit.ACTIVEWAIT = 0x01FF;
   EDIS;

   asm(" RPT #7 || NOP");
}


is initialization of flash is correct?

because sometimes (not always)

programs hangs (it means goes somewhere at location 0x000080XX and never return back).

please suggest me some modification required.

thanks and regards,

nikhil