AnsweredAssumed Answered

VisualDSP ADI driver for external flash stalls kernel?

Question asked by jr536 on Oct 29, 2015
Latest reply on Dec 3, 2015 by jr536


I'm a newcomer to VisualDSP & Blackfin having inherited a development from an engineer who left.


I've got a BF536 processor connected to a M29W320 flash chip.


My problem is that when I erase a sector of the flash the ADI driver (Program files\Analog Devices\VisualDSP 5.0\Blackfin\lib\src\drivers\flash\adi_m29w320.c)) sits and waits for the flash chip to say it's ready before it will return.  This takes (from the datasheet) typically 0.8s to a max of 6 seconds.

I also have to toggle an output pin to keep an external watchdog alive. This must happen within typically 1.6s (0.9 min - 2.5 max, from a tps3823)

The running tasks (watchdog & heartbeat are the most visible/obvious ones) stall when I'm erasing a sector of the flash chip, if this lasts too long then I'll get  watchdog timeout.

At the minute it's working fine without timing out, but the timing variations mean this isn't safe.


Any good ideas, anyone?


Thanks in advance