Перейти к содержанию
    

Собрали плату с архитектурой похожей на 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!

 

Может кто сталкивался с такой ситуацией?

linux.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собрали плату с архитектурой похожей на AT91SAM9260EK. На плате имеется:

 

А готовое ядро с linux2sam не пробовали запускать ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А готовое ядро с linux2sam не пробовали запускать ?

Пробовал от Linux4sam ядро linux-2.6.22-at91sam9260ek.bin.

Правда у меня не стоит DataFlash а толко NAND-Flash.

Результат похожий:

 

Starting kernel ...

 

Uncompressing Linux...........................................................................

.............. done, booting the kernel.

Linux version 2.6.22 (pvilchez@bendor) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)) #1 Thu Sep 13 16:03:16 CEST 2007

CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177

Machine: Atmel AT91SAM9260-EK

Memory policy: ECC disabled, Data cache writeback

Clocks: CPU 198 MHz, master 99 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: 58940KB available (2504K code, 233K data, 112K init)

Unable to handle kernel paging request at virtual address e3843080

pgd = c0004000

[e3843080] *pgd=00000000

Internal error: Oops: 5 [#1]

Modules linked in:

CPU: 0 %(%.*s)

PC is at do_tune_cpucache+0x78/0x264

LR is at alloc_arraycache+0x24/0x3c

pc : [<c0074ec4>] lr : [<c0074e34>] psr: a00000d3

sp : c0297f08 ip : c037c360 fp : c0297f2c

r10: 00000028 r9 : 00000000 r8 : 00000000

r7 : 00000078 r6 : c0378680 r5 : c037f6c0 r4 : e3843080

r3 : 00000000 r2 : c037a400 r1 : e3843090 r0 : c0378680

Flags: NzCv IRQs off FIQs off Mode SVC_32 Segment kernel

Control: 0005317f Table: 20004000 DAC: 00000017

Process swapper (pid: 0, stack limit = 0xc0296260)

Stack: (0xc0297f08 to 0xc0298000)

7f00: c0378680 c0378680 c02bbec4 00040000 00000010 00000028

7f20: c0297f44 c0297f30 c007527c c0074e5c c0378680 c0378680 c0297f64 c0297f48

7f40: c0212a08 c0075234 c0378680 c0378680 00000008 00000190 c0297fb4 c0297f68

7f60: c00759f8 c02129f0 c0297f80 c0297f84 00000003 c0260038 fffffff8 00000001

7f80: 00000010 0000005c c0297fb4 c02bbe98 c02b31ec c0299d54 c02d04a4 2001eee4

7fa0: 41069265 2001eeb0 c0297fcc c0297fb8 c0012824 c0075640 00000000 00000000

7fc0: c0297ff4 c0297fd0 c0008d08 c00127b4 c0008554 00000000 00000000 c0020f2c

7fe0: 00053175 c02b3700 00000000 c0297ff8 20008030 c0008aec 00000000 00000000

Backtrace:

[<c0074e4c>] (do_tune_cpucache+0x0/0x264) from [<c007527c>] (enable_cpucache+0x58/0x7c)

[<c0075224>] (enable_cpucache+0x0/0x7c) from [<c0212a08>] (setup_cpu_cache+0x28/0x130)

r5:c0378680 r4:c0378680

[<c02129e0>] (setup_cpu_cache+0x0/0x130) from [<c00759f8>] (kmem_cache_create+0x3c8/0x46c)

r6:00000190 r5:00000008 r4:c0378680

[<c0075630>] (kmem_cache_create+0x0/0x46c) from [<c0012824>] (pidmap_init+0x80/0xa0)

[<c00127a4>] (pidmap_init+0x0/0xa0) from [<c0008d08>] (start_kernel+0x22c/0x2c4)

[<c0008adc>] (start_kernel+0x0/0x2c4) from [<20008030>] (0x20008030)

r5:c02b3700 r4:00053175

Code: e121f003 e3a03000 e1a00006 e2841010 (e5942000)

Kernel panic - not syncing: Attempted to kill the idle task!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А глючит всегда по-разному? На память похоже. Я бы советовал протестировать ее отдельно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот у меня тоже осталось подозрение только на память. Может инициализация неправильная ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как решили проблему? У меня такая же проблема, но только с самодельными ядрами, готовые грузятся на ура.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я что-то не вижу строки инициализации ядра...

 

UPD: вижу...

Изменено пользователем MTh

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сталкивался с таким, и уже насобирал вагон логов...

http://projects.org.ua/forum/viewtopic.php...ight=at91sam9xe

Unable to handle kernel NULL pointer dereference at virtual address 0000001a

pgd = c0004000

[0000001a] *pgd=00000000

Ну и после этого соответственно Internal error: Oops: 1 [#1]

Оно (ядро) может валиться на любой из initcall-функций или сразу после инициализации памяти,

может валиться в функциях, кот. вызываются из kernel_init()...

Если разрулю, напишу, если разрулите - пишите. :05:

 

А память-то из убута тестировалась без проблем......

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прочитал Ваше сообщение http://electronix.ru/forum/index.php?showt...st&p=700127

 

Дело не в памяти. С железкой как правило все в порядке. И данное сообщение - не более чем сообщение ядра. Может вывалиться когда по указател. неправильно полезли и т.д. Обычно при сборке ядра забывается что-нить включить и получается упс. ))

 

Да, это так, но в данном случае, как я, так и автор темы столкнулись с ситуацией, когда нуль-поинтер появляется не в одном месте, а "ПЛАВАЕТ" по всему коду инициализации ядра., в таком случае начинаешь грешить буквально на все - проверять нанд, память, блокировки, систему управления задачами, конфиги....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробовал плату с 2-я блоками питания - получил 2 разные картины... Может все дело в питании?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

там командоча есть mtest в uboot -е есть смысл запустить и запустить отдельно стоящую програмку тестирования памяти, советуют memtester - но его нужно переделать из под Linux-а в отдельно стоящую програмку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

там командоча есть mtest в uboot -е есть смысл запустить и запустить отдельно стоящую програмку тестирования памяти, советуют memtester - но его нужно переделать из под Linux-а в отдельно стоящую програмку.

 

Конечно, память тестировалась с помощью mtest, а также самописными тестами на базе кода mtest еще из бутстрапа... все ок. А вот memtester делает все то же, что и mtest, только не в режиме ядра, а в режиме пользователя.

Изменено пользователем demitry

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

memtester делает все то же, что и mtest

была у меня ситуация когда mtest проходит а memtester выдает ошибку, партия sdram была такой

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ проблему удалось как-то решить? А то проблема такая-же пристутсвует. Притом ядро грузится через раз. Память memtesterom из под линукс проверялась, ошибок нет. Что интересно, что игрался с источником регулируемым. Если ставиш питание 3.30 В ядро грузится ну с раза 5-го, а если 3.4 то грузится почти всегда.

Притом проверялось ядро на другой плате, там работает без проблем. Тое явно не ядро :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...