[U-Boot] FLASH write bug on NGW100
Ben Nizette
bn at niasdigital.com
Wed May 20 23:49:25 CEST 2009
<reconstructing thread and cc'ing u-boot list; please don't
top-post :-)>
> > > when using the latest u-boot version from
> > > git://www.denx.de/git/u-boot-avr32.git, it is not possible for me to
> > > write (I have tried saveenv and protect) to NOR FLASH anymore.
> > >
> > > U-Boot gives the following error: "start or end address not on sector
> > > boundary"
> > >
> > > Is this a known problem?
> > >
> > > Gerhard
> > >
> >
> > Post the exact commands you are using. Probably you are using wrong
> > addresses
> >
>
> The exact command:
>
> U-Boot> saveenv
> Saving Environment to Flash...
> Error: start and/or end address not on sector boundary
>
> Seriously, it's that easy. The addresses are the default ones found in
> include/configs/atngw100.h since the dawn of time :-)
>
> --Ben.
> On Wed, 2009-05-20 at 13:08 +0200, Eirik Aanonsen wrote:
> I dont have tha board. What result do you get if you run: Flinfo ( post it back here )
On Wed, 2009-05-20 at 15:54 +0200, Gerhard Berghofer wrote:
> Hi Eirik,
>
> flinfo with u-boot version >= 2009.03 gives the following output:
>
> ######################################################################
> Bank # 1: CFI conformant FLASH (16 x 16) Size: 8 MB in 135 Sectors
> AMD Standard command set, Manufacturer ID: 0x1F, Device ID: 0x1D6
> Erase timeout: 8192 ms, write timeout: 1 ms
> Buffer write timeout: 1 ms, buffer size: 4 bytes
>
> Sector Start Addresses:
> A0000000 A0002000 A0004000 A0006000 A0008000
> A000A000 A000C000 A000E000 A0010000 A0020000
> A0030000 A0040000 A0050000 A0060000 A0070000
...
>
> flinfo with u-boot version 2008.10 gives the following output:
>
> ######################################################################
> Bank # 1: CFI conformant FLASH (16 x 16) Size: 8 MB in 135 Sectors
> AMD Standard command set, Manufacturer ID: 0x1F, Device ID: 0x1D6
> Erase timeout: 8192 ms, write timeout: 1 ms
> Buffer write timeout: 1 ms, buffer size: 4 bytes
>
> Sector Start Addresses:
> 00000000 RO 00002000 RO 00004000 RO 00006000 RO 00008000 RO
> 0000A000 RO 0000C000 RO 0000E000 RO 00010000 RO 00020000
> 00030000 00040000 00050000 00060000 00070000
...
> the FLASH seems to be attached to a wrong address range ...
Well on the AVR32 both addresses are correct - the first accessed the
flash through the uncached, untranslatable segment, now it's both cached
and translated but that should only be a win. I guess though that the
environment address (which in the config is set to 007F0000) is still
somehow somewhere being translated to A07F0000 then breaking all the
flash range checking.
But I'm kinda guessing here, I hope someone on the u-boot list can tell
us it's known and fixed and we should be have scoured their archives
harder ;-)
--Ben.
More information about the U-Boot
mailing list