pre-empting iap

Started by bue...@lyngklip.dk September 11, 2007
I know it is possible to handle interrupts while erasing and programming sectors of the flash, but is it possible to pre-empt the iap altogether?

The iap return code 11 (busy) makes me suspect so. It would require mapping interrupts to RAM and running the application from RAM as well, not referencing any constants in the flash.

The question is; can the iap be pre-empted?

The specific devices I am concerned with are LPC2134 and LPC2148.

The (non-)answer I got from NXP support was that they "recommend strongly that no interrupts be enabled when working in IAP and have nothing else working in parallel when performing IAP."

This FAQ states that interrupts can be handled (and I can confirm that), but apparently NXP does not recommend it (could that be because it is safe to recommend?):

http://www.standardics.nxp.com/support/faq/microcontrollers/lpc2000/memory/#k

Is anybody successfully preempting the iap using homebrew or a more widely available rtos?

This is mostly out of curiosity since the application that I am working on is scheduled in a very basic way.

Cheers

Aksel

An Engineer's Guide to the LPC2100 Series