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

Leonid Leonid at a-k-a.net
Thu May 29 01:45:35 CEST 2008


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.




More information about the U-Boot mailing list