Собрали плату с архитектурой похожей на AT91SAM9260EK. На плате имеется:
- NAND Flash,
- SDRAM 64M,
- SD/MMC-card,
- Ethernet на KS8721BL,
- SPI,
- TDM,
- USB device,
- Com порт debug,
- Собственное адресное пространство на NCS4
Проблем с о сборкой Bootstrup(LinuxLink by TimeSys) и uBoot 1.3.0 (LinuxLink by TimeSys) не было.
Все грузится.
Проблемы начались, когда стал ставить ядро Linux.
Использую Linux 2.6.22 (linux-2.6.22.tar.bz2 + 2.6.22-at91.patch.gz + 2.6.22-at91-exp.patch.gz)
взял на www.linux4sam.org.
Кросскомпилятор arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 взял тоже на www.linux4sam.org.
Пробовал Bootstrup и uBoot брать на www.linux4sam.org, но результат практически тот-же.
Также уменьшил частоту SDRAM до 50 МГц предположив звоны на плате (хотя плата 6-ти слойка и
гонял я ее в HyperLinx), не помогло.
При сборке в menuconfig отключал модули и тоже безрезультатно.
Получаю с некоторыми вариациями такие результаты:
************************************************************
NAND read: device 0 offset 0x100000, size 0x300000
3145728 bytes read: OK
U-Boot> bootm 0x21500000
## Booting image at 21500000 ...
Image Name: linux-2.6
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2501012 Bytes = 2.4 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
OK
Starting kernel ...
Linux version 2.6.22 (user@debianBox) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)) #14 Mon Feb 11 16:31:56 MSK 2008
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9260-EK (CP.11 BSS)
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 198 MHz, master 66 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 59184KB available (2240K code, 260K data, 104K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Init Hard CP.11
End Init CP.11
Unhandled fault: alignment exception (0x001) at 0x739d53c6
Internal error: : 1 [#1]
Modules linked in:
CPU: 0 Not tainted (2.6.22 #14)
PC is at kfree+0x7c/0xc4
LR is at kobject_set_name+0xac/0xbc
pc : [<c0071d7c>] lr : [<c01040b0>] psr: 00000093
sp : c03d7ec0 ip : c03d7ee0 fp : c03d7edc
r10: c02515cc r9 : c03d7f4b r8 : c0221ff4
r7 : c03d7f10 r6 : 6e72656b r5 : 20000013 r4 : c03e81a0
r3 : 33cc33c0 r2 : 019ce4c0 r1 : bfe95000 r0 : 739d53c6
Flags: nzcv IRQs off FIQs on Mode SVC_32 Segment kernel
Control: 0005317f Table: 20004000 DAC: 00000017
Process swapper (pid: 1, stack limit = 0xc03d6260)
Stack: (0xc03d7ec0 to 0xc03d8000)
7ec0: c03d7f10 c03e81a0 c0221ff8 c0221ff8 c03d7f08 c03d7ee0 c01040b0 c0071d10
7ee0: c001da10 c03d7f10 c03e81a0 c03d7f4b 00000001 00000007 c02515cc c03d7f3c
7f00: c03d7f18 c0012604 c0104018 c03d7f4b 00000000 c025810c c03d7f3c 00000006
7f20: c02580c8 00000008 00000001 c02515e0 c03d7f8c c03d7f40 c0012750 c00125bc
7f40: 00000002 0000002d 70000000 746e6972 0000006b 00000000 00000000 00000000
7f60: c012e558 00000000 00000000 00000000 c03d6000 c001da10 00000000 c001e000
7f80: c03d7ff4 c03d7f90 c0008920 c001266c 33cc318c 334433cc 00000000 00000000
7fa0: 00000000 c03d7fb0 c0022e64 c0034c40 00000000 00000000 c0008870 c003a820
7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fe0: 00000000 00000000 00000000 c03d7ff8 c003a820 c0008880 3308134c 43cc33c8
Backtrace:
[<c0071d00>] (kfree+0x0/0xc4) from [<c01040b0>] (kobject_set_name+0xac/0xbc)
r6:c0221ff8 r5:c0221ff8 r4:c03e81a0
[<c0104004>] (kobject_set_name+0x0/0xbc) from [<c0012604>] (kernel_param_sysfs_setup+0x58/0xb0)
r3:c025810c r2:00000000 r1:c03d7f4b
r8:c02515cc r7:00000007 r6:00000001 r5:c03d7f4b r4:c03e81a0
[<c00125ac>] (kernel_param_sysfs_setup+0x0/0xb0) from [<c0012750>] (param_sysfs_init+0xf4/0x1a4)
r8:c02515e0 r7:00000001 r6:00000008 r5:c02580c8 r4:00000006
[<c001265c>] (param_sysfs_init+0x0/0x1a4) from [<c0008920>] (kernel_init+0xb0/0x26c)
[<c0008870>] (kernel_init+0x0/0x26c) from [<c003a820>] (do_exit+0x0/0x7c4)
Code: e59f004c e3a01e25 ebfed488 e5900018 (e5904000)
Kernel panic - not syncing: Attempted to kill init!
*****************************************************************
NAND read: device 0 offset 0x100000, size 0x300000
3145728 bytes read: OK
## Booting image at 21500000 ...
Image Name: linux-2.6
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2501012 Bytes = 2.4 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
OK
Starting kernel ...
Linux version 2.6.22 (user@debianBox) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)) #14 Mon Feb 11 16:31:56 MSK 2008
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9260-EK (CP.11 BSS)
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 198 MHz, master 66 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 59184KB available (2240K code, 260K data, 104K init)
kernel BUG at mm/slab.c:1372!
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 805 [#1]
Modules linked in:
CPU: 0 Not tainted (2.6.22 #14)
PC is at __bug+0x20/0x2c
LR is at release_console_sem+0x1cc/0x1e4
pc : [<c0026fbc>] lr : [<c0037ec8>] psr: 60000053
sp : c0253f68 ip : 00000000 fp : c0253f74
r10: 2001d630 r9 : 41069265 r8 : 00000000
r7 : c02940c0 r6 : 00000000 r5 : c001f6f4 r4 : c033eae0
r3 : 00000000 r2 : c025721c r1 : 000004e8 r0 : 00000021
Flags: nZCv IRQs on FIQs off Mode SVC_32 Segment kernel
Control: 0005317f Table: 20004000 DAC: 00000017
Process swapper (pid: 0, stack limit = 0xc0252260)
Stack: (0xc0253f68 to 0xc0254000)
3f60: c0253f94 c0253f78 c0072d30 c0026fac c033f6e0 c025b330
3f80: c025b48c c025b330 c0253fcc c0253f98 c0014c50 c0072d04 00000000 00000000
3fa0: 000008c0 00000040 00000068 00000000 c026ae0c c0255cd4 c029338c 2001d664
3fc0: c0253ff4 c0253fd0 c0008ce8 c0014994 c0008554 00000000 00000000 c001ef2c
3fe0: 00053175 c026b320 00000000 c0253ff8 20008030 c0008aec 00000000 00000000
Backtrace:
[<c0026f9c>] (__bug+0x0/0x2c) from [<c0072d30>] (init_list+0x3c/0x11c)
[<c0072cf4>] (init_list+0x0/0x11c) from [<c0014c50>] (kmem_cache_init+0x2cc/0x380)
r7:c025b330 r6:c025b48c r5:c025b330 r4:c033f6e0
[<c0014984>] (kmem_cache_init+0x0/0x380) from [<c0008ce8>] (start_kernel+0x20c/0x2c4)
r8:2001d664 r7:c029338c r6:c0255cd4 r5:c026ae0c r4:00000000
[<c0008adc>] (start_kernel+0x0/0x2c4) from [<20008030>] (0x20008030)
r5:c026b320 r4:00053175
Code: e1a01000 e59f000c eb004513 e3a03000 (e5833000)
Kernel panic - not syncing: Attempted to kill the idle task!
Может кто сталкивался с такой ситуацией?