[U-Boot-Users] ARM VersatilePB - Fixed flash support
Wolfgang Denk
wd at denx.de
Thu Oct 14 23:09:56 CEST 2004
In message <c3d0340b04101409512a20b628 at mail.gmail.com> you wrote:
>
> > while (((status = *addr) & (FPW) 0x00800080) != (FPW) 0x00800080) ;
> >
> > This worked fine for large amounts of data so the timeout value is
> > probably too low. Let me know if this is the same with your setting.
>
> Good try. I'm not sure if this is a decent fix. It's possible that
It is not a proper fix, as it might hang the board without even an
error message.
> Flash write gets stuck in while loop if there is a real problem. It
> may be other factor(s) that cause this problem. For example, timer is
> not accurate?
This is one possible explanation. Check timer implementation. I
noticed that quite a lot of boards use insane values of CFG_HZ.
Remember that this should be the number of clock ticks (= timer
interrupts) per second, and there is usually no reason to chose
anything else but the default value of 1000. Many boards use some
much, much higher clock values instead. This should be fixed. [We
recently fixed this for AT91RM9200 systems.]
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Any sufficiently advanced technology is indistinguishable from magic.
- Arthur C. Clarke
More information about the U-Boot
mailing list