Hi Rajaram One thing you need to do is to set the address to write to in flash. I am not sure if this would cause your restart problem but try it. Use this command. uiAddress -= XFLASH_BASE; //set address to offset from base of xFlash ioctl(FlashDevice , FLASH_CMD_SEEK, &uiAddress); //set address for write Note that uiAddress is the offset from the start of Flash and not an absolute address. Another thing to note is that your for loop will be slow because the driver has to erase a page of flash each time it writes one word. (20ms + each erase and write). It would be better and faster to fill an array and pass the pointer and size of the array. Pete --- In , Rajarama Puranika <rpuranika@y...> wrote: > Hello All, > I am using motorola DSP56F803 > I am trying to data flash using SDK APIs as > follows: > UWord16 Digit = 0xFFFF; > FlashDevice = open(BSP_DEVICE_NAME_FLASH_X,0,NULL); > for(count=0;count < 1024 ; count++ > write(FlashDevice,&Digit,1); > > Even though I am disabling all the interrupts using > archDisableInt() ,The above code writing the 162 words > into flash and it is generating interrupt,which jumps > INTERRUPT_VECTOR_ADDR_1 and from there jumps to > startup: program. > > Is default settings creating any problem like , I am > setting registers, > FLASH_DFIU_CKDIVISOR_VALUE 0x000F > FLASH_DFIU_TERASEL_VALUE 0x000F > FLASH_DFIU_TMEL_VALUE 0x000F > FLASH_DFIU_TNVSL_VALUE 0x00FF > FLASH_DFIU_TPGSL_VALUE 0x01FF > FLASH_DFIU_TPROGL_VALUE 0x03FF > FLASH_DFIU_TNVHL_VALUE 0x00FF > FLASH_DFIU_TNVH1L_VALUE 0x0FFF > FLASH_DFIU_TRCVL_VALUE 0x003F > > Can anyone please help me in this issue. > > Thanks , > With Regards, > Rajaram > > > __________________________________ > |