[U-Boot-Users] Flash erase doesn't work if Interrupts used in at91rm9200 u-boot

Hi:
I am running standalone application on the top of 1.2.0 u-boot on at91rm9200 Atmel ARM9 CPU. My application has serial receive from USART1 and because I don't want to loose even single byte and as USARTs on this CPU don't have FIFO, I resorted to doing receive in interrupt. Interrupt routine simply puts just received byte into FIFO from which it will be fetched later by application.
Everything works fine until flash sector erase function (from cfi_flash.c) is called. If there is any serial activity during erase operation, system dies. I tried disable interrupts by masking it in AIC controller and/or on USART itself - nothing helps.
Is here anything I can do to fix the situation? Does anybody have working init.S for this CPU, enabling interrupts properly (I am not sure mine is correct)?
Thanks,
Leonid.
participants (1)
-
Leonid