Reply by Jacob Christ October 25, 20032003-10-25
Try disabling interrupts prior to writing to flash and re enable when
finished. If this is not an option, you need to make sure that no
interrupts that occur during the write operation access flash. I just
learned this my self recently.

Jacob

-----Original Message-----
From: Lionel Degoutte [mailto:]
Sent: Friday, October 24, 2003 6:46 AM
To: yahoo dsp56f807
Subject: [motoroladsp] Programming dataFlash Hello, In a program, I use SDK to programm flash like this :
Initialisation :
iFlashFD = open (BSP_DEVICE_NAME_FLASH_X, 0, NULL);

For read :
ioctl(iFlashFD, FLASH_CMD_SEEK, &wAdresse);
read (iFlashFD, iVariable, wNbWords);

For write :
ioctl(iFlashFD, FLASH_CMD_SEEK, &wAdresse);
write (iFlashFD, iVariable, wNbWords);

Sometimes, the write operation makes the program counter jump in "asm void
configUnhandledInterruptISR (void)". And when we look at the file vector.c,
it's the interrupt 25 (SPI receiver full and/or error) which has occured.
What can i do ?

Thanks
_____________________________________
Note: If you do a simple "reply" with your email client, only the author of
this message will receive your answer. You need to do a "reply all" if you
want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join:

To Post:

To Leave:

Archives: http://www.yahoogroups.com/group/motoroladsp

More Groups: http://www.dsprelated.com/groups.php3


Reply by Lionel Degoutte October 24, 20032003-10-24
Hello, In a program, I use SDK to programm flash like this :
Initialisation :
iFlashFD = open (BSP_DEVICE_NAME_FLASH_X, 0, NULL);

For read :
ioctl(iFlashFD, FLASH_CMD_SEEK, &wAdresse);
read (iFlashFD, iVariable, wNbWords);

For write :
ioctl(iFlashFD, FLASH_CMD_SEEK, &wAdresse);
write (iFlashFD, iVariable, wNbWords);

Sometimes, the write operation makes the program counter jump in "asm void
configUnhandledInterruptISR (void)". And when we look at the file vector.c,
it's the interrupt 25 (SPI receiver full and/or error) which has occured.
What can i do ?

Thanks