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