Forum: Compiler & IDEs AT91SAM9260-EK U-Boot Bootloader


von Tobias Schlegel (Gast)


Lesenswert?

Hy Leute,
ich bin gerade an meiner Diplomarbeit und stehe bei einigen Problemen
an. Als Hardware benutze ich das AT91SAM9260-EK Entwicklungsboad und
möchte ein lauffähiges Linux Betriebssystem darauf zum laufen zu
bringen. Momentan stehe ich beim Versionswechsel des Bootloaders von
1.1.5 auf 1.2.0 welche einige bugs beheben soll. Dabei ist aber ein
neues Problem entstanden.

Wenn ich den Bootstrap und den Bootloader im DataFlash oder auch im
Nand-Flash betreibe, kann ich keine Environment-Variablen speichen, beim
Start meldet der Bootloader immer einen Environment CRC-Ceck error und
ladet die Default Einstellungen. Im Data-Flash werden zusätzlich die
Areas nicht mehr richtig erkannt, welche in der alten Version noch
korrekt detektiert wurden.

Konsolenauszug:

RomBOOT
>

U-Boot 1.2.0 (Oct 24 2007 - 18:49:20)

DRAM:  64 MB
NAND:  NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND
256MiB 3,3V 8-bit)
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB
3,3V 8-bit)
256 MiB
DataFlash:AT45DB642
Nb pages:   8192
Page Size:   1056
Size= 8650752 bytes
Logical address: 0xD0000000
Area 0: D0000000 to D0000000      Data
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
DM9161A PHY Detected
End of Autonegotiation
U-Boot> saveenv
Saving Environment to dataflash...
U-Boot> RomBOOT
>

U-Boot 1.2.0 (Oct 24 2007 - 18:49:20)

DRAM:  64 MB
NAND:  NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND
256MiB 3,3V 8-bit)
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB
3,3V 8-bit)
256 MiB
DataFlash:AT45DB642
Nb pages:   8192
Page Size:   1056
Size= 8650752 bytes
Logical address: 0xD0000000
Area 0: D0000000 to D0000000      Data
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
DM9161A PHY Detected
End of Autonegotiation
U-Boot> printenv
bootdelay=3
baudrate=115200
hostname=at91sam9260ek
stdin=serial
stdout=serial
stderr=serial

Environment size: 92/8188 bytes
U-Boot> RomBOOT
>RomBOOT

Wenn irgend jemand Erfahrungen hat die mich weiterbringen könnten, währe
ich für eure Hilfe sehr Dankbar.

von Minetti (Gast)


Lesenswert?

Das Problem mit den Flash-Areas habe ich aktuell auch. Habe auf 
demselben Board den Wechsel von U-Boot 1.1.5 auf 1.2.0 versucht, aber 
das DataFlash liegt nur in dieser ominösen
Area 0: D0000000 to D0000000

Allerdings lassen sich bei mir die Umgebungsvariablen abspeichern. Gibts 
da bei dir vielleicht schon was neues?

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Hi

Ich hab mir selbst ein AT91RM9200 Board gebaut und hatte anfangs auch 
Schwierigkeiten mit U-Boot und dem Dataflash. Ich benutze allerdings die 
Version 1.3.1.
Bei mir war es so, dass der Dataflash Treiber nicht richtig 
implementiert war bzw. ich ihm die Areas richtig angegeben habe, da 
diese beim Schreiben/Lesen überprüft werden. D.h. es wird überprüft ob 
der Zugriff auf eine Adresse auch wirklich zulässig ist (wird alles per 
Software geprüft).
Und da ihr anscheinend nur eine Area (Area 0) habt, die die Größe 0 hat, 
denke ich, dass U-Boot das Schreiben nicht durchführt. Deshalb würde ich 
vermuten, dass irgendwas im [UBOOT]/drivers/mtd/dataflash.c falsch 
läuft. Von dort weg würde ich anfangen zu suchen.

mfg
Andreas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.