Forum: Mikrocontroller und Digitale Elektronik Grasshopper und SDHC-Karten


von Udo S. (udo)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe es mal gewagt ein uboot mit SDHC-Unterstützung zu bauen.
Geholfen hat mir dabei der Artikel bei AVR-Freaks 
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=66942 
.
Die geänderten Dateien und auch eine fertige uboot.bin habe ich mal 
angehangen.

Im Buildroot 2.3.0 müssen folgende Dateien geändert/ersetzt werden:

unter 
/buildroot-avr32-v2.3.0/project_build_avr32/grasshopper/u-boot-1.3.4/inc 
lude/asm-avr32/arch-at32ap700x  die Datei: mmc.h
unter 
/buildroot-avr32-v2.3.0/project_build_avr32/grasshopper/u-boot-1.3.4/inc 
lude  die Datei: part.h
unter 
/buildroot-avr32-v2.3.0/project_build_avr32/grasshopper/u-boot-1.3.4/dri 
vers/mmc
die Dateien: atmel_mci.c und atmel_mci.h

Eventl. zugehörige .o Dateien müssen gelöscht werden, sowie die im 
Buildroot vorhandenen uboot.bin 's, dann im Hauptverzeichnis 
/buildroot-avr32-v2.3.0 "make" ausführen.

Getestet hab ich das uboot mit einer 4GB SanDisk.
1
U-Boot 1.3.4-atmel.buildroot.1 (Sep 24 2009 - 09:49:33)
2
3
U-Boot code: 00000000 -> 0001095c  data: 00016bf8 -> 0004d458
4
CPU: 140 Mhz HSB: 70 MHz PBA: 35 MHz PBB: 70 MHz
5
malloc: Using memory from 0x13f72000 to 0x13fb2000
6
DMA: Using memory from 0x13f6e000 to 0x13f72000
7
Flash:  8 MB at address 0x00000000
8
DRAM Configuration:
9
Bank #0: 10000000 64 MB
10
*** Warning - bad CRC, using default environment
11
12
In:    serial
13
Out:   serial
14
Err:   serial
15
Net:   macb0
16
Press SPACE to abort autoboot in 1 seconds
17
mmc: Probing for SDHC ...
18
mmc: SD 2.0 or later card found
19
----- CID -----
20
Manufacturer ID:       03
21
OEM/Application ID:    5344
22
Product name:          SU04G
23
Product Revision:      8.0
24
Product Serial Number: 1883335605
25
Manufacturing Date:    08/08
26
----- CID -----
27
SD Card detected RCA: 0xd555 type: SDHC
28
CSD data: 400e0032 5b590000 1e5c7f80 0a4040df
29
CSD structure version:   2
30
TAAC: 14
31
NSAC: 0
32
Card command classes:    5b5
33
Read block length:       33554432
34
Does not support partial reads
35
Write block length:      512
36
Does not support partial writes
37
Does not support group WP
38
Card capacity:          3886 MB
39
File format:            0/0
40
Write protection:
41
mmc: clkdiv: 0
42
mmc: timeout cycles 7000000
43
mmc: Using 7340032 cycles data timeout (DTOR=0x78)
44
...Partition     Start Sector     Num Sectors     Type
45
.    1                  63         7952112      83
46
........................
47
1418277 bytes read
48
## Booting kernel from Legacy Image at 10400000 ...
49
   Image Name:   Linux-2.6.30.2
50
   Image Type:   AVR32 Linux Kernel Image (gzip compressed)
51
   Data Size:    1418213 Bytes =  1.4 MB
52
   Load Address: 10000000
53
   Entry Point:  90000000
54
   Verifying Checksum ... OK
55
   Uncompressing Kernel Image ... OK
56
57
Starting kernel at 90000000 (params at 13f72008)...

Gruß
Udo

Edit: ups, sorry für den doppelten Anhang

von Michael K. (mad_axe)


Lesenswert?

Udo, du bist ein Held, da sitze ich gerade dran und kann mir die Arbeit 
sparen (hoffe ich). Wird morgen gleich fürs ngw100 portiert :D

Gruß
Micha

von Michael K. (mad_axe)


Lesenswert?

So, mein ngw100 akzeptiert jetzt auch meine 4GB SDHC Card. Danke!

Gruß
Micha

von Michael K. (mad_axe)


Lesenswert?

Ok, zu früh gefreut. Bootet zwar, aber allzuoft hat er ein CRC fehler 
beim uImage lesen, was er mit der kleinen Karte nicht hat (liegt also 
wohl nicht daran wie ich es kopiere, mache ich bei beiden gleich)
Muss mir die treiber dann wohl doch mal anschauen.

Gruß
micha

von Udo S. (udo)


Lesenswert?

Hallo Michael,

komisch, bei mir funktioniert es. Ich hab gerade 5 mal hintereinander 
gebootet, ohne Fehler.

Gruß
Udo

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.