Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT91RM9200 - мистика? SPI? или romboot.bin?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2, 3
Dron_Gus
Цитата(PrSt @ Feb 21 2007, 18:50) *
кстати делал тест памяти - он полностью проходит

case '5':
printf("...test...\r\n");

unsigned int volatile *pSDRAM;
unsigned int wCount;
unsigned int wRead, wWrite;

// printf ("CPU %d MHz\n",GetCPUFrequencyMhz() );
// printf ("PCK %d MHz\n",GetPCKFrequencyMhz() );

while (1)
{
printf("-T WR- 0x00000000\n");
// pSDRAM = (unsigned int *) BASE_EBI_CS1_ADDRESS;
pSDRAM = (unsigned int *) 0x20000000;
// for ( wCount = 0, wWrite=0x0; wCount < 0x800000; wCount ++ )
for ( wCount = 0, wWrite=0xff; wCount < 0x4000008; wCount ++ )
{
*pSDRAM = wWrite;
wRead = *pSDRAM;
if (wWrite != wRead )
printf ("[0x%08X] = 0x%08X ( 0x%08X,0x%08X)\n",wCount,wRead^wWrite,wRead,wWrite );
pSDRAM++;
}
}
command = 0;
break;
Если Вы делали именно этот тест памяти, то он обсуждался в разделе отладочной платы Rainbow. И в процессе обсуждения пришли к выводу, что это тест при включенно кэше (а он, вроде,изначально включен) всегда будет проходиться за счет того, что данные будут гоняться только между процом и кэшем. По-идее он будет работать даже при отсутствии памяти, как таковой. smile.gif Необходимо вначале делать полное заполнение, а потом полную проверку. Я выложил свой код, правда там версия с некоторыми ошибками, но он помог мне отловить глюки с памятью.По поводу Ваших МС памяти. У меня стоят такие-же, только окончание C-TC1L, это немного другие скорости. Вечером могу выложить свою инициализацию. Как раз для кварца 18.432. У меня, опять же, работает.
This is j.b
путем игр с исходниками собрал я все же ромбут, который начал показывать флешку
Код
DataFlash:AT45DB011
Nb pages: 000512
Page Size: 000264
Size=00135168 bytes
Logical address: 0xC0000000
*----------------------------------------*
1: Download Dataflash [addr]
2: Read Dataflash [addr]
3: Start U-BOOT
4: Clear bootloader section in Dataflash
*----------------------------------------*
Enter
:

зашивать ромбут (как я понял без проблем)

Код
Modification of Arm Vector 6 :2112015                            
000122
Write 10240 bytes in DataFlash [0xc0000000].@.....)......                            
Hit a Key!aflash: OK


но при попытке залить u-boot ругается... и при сбросе платы пишет следующее:
Код
Set PLLA to 180Mhz and Master clock to 45Mhz and start U-BOOT


подскажите куда копать
PrSt
B)-->
(This is j.b @ Feb 28 2007, 09:30) *

но при попытке залить u-boot ругается... и при сбросе платы пишет следующее:
Код
Set PLLA to 180Mhz and Master clock to 45Mhz and start U-BOOT

подскажите куда копать [/quote]
ругается? и что пишет конкретно?
дело в том, что само сообщение "Set PLLA to 180Mhz and Master clock to 45Mhz and start U-BOOT" - статическое, и оно ни какий информации не несет за собой(кроме той что написано).
если после этой надписи засыпает - в вашем случае это означает что выполнение кода дальше не идет...
возможно не верно чтото проинициализировано...
This is j.b
при загрузке u-boot происходит следующее:

Код
ATMEL LOADER VER 1.01 Feb 28 2007 09:08:29
*----------------------------------------*
DataFlash:AT45DB011
Nb pages: 000512
Page Size: 000264
Size=00135168 bytes
Logical address: 0xC0000000
*----------------------------------------*
1: Download Dataflash [addr]
2: Read Dataflash [addr]
3: Start U-BOOT
4: Clear bootloader section in Dataflash
*----------------------------------------*
Enter: 1 c0008000
Download Dataflash [0xc0008000]
CCCCCCCCCC
Modification of Arm Vector 6 :21120d3

Write 107520 bytes in DataFlash [0xc0008000]
Hit a Key!aflash: Failed


у меня возникла такая мысль -- может не хватает флешки загрузчику (флешка маленькая ведь)
загрузчик весит порядка 100 Кбайт, + ромбут 10 Кбайт

надо посмотреть как ромбут пишет флешку.. т.е подряд все или с дырами (разделяя ромбут и ю-бут, раскладывая их в разные страницы)
AlexMad
B)-->
(This is j.b @ Mar 1 2007, 13:40) *

при загрузке u-boot происходит следующее:


Write 107520 bytes in DataFlash [0xc0008000]
Hit a Key!aflash: Failed

[/quote]
У меня было абсолютно тоже самое, специально сделал вывод контрольных сумм из флеша и из рамы на терминал... Вобщем, оказалось, что в ромбуте СДРАМ проинициализирована не так, как нужно для моих микросхем памяти, как только поправил - сразу заработало.
Рекомендую посмотреть на пост с тестированием памяти, там, правда, тоже про инициализацию не заикаются, но пока я не сделал, чтобы прошел тест ВСЕЙ рамы случайными числами, ничего не получалось. Потом просто функцию инициализации из теста подставил в ромбут и усе.
Код
//*----------------------------------------------------------------------------
//* \fn    AT91F_InitSDRAM
//* \brief This function performs very low level HW initialisation
//*----------------------------------------------------------------------------
void AT91F_InitSDRAM()
{
    int     i;
    volatile int     *pSDRAM = (int *)BASE_EBI_CS1_ADDRESS;

    //* Configure PIOC as peripheral (D16/D31)
    AT91F_SDRC_CfgPIO();
    
    //* Setup MEMC to support CS1=SDRAM
    AT91C_BASE_EBI->EBI_CSA |= AT91C_EBI_CS1A;
    AT91C_BASE_EBI->EBI_CFGR = (AT91C_EBI_DBPUC & 0x00) | (AT91C_EBI_EBSEN & 0x00);

    //* Init SDRAM

    //* 1. A minimum pause of 200us is provided to precede any signal toggle
/*    AT91C_BASE_SDRC->SDRC_CR = AT91C_SDRC_NC_9 | AT91C_SDRC_NR_12 | AT91C_SDRC_NB_4_BANKS | AT91C_SDRC_CAS_2
                                | 0x100 | 0x4000 | 0x8000
                                | 0x880000
                                | 0x21000000;
*/
// вот здесь нужно указать количество строк , столбцов и банков, которые присутствуют в ваших
//микрухах    
        AT91C_BASE_SDRC->SDRC_CR = AT91C_SDRC_NC_8 | AT91C_SDRC_NR_12 | AT91C_SDRC_NB_2_BANKS | AT91C_SDRC_CAS_2
                                | 0x100 | 0x4000 | 0x8000
                                | 0x880000
                                | 0x21000000;


    //* 2. A Precharge All command is issued to the SDRAM
    AT91C_BASE_SDRC->SDRC_MR = AT91C_SDRC_MODE_PRCGALL_CMD;
    *pSDRAM = 0;

    //* 3. Eight Auto-refresh are provided
    AT91C_BASE_SDRC->SDRC_MR = AT91C_SDRC_MODE_RFSH_CMD;
    for(i=0;i<8;i++)
        *pSDRAM = 0;

    //* 4. A mode register cycle is issued to program the SDRAM parameters
    AT91C_BASE_SDRC->SDRC_MR = AT91C_SDRC_MODE_LMR_CMD;
    *(pSDRAM+0x80) = 0;

    //* 5. Write refresh rate into SDRAMC refresh timer COUNT register
    AT91C_BASE_SDRC->SDRC_TR = (AT91C_SDRC_COUNT & 0x2E0);
    *pSDRAM = 0;

    //* 6. A Normal Mode Command is provided, 3 clocks after tMRD is set
    AT91C_BASE_SDRC->SDRC_MR = AT91C_SDRC_MODE_NORMAL_CMD;
    *pSDRAM = 0;
}
This is j.b
Цитата
Код
*/
// вот здесь нужно указать количество строк , столбцов и банков, которые присутствуют в ваших
//микрухах    
        AT91C_BASE_SDRC->SDRC_CR = AT91C_SDRC_NC_8 | AT91C_SDRC_NR_12 | AT91C_SDRC_NB_2_BANKS | AT91C_SDRC_CAS_2
                                | 0x100 | 0x4000 | 0x8000
                                | 0x880000
                                | 0x21000000;


а можно детальнее про AT91C_SDRC_NC_8 | AT91C_SDRC_NR_12 | AT91C_SDRC_NB_2_BANKS | AT91C_SDRC_CAS_2
кто за что тут отвечает smile.gif а то немного не понятно...
как я догадываюсь
AT91C_SDRC_NC_8 - строки
AT91C_SDRC_NR_12 - столбцы
AT91C_SDRC_NB_2_BANKS - банки
AT91C_SDRC_CAS_2 - ???

UPD. SDRAM K4S561632E-TL75
PrSt
B)-->
(This is j.b @ Mar 5 2007, 09:59) *

UPD. SDRAM K4S561632E-TL75 [/quote]
у меня такая же память, указал значение 0x2a99C259
This is j.b
Цитата(PrSt @ Mar 5 2007, 11:21) *
UPD. SDRAM K4S561632E-TL75
у меня такая же память, указал значение 0x2a99C259


попробуем! ;-)

но все же... мне кажется ю-бут не влезет в эту ДатаФлеш.

PS кто, то писал ядро, ФС в параллельную флешку...
может где-то видел статьи.. буду благодарен за информацию
PrSt
(This is j.b @ Mar 5 2007, 11:37) *
попробуем! ;-)
но все же... мне кажется ю-бут не влезет в эту ДатаФлеш.
PS кто, то писал ядро, ФС в параллельную флешку...
может где-то видел статьи.. буду благодарен за информацию
[/quote]
честно говоря это ты сыльно маленьку флэшу поствил ИМХО...
Заметь что убут можно конфигурировать по критерию колличества комант в нем... соответственно и по размеру...
смотри всторону
Код
#define CONFIG_COMMANDS        \
               ((CONFIG_CMD_DFL | \
                CFG_CMD_NET | \
            CFG_CMD_BDI | \
            CFG_CMD_PING \
            ) \
              & ~(CFG_CMD_FPGA | \
            CFG_CMD_NAND \
            ) \
            )



что касается запуска ФС, я щяс пытаюсь это дело включить, пока почемуто безрезультатно....
сто раз проверял - делаю все по статье от тогоже heavy-online
такая проблемма, может ктото все же сможет помочь...
(хотя я уже искрине сомниваюсь, судя по всему способных помочь единицы и они отмалчиватся по полной)
может ктото сможет помоч запустить ФС
вот мой лог-файл с виндового гипертерминала всего происходящего...

Код

from dataflash[c0008000] to SDRAM[20f00000]


U-Boot 1.1.1 (Mar  1 2007 - 16:52:54)

U-Boot code: 20F00000 -> 20F1C038  BSS: -> 20F20954
RAM Configuration:
Bank #0: 20000000 64 MB
Unknown flash manufacturer 0x00900090
Flash:  0 kB
DataFlash:AT45DB642
Nb pages:   8192
Page Size:   1056
Size= 8650752 bytes
Logical address: 0xC0000000
Area 0:    C0000000 to C0007FFF (RO)
Area 1:    C0008000 to C001FFFF (RO)
Area 2:    C0020000 to C0027FFF
Area 3:    C0028000 to C083FFFF
In:    serial
Out:   serial
Err:   serial
eth: setting MAC address to 11:11:11:11:11:11
p_mac->EMAC_CFG=C30

MAC: error during MII initialization
Hit any key to stop autoboot:  3  2  1  0
## Booting image at 20a00000 ...
   Image Name:  
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    1130294 Bytes =  1.1 MB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Loading Ramdisk Image at 20c00000 ...
   Image Name:  
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    1812491 Bytes =  1.7 MB
   Load Address: 20288000
   Entry Point:  20288000
   Verifying Checksum ... OK

Starting kernel ...

AT91C_CKGR_PLLAR = 2024BE04

AT91C_CKGR_PLLBR = 10483E0E

AT91C_PMC_MCKR = 302

AT91C_CKGR_MCFR = 12328

AT91C_CKGR_MOR = FF01

Linux version 2.6.19 (root@server) (gcc version 3.4.6) #17 Mon Mar 5 13:54:25 EET 2007
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0003177
Machine: Atmel AT91RM9200-DK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 170 MHz, master 42 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists.  Total pages: 16256
Kernel command line: root=/dev/ram0 rw initrd=0x20288000,0x500000 ramdisk_size=5000 mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x136000(kernel)ro,0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M
AT91: 128 gpio irqs in 4 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: 62592KB available (1804K code, 382K data, 100K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Generic PHY: Registered new driver
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
audit: initializing netlink socket (disabled)
audit(0.530:1): initialized
JFFS version 1.0, (C) 1999, 2000  Axis Communications AB
JFFS2 version 2.2. (NAND) (SUMMARY)  (C) 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
at91_spi: Baud rate set to 5328000
AT91 SPI driver loaded
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
RAMDISK driver initialized: 16 RAM disks of 5000K size 1024 blocksize
loop: loaded (max 8 devices)
LXT970: Registered new driver
LXT971: Registered new driver
Fixed PHY: Registered new driver
device_bind_driver: device fixed@100:1 already bound
at91_ether: probe of at91_ether failed with error -1
Generic platform RAM MTD, (c) 2004 Simtec Electronics
block2mtd: version $Revision: 1.30 $
NAND device: Manufacturer ID: 0x98, Chip ID: 0x39 (Toshiba NAND 8MiB 1,8V 8-bit)
flash size: 8 MiB
page size: 512 bytes
OOB area size: 16 bytes
sector size: 8 KiB
pages number: 16384
pages per sector: 16
bus width: 8
bits in sector size: 13
bits in page size: 9
bits in OOB size: 4
flash size with OOB: 8448 KiB
page address bytes: 3
sector address bytes: 2
options: 0x62
Scanning device for bad blocks
[color="#000000"]Creating 1 MTD partitions on "NAND 8MiB 1,8V 8-bit":
0x00000000-0x00800000 : "NAND simulator partition"
mtd: Giving out device 0 to NAND simulator partition[/color]
No SmartMedia card inserted.
at91_nand: probe of at91_nand failed with error 6
mice: PS/2 mouse device common for all mice
rtc-test rtc-test.0: rtc intf: sysfs
rtc-test rtc-test.0: rtc intf: proc
rtc-test rtc-test.0: rtc intf: dev (254:0)
rtc-test rtc-test.0: rtc core: registered test as rtc0
rtc-test rtc-test.1: rtc intf: sysfs
rtc-test rtc-test.1: rtc intf: dev (254:1)
rtc-test rtc-test.1: rtc core: registered test as rtc1
at91_rtc at91_rtc: rtc intf: sysfs
at91_rtc at91_rtc: rtc intf: dev (254:2)
at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc2
AT91 Real Time Clock driver.
i2c /dev entries driver
ds1307 0-0068: rtc intf: sysfs
ds1307 0-0068: rtc intf: dev (254:3)
ds1307 0-0068: rtc core: registered ds1307 as rtc3
at91_i2c at91_i2c: AT91 i2c bus driver.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
rtc-test rtc-test.0: setting the system clock to 1970-01-01 00:00:03 (3)
JFFS: Trying to mount a non-mtd device.
No filesystem could mount root, tried:  ext2 jffs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)


Кто может сказать в чем проблема?
что не так?
ФС - не монтируется...
Ни где толком найти ни чего не могу...

при этом
фс лежит на флеше C0160000, u-boot его копирует в память по адресу 20C00000
#define CONFIG_BOOTCOMMAND "cp.b C002A000 20A00000 200000; cp.b C0160000 20C00000 200000; bootm 20A00000 20C00000"
ядро лежит C002A000 и копируется в память по 20A00000

вот что передает u-boot ядру для загрузки
#define CONFIG_BOOTARGS "root=/dev/ram0 rw initrd=0x20288000,0x500000 ramdisk_size=5000 mtdparts=AT45DB642.spi0:0x2A000(boot)ro,0x136000(kernel)ro,0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M"

в кернеле
CONFIG_CMDLINE="console=ttyS0,115200 mem=64M root=/dev/ram0 rw debug"

что может означать вот это?
Creating 1 MTD partitions on "NAND 8MiB 1,8V 8-bit":
0x00000000-0x00800000 : "NAND simulator partition"
mtd: Giving out device 0 to NAND simulator partition

и тут же
JFFS: Trying to mount a non-mtd device.
No filesystem could mount root, tried: ext2 jffs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)


если верить увиденному - партиция создана... но...
vanokuten
Цитата(PrSt @ Mar 5 2007, 12:21) *
## Booting image at 20a00000 ...
Image Name:
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 1130294 Bytes = 1.1 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Loading Ramdisk Image at 20c00000 ...
Image Name:
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 1812491 Bytes = 1.7 MB
Load Address: 20288000
Entry Point: 20288000
Verifying Checksum ... OK

Starting kernel ...

AT91C_CKGR_PLLAR = 2024BE04

AT91C_CKGR_PLLBR = 10483E0E

AT91C_PMC_MCKR = 302

AT91C_CKGR_MCFR = 12328

AT91C_CKGR_MOR = FF01

Linux version 2.6.19 (root@server) (gcc version 3.4.6) #17 Mon Mar 5 13:54:25 EET 2007
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0003177
Machine: Atmel AT91RM9200-DK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 170 MHz, master 42 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists. Total pages: 16256
Kernel command line: root=/dev/ram0 rw initrd=0x20288000,0x500000 ramdisk_size=5000 mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x136000(kernel)ro,0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M
AT91: 128 gpio irqs in 4 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: 62592KB available (1804K code, 382K data, 100K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Generic PHY: Registered new driver
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
audit: initializing netlink socket (disabled)
audit(0.530:1): initialized
JFFS version 1.0, © 1999, 2000 Axis Communications AB
JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
at91_spi: Baud rate set to 5328000
AT91 SPI driver loaded
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
RAMDISK driver initialized: 16 RAM disks of 5000K size 1024 blocksize
loop: loaded (max 8 devices)
LXT970: Registered new driver
LXT971: Registered new driver
Fixed PHY: Registered new driver
device_bind_driver: device fixed@100:1 already bound
at91_ether: probe of at91_ether failed with error -1
Generic platform RAM MTD, © 2004 Simtec Electronics
block2mtd: version $Revision: 1.30 $
NAND device: Manufacturer ID: 0x98, Chip ID: 0x39 (Toshiba NAND 8MiB 1,8V 8-bit)
flash size: 8 MiB
page size: 512 bytes
OOB area size: 16 bytes
sector size: 8 KiB
pages number: 16384
pages per sector: 16
bus width: 8
bits in sector size: 13
bits in page size: 9
bits in OOB size: 4
flash size with OOB: 8448 KiB
page address bytes: 3
sector address bytes: 2
options: 0x62
Scanning device for bad blocks
Creating 1 MTD partitions on "NAND 8MiB 1,8V 8-bit":
0x00000000-0x00800000 : "NAND simulator partition"
mtd: Giving out device 0 to NAND simulator partition
No SmartMedia card inserted.
at91_nand: probe of at91_nand failed with error 6
mice: PS/2 mouse device common for all mice
rtc-test rtc-test.0: rtc intf: sysfs
rtc-test rtc-test.0: rtc intf: proc
rtc-test rtc-test.0: rtc intf: dev (254:0)
rtc-test rtc-test.0: rtc core: registered test as rtc0
rtc-test rtc-test.1: rtc intf: sysfs
rtc-test rtc-test.1: rtc intf: dev (254:1)
rtc-test rtc-test.1: rtc core: registered test as rtc1
at91_rtc at91_rtc: rtc intf: sysfs
at91_rtc at91_rtc: rtc intf: dev (254:2)
at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc2
AT91 Real Time Clock driver.
i2c /dev entries driver
ds1307 0-0068: rtc intf: sysfs
ds1307 0-0068: rtc intf: dev (254:3)
ds1307 0-0068: rtc core: registered ds1307 as rtc3
at91_i2c at91_i2c: AT91 i2c bus driver.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
rtc-test rtc-test.0: setting the system clock to 1970-01-01 00:00:03 (3)
JFFS: Trying to mount a non-mtd device.
No filesystem could mount root, tried: ext2 jffs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
[/code]

Кто может сказать в чем проблема?
что не так?
ФС - не монтируется...
Ни где толком найти ни чего не могу...

при этом
фс лежит на флеше C0160000, u-boot его копирует в память по адресу 20C00000
#define CONFIG_BOOTCOMMAND "cp.b C002A000 20A00000 200000; cp.b C0160000 20C00000 200000; bootm 20A00000 20C00000"
ядро лежит C002A000 и копируется в память по 20A00000

вот что передает u-boot ядру для загрузки
#define CONFIG_BOOTARGS "root=/dev/ram0 rw initrd=0x20288000,0x500000 ramdisk_size=5000 mtdparts=AT45DB642.spi0:0x2A000(boot)ro,0x136000(kernel)ro,0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M"

в кернеле
CONFIG_CMDLINE="console=ttyS0,115200 mem=64M root=/dev/ram0 rw debug"



Хм странненько:
>Generic platform RAM MTD, © 2004 Simtec Electronics
>block2mtd: version $Revision: 1.30 $

Это вообще не надо - MTD RAM - отключить

>JFFS: Trying to mount a non-mtd device.
>No filesystem could mount root, tried: ext2 jffs
>Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

В кернеле включить поддержку initrd.

Из CONFIG_BOOTARGS убрать initrd= и ramdisk_size= , uboot сам знает куда подсунуть initrd.
Все остальное правильно
PrSt
Цитата(vanokuten @ Mar 5 2007, 14:18) *
Хм странненько:
>Generic platform RAM MTD, © 2004 Simtec Electronics
>block2mtd: version $Revision: 1.30 $

Это вообще не надо - MTD RAM - отключить

>JFFS: Trying to mount a non-mtd device.
>No filesystem could mount root, tried: ext2 jffs
>Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

В кернеле включить поддержку initrd.

Из CONFIG_BOOTARGS убрать initrd= и ramdisk_size= , uboot сам знает куда подсунуть initrd.
Все остальное правильно


щяс стоит вот так

Код
[font="Tahoma"][size="1"] Linux Kernel v2.6.19 Configuration
────────────────────────────────────────────────────────────
  ┌─────────── Block devices ──────────┐
│ Arrow keys navigate the menu. <Enter> selects submenus --->. Highlighted letters are hotkeys. Pressing <Y> │
│ includes, <N> excludes, <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help, </> for Search. Legend: │
│ [*] built-in [ ] excluded <M> module < > module capable │
  │                                                                                                                       │
  │ ┌──────────────────────────────────────────────────────────┐ │
│ │ <*> Loopback device support │ │
│ │ < > Cryptoloop Support │ │
│ │ < > Network block device support │ │
│ │ <*> RAM disk support │ │
  │ │                      (16)  Default number of RAM disks                                                            │ │
  │ │                      (8192) Default RAM disk size (kbytes)                                                        │ │
  │ │                      (1024) Default RAM disk block size (bytes)                                                   │ │
  │ │                      [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support                           │ │
│ │ < > Packet writing on CD/DVD media │ │
│ │ < > ATA over Ethernet support │ │
  │ │                                                                                                                   │ │[/size]
[/font]


причем когда включено
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

не загружается вообще...
застряет вот здесь
Код
Memory: 64MB = 64MB total
Memory: 57348KB available (1908K code, 384K data, 100K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...


и через 5 минут гдето

Код
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 5120K
NET: Registered protocol family 16
Generic PHY: Registered new driver
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
audit: initializing netlink socket (disabled)
audit(312.995:1): initialized
JFFS version 1.0, (C) 1999, 2000  Axis Communications AB
JFFS2 version 2.2. (NAND) (SUMMARY)  (C) 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
at91_spi: Baud rate set to 5328000
AT91 SPI driver loaded
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
RAMDISK driver initialized: 16 RAM disks of 5000K size 1024 blocksize
loop: loaded (max 8 devices)
LXT970: Registered new driver
LXT971: Registered new driver
Fixed PHY: Registered new driver
device_bind_driver: device fixed@100:1 already bound
at91_ether: probe of at91_ether failed with error -1
slram: not enough parameters.
mtd: Giving out device 0 to mtdram test device
block2mtd: version $Revision: 1.30 $
mice: PS/2 mouse device common for all mice
rtc-test rtc-test.0: rtc intf: sysfs
rtc-test rtc-test.0: rtc intf: proc
rtc-test rtc-test.0: rtc intf: dev (254:0)
rtc-test rtc-test.0: rtc core: registered test as rtc0
rtc-test rtc-test.1: rtc intf: sysfs
rtc-test rtc-test.1: rtc intf: dev (254:1)
rtc-test rtc-test.1: rtc core: registered test as rtc1
at91_rtc at91_rtc: rtc intf: sysfs
at91_rtc at91_rtc: rtc intf: dev (254:2)
at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc2
AT91 Real Time Clock driver.
i2c /dev entries driver
ds1307 0-0068: rtc intf: sysfs
ds1307 0-0068: rtc intf: dev (254:3)
ds1307 0-0068: rtc core: registered ds1307 as rtc3
at91_i2c at91_i2c: AT91 i2c bus driver.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
rtc-test rtc-test.0: setting the system clock to 1970-01-01 00:05:16 (316)
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 100K
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in:
CPU: 0
PC is at init_dev+0x30/0x52c
LR is at tty_open+0xd8/0x334
pc : [<c01275c0>]    lr : [<c0127b94>]    Not tainted
sp : c0281e24  ip : c0281e6c  fp : c0281e68
r10: 00000000  r9 : c001fc24  r8 : 00000002
r7 : 00000001  r6 : 00000000  r5 : c02d3000  r4 : c025934c
r3 : 00000000  r2 : c0281e6c  r1 : 00000000  r0 : c02d3000
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment kernel
Control: C000317F
Table: 20004000  DAC: 00000017
Process swapper (pid: 1, stack limit = 0xc0280250)
Stack: (0xc0281e24 to 0xc0282000)
1e20:          00000000 c0281e70 c02d3000 00000000 00000002 c001fc24 c0281e6c
1e40: c025934c c0824ea0 00500001 00000001 00000002 c001fc24 00000000 c0281e94
1e60: c0281e6c c0127b94 c01275a0 00000000 00000000 c025934c c3d25bb4 00000000
1e80: 00000000 c0824ea0 c0281ebc c0281e98 c007bcf4 c0127acc 00000000 c0824ea0
1ea0: c3d25bb4 c007bbd0 c059b5ec c0814220 c0281ee4 c0281ec0 c0077fb0 c007bbe0
1ec0: c0824ea0 c0281f04 00000000 ffffff9c c0277000 c001f6d4 c0281efc c0281ee8
1ee0: c00780b4 c0077e38 00000000 00000002 c0281f68 c0281f00 c0078118 c0078090
1f00: c0281f04 c059b5ec c0814220 60000013 c0207f28 c0207f10 00000101 00000001
1f20: 00000000 c0282bc0 c0282bc8 c0280000 ffffffe8 c001f6d4 c0281f68 c0281f48
1f40: c00782a0 c008e5f0 00000003 00000000 c0824ea0 00000000 00000002 c0281f8c
1f60: c0281f6c c0078478 c00780dc c024d450 00000000 c0280000 00000000 c001fc24
1f80: c0281f9c c0281f90 c00784e0 c0078430 c0281ff4 c0281fa0 c00211bc c00784cc
1fa0: 00000001 c0281fb0 c0021de4 c002c374 00000000 00000000 c0021058 c0032c70
1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1fe0: 00000000 00000000 00000000 c0281ff8 c0032c70 c0021068 c0281ff8 c0281ff8
Backtrace:
[<c0127590>] (init_dev+0x0/0x52c) from [<c0127b94>] (tty_open+0xd8/0x334)
[<c0127abc>] (tty_open+0x0/0x334) from [<c007bcf4>] (chrdev_open+0x124/0x180)
r8 = C0824EA0  r7 = 00000000  r6 = 00000000  r5 = C3D25BB4
r4 = C025934C
[<c007bbd0>] (chrdev_open+0x0/0x180) from [<c0077fb0>] (__dentry_open+0x188/0x258)
r8 = C0814220  r7 = C059B5EC  r6 = C007BBD0  r5 = C3D25BB4
r4 = C0824EA0
[<c0077e28>] (__dentry_open+0x0/0x258) from [<c00780b4>] (nameidata_to_filp+0x34/0x4c)
[<c0078080>] (nameidata_to_filp+0x0/0x4c) from [<c0078118>] (do_filp_open+0x4c/0x50)
r4 = 00000002
[<c00780cc>] (do_filp_open+0x0/0x50) from [<c0078478>] (do_sys_open+0x58/0x9c)
r5 = 00000002  r4 = 00000000
[<c0078420>] (do_sys_open+0x0/0x9c) from [<c00784e0>] (sys_open+0x24/0x28)
r8 = C001FC24  r7 = 00000000  r6 = C0280000  r5 = 00000000
r4 = C024D450
[<c00784bc>] (sys_open+0x0/0x28) from [<c00211bc>] (init+0x164/0x2a4)
[<c0021058>] (init+0x0/0x2a4) from [<c0032c70>] (do_exit+0x0/0x8dc)
Code: e50b202c e50b1044 059030b0 e1a05000 (07934106)
<0>Kernel panic - not syncing: Attempted to kill init!
PrSt
Цитата(vanokuten @ Mar 5 2007, 14:18) *
Хм странненько:
>Generic platform RAM MTD, © 2004 Simtec Electronics
>block2mtd: version $Revision: 1.30 $
Это вообще не надо - MTD RAM - отключить
>JFFS: Trying to mount a non-mtd device.
>No filesystem could mount root, tried: ext2 jffs
>Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
В кернеле включить поддержку initrd.
Из CONFIG_BOOTARGS убрать initrd= и ramdisk_size= , uboot сам знает куда подсунуть initrd.
Все остальное правильно


последовал Вашему совету
вот что получилось - полный лог-файл
Код
from dataflash[c0008000] to SDRAM[20f00000]

U-Boot 1.1.1 (Mar  5 2007 - 14:50:53)

U-Boot code: 20F00000 -> 20F1C018  BSS: -> 20F20934
RAM Configuration:
Bank #0: 20000000 64 MB
Unknown flash manufacturer 0x00900090
Flash:  0 kB
DataFlash:AT45DB642
Nb pages:   8192
Page Size:   1056
Size= 8650752 bytes
Logical address: 0xC0000000
Area 0:    C0000000 to C0007FFF (RO)
Area 1:    C0008000 to C001FFFF (RO)
Area 2:    C0020000 to C0027FFF
Area 3:    C0028000 to C083FFFF
In:    serial
Out:   serial
Err:   serial
eth: setting MAC address to 11:11:11:11:11:11
p_mac->EMAC_CFG=C30

MAC: error during MII initialization
Hit any key to stop autoboot:  3  0
u-boot> r printenv

bootdelay=3
baudrate=115200
ethaddr=11:11:11:11:11:11
bootcmd=cp.b c002a000 20a00000 200000; cp.b c0160000 20c00000 200000; bootm 20a00000 20c00000
bootfile=kernel
filesize=1ba84b
fileaddr=20800000
netmask=255.255.255.0
ipaddr=192.168.1.123
serverip=192.168.1.1
bootargs=root=/dev/ram=rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M
stdin=serial
stdout=serial
stderr=serial

Environment size: 431/8188 bytes
u-boot> setenv root    bootargs=root=/dev/ram rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64V M

u-boot> saveenv

Saving Environment to dataflash...
u-boot> boot

## Booting image at 20a00000 ...
   Image Name:  
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    1187302 Bytes =  1.1 MB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Loading Ramdisk Image at 20c00000 ...
   Image Name:  
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    1812491 Bytes =  1.7 MB
   Load Address: 20288000
   Entry Point:  20288000
   Verifying Checksum ... OK

Starting kernel ...

AT91C_CKGR_PLLAR = 2024BE04

AT91C_CKGR_PLLBR = 10483E0E

AT91C_PMC_MCKR = 302

AT91C_CKGR_MCFR = 12328

AT91C_CKGR_MOR = FF01

Linux version 2.6.19 (root@server) (gcc version 3.4.6) #19 Mon Mar 5 15:06:04 EET 2007
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0003177
Machine: Atmel AT91RM9200-DK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 170 MHz, master 42 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists.  Total pages: 16256
Kernel command line: root=/dev/ram=rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M
AT91: 128 gpio irqs in 4 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: 62476KB available (1904K code, 384K data, 100K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Generic PHY: Registered new driver
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
audit: initializing netlink socket (disabled)
audit(0.530:1): initialized
JFFS version 1.0, (C) 1999, 2000  Axis Communications AB
JFFS2 version 2.2. (NAND) (SUMMARY)  (C) 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
at91_spi: Baud rate set to 5328000
AT91 SPI driver loaded
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
LXT970: Registered new driver
LXT971: Registered new driver
Fixed PHY: Registered new driver
device_bind_driver: device fixed@100:1 already bound
at91_ether: probe of at91_ether failed with error -1
slram: not enough parameters.
mtd: Giving out device 0 to mtdram test device
block2mtd: version $Revision: 1.30 $
mice: PS/2 mouse device common for all mice
rtc-test rtc-test.0: rtc intf: sysfs
rtc-test rtc-test.0: rtc intf: proc
rtc-test rtc-test.0: rtc intf: dev (254:0)
rtc-test rtc-test.0: rtc core: registered test as rtc0
rtc-test rtc-test.1: rtc intf: sysfs
rtc-test rtc-test.1: rtc intf: dev (254:1)
rtc-test rtc-test.1: rtc core: registered test as rtc1
at91_rtc at91_rtc: rtc intf: sysfs
at91_rtc at91_rtc: rtc intf: dev (254:2)
at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc2
AT91 Real Time Clock driver.
i2c /dev entries driver
ds1307 0-0068: rtc intf: sysfs
ds1307 0-0068: rtc intf: dev (254:3)
ds1307 0-0068: rtc core: registered ds1307 as rtc3
at91_i2c at91_i2c: AT91 i2c bus driver.
7
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0003177
Machine: Atmel AT91RM9200-DK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 170 MHz, master 42 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists.  Total pages: 16256
Kernel command line: root=/dev/ram=rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M
AT91: 128 gpio irqs in 4 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: 62476KB available (1904K code, 384K data, 100K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Generic PHY: Registered new driver
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
audit: initializing netlink socket (disabled)
audit(0.530:1): initialized
JFFS version 1.0, (C) 1999, 2000  Axis Communications AB
JFFS2 version 2.2. (NAND) (SUMMARY)  (C) 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
at91_spi: Baud rate set to 5328000
AT91 SPI driver loaded
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
LXT970: Registered new driver
LXT971: Registered new driver
Fixed PHY: Registered new driver
device_bind_driver: device fixed@100:1 already bound
at91_ether: probe of at91_ether failed with error -1
slram: not enough parameters.
mtd: Giving out device 0 to mtdram test device
block2mtd: version $Revision: 1.30 $
mice: PS/2 mouse device common for all mice
rtc-test rtc-test.0: rtc intf: sysfs
rtc-test rtc-test.0: rtc intf: proc
rtc-test rtc-test.0: rtc intf: dev (254:0)
rtc-test rtc-test.0: rtc core: registered test as rtc0
rtc-test rtc-test.1: rtc intf: sysfs
rtc-test rtc-test.1: rtc intf: dev (254:1)
rtc-test rtc-test.1: rtc core: registered test as rtc1
at91_rtc at91_rtc: rtc intf: sysfs
at91_rtc at91_rtc: rtc intf: dev (254:2)
at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc2
AT91 Real Time Clock driver.
i2c /dev entries driver
ds1307 0-0068: rtc intf: sysfs
ds1307 0-0068: rtc intf: dev (254:3)
ds1307 0-0068: rtc core: registered ds1307 as rtc3
at91_i2c at91_i2c: AT91 i2c bus driver.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
rtc-test rtc-test.0: setting the system clock to 1970-01-01 00:00:01 (1)
VFS: Cannot open root device "ram=rw" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
vanokuten
Цитата(PrSt @ Mar 5 2007, 15:18) *
Built 1 zonelists. Total pages: 16256
Kernel command line: root=/dev/ram=rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M
AT91: 128 gpio irqs in 4 banks
NET: Registered protocol family 17
rtc-test rtc-test.0: setting the system clock to 1970-01-01 00:00:01 (1)
VFS: Cannot open root device "ram=rw" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[/code]


root=/dev/ram rw

Лишнее = поставили
PrSt
Цитата(vanokuten @ Mar 5 2007, 18:43) *
Цитата(PrSt @ Mar 5 2007, 15:18) *

Built 1 zonelists. Total pages: 16256
Kernel command line: root=/dev/ram=rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M
AT91: 128 gpio irqs in 4 banks
NET: Registered protocol family 17
rtc-test rtc-test.0: setting the system clock to 1970-01-01 00:00:01 (1)
VFS: Cannot open root device "ram=rw" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[/code]

root=/dev/ram rw
Лишнее = поставили

самое забавное и неприятное следующее -> я не ставил это...
вот доказательство моих слов, а вот почему не верное значение передается ядру - не ясно
вот обнулил не верно записанное значение bootars, ...и пробую снова...
Код
u-boot> printenv
bootdelay=3
baudrate=115200
ethaddr=11:11:11:11:11:11
bootcmd=cp.b c002a000 20a00000 200000; cp.b c0160000 20c00000 200000; bootm 20a00000 20c00000
bootfile=kernel
filesize=1ba84b
fileaddr=20800000
netmask=255.255.255.0
ipaddr=192.168.1.123
serverip=192.168.1.1
bootargs=root=/dev/ram0 rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x136000(kernel)ro,0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M
stdin=serial
stdout=serial
stderr=serial
bootars=

Environment size: 463/8188 bytes
u-boot>

вот что кернел говорит
Код
Linux version 2.6.19 (root@server) (gcc version 3.4.6) #21 Mon Mar 5 16:29:00 EET 2007
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0003177
Machine: Atmel AT91RM9200-DK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 170 MHz, master 42 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists.  Total pages: 16256
Kernel command line: root=/dev/ram0 rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x136000(kernel)ro,0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M
AT91: 128 gpio irqs in 4 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: 62860KB available (1556K code, 347K data, 96K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Generic PHY: Registered new driver
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
audit: initializing netlink socket (disabled)
audit(0.510:1): initialized
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
at91_spi: Baud rate set to 5328000
AT91 SPI driver loaded
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
LXT970: Registered new driver
LXT971: Registered new driver
Fixed PHY: Registered new driver
device_bind_driver: device fixed@100:1 already bound
at91_ether: probe of at91_ether failed with error -1
mice: PS/2 mouse device common for all mice
rtc-test rtc-test.0: rtc intf: sysfs
rtc-test rtc-test.0: rtc intf: proc
rtc-test rtc-test.0: rtc intf: dev (254:0)
rtc-test rtc-test.0: rtc core: registered test as rtc0
rtc-test rtc-test.1: rtc intf: sysfs
rtc-test rtc-test.1: rtc intf: dev (254:1)
rtc-test rtc-test.1: rtc core: registered test as rtc1
at91_rtc at91_rtc: rtc intf: sysfs
at91_rtc at91_rtc: rtc intf: dev (254:2)
at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc2
AT91 Real Time Clock driver.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
rtc-test rtc-test.0: setting the system clock to 1970-01-01 00:00:01 (1)
No filesystem could mount root, tried:  ext2
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
vanokuten
У тебя же работало все и монтировалось, единственно что init прибивался:

Memory: 64MB = 64MB total
Memory: 57348KB available (1908K code, 384K data, 100K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...

и через 5 минут гдето

RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 100K


Показывает что твой initrd нашелся, ты мог в initrd например busybox криво скомпилять или linuxrc линку на busybox не поставить

Долгая проверка на "checking if image is initramfs..." указывает на проблемы с SDRAM или clocks&timings неправильные или cache не включен
This is j.b
собрал все таки u-boot, решил проблему с зависаниями на
Код
Set PLLA to 180Mhz and Master clock to 45Mhz and start U-BOOT


при загрузке на терминал вылетает следующее:

Код
RAM Configuration:
Bank #0: 20000000 64 MB
AMD: MirrorBit family: unknown chip ID
Flash:  0 kB
DataFlash:AT45DB161
Nb pages:   4096
Page Size:    528
Size= 2162688 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C0007FFF (RO)
Area 1: C0008000 to C001FFFF (RO)
Area 2: C0020000 to C0027FFF
Area 3: C0028000 to C020FFFF
In:    serial
Out:   serial
Err:   serial
eth: setting MAC address to 11:11:11:11:11:11
PHY not connected!!  <---- :((( что не так???
Hit any key to stop autoboot:  0
Outside available DataFlash
Outside available DataFlash
## Booting image at 20a00000 ...
Bad Magic Number
u-boot ->


сетевая не поднялась?? что не нравится ?

Код
u-boot -> printenv
bootargs=
bootcmd=
bootdelay=3
baudrate=115200
ethaddr=11:11:11:11:11:11
ipaddr=192.168.1.123
serverip=192.168.1.1
netmask=255.255.255.0
bootfile="uImage"
stdin=serial
stdout=serial
stderr=serial

Environment size: 418/8188 bytes
PrSt
[quote name='vanokuten' post='220645' date='Mar 7 2007, 12:06']
У тебя же работало все и монтировалось, единственно что init прибивался:
Memory: 64MB = 64MB total
Memory: 57348KB available (1908K code, 384K data, 100K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...

и через 5 минут гдето
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 100K


Показывает что твой initrd нашелся, ты мог в initrd например busybox криво скомпилять или linuxrc линку на busybox не поставить
Долгая проверка на "checking if image is initramfs..." указывает на проблемы с SDRAM или clocks&timings неправильные или cache не включен
[/quote]

ну не знаю-не знаю 8)))
наботало или нет - результат то был виден один - неработало до конца...
В связи с этем пришлось дальше капать-разбираться...
(Жаль что советы не все помогали, но - помогли однако некоторые )
вобщем, разобрался, правда времени кучу ушло...
...
результат (зяставляя себя ждать) был получен, вот он красивый какой...
- ядро мое (с включенным самым необходимым)
- файловая система от сборки с статьи (heavy-online)

Код
[b]
[/b][b]Load U-BOOT from dataflash[c0008000] to SDRAM[20f00000]

U-Boot 1.1.1 (Mar  6 2007 - 14:02:42)

U-Boot code: 20F00000 -> 20F1BF68  BSS: -> 20F20884
RAM Configuration:
Bank #0: 20000000 64 MB
Unknown flash manufacturer 0x00900090
Flash:  0 kB
DataFlash:AT45DB642
Nb pages:   8192
Page Size:   1056
Size= 8650752 bytes
Logical address: 0xC0000000
Area 0:    C0000000 to C0007FFF (RO)
Area 1:    C0008000 to C001FFFF (RO)
Area 2:    C0020000 to C0027FFF
Area 3:    C0028000 to C083FFFF
In:    serial
Out:   serial
Err:   serial
eth: setting MAC address to 11:11:11:11:11:11
p_mac->EMAC_CFG=C30

MAC: error during MII initialization
Hit any key to stop autoboot:  5  4  3  2  1  0
## Booting image at 20a00000 ...
   Image Name:  
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    631800 Bytes = 617 kB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Loading Ramdisk Image at 20c00000 ...
   Image Name:  
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    1807723 Bytes =  1.7 MB
   Load Address: 20288000
   Entry Point:  20288000
   Verifying Checksum ... OK

Starting kernel ...

- - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linux version 2.6.19 (root@server) (gcc version 3.4.6) #11 Wed Mar 7 10:20:12 EET 2007
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0003177
Machine: Atmel AT91RM9200-DK
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 16384
  DMA zone: 128 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 16256 pages, LIFO batch:3
  Normal zone: 0 pages used for memmap
Clocks: CPU 170 MHz, master 42 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists.  Total pages: 16256
Kernel command line: root=/dev/ram rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x136000(kernel)ro, 0x200300(initrd)ro,-(filesystem)  console=ttyS0,115200 mem=64M debug init=/linuxrc
AT91: 128 gpio irqs in 4 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: 61816KB available (1008K code, 196K data, 80K init)
Calibrating delay loop... 85.19 BogoMIPS (lpj=425984)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 1765K
io scheduler noop registered (default)
at91_spi: Baud rate set to 5328000
AT91 SPI driver loaded
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffc4000 (irq = 7) is a ATMEL_SERIAL
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
Generic platform RAM MTD, (c) 2004 Simtec Electronics
slram: not enough parameters.
mtd: Giving out device 0 to mtdram test device
block2mtd: version $Revision: 1.30 $
mice: PS/2 mouse device common for all mice
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 80K

init started:  BusyBox v1.1.2 (2006.05.05-15:29+0000) multi-call binary


Starting system...
Configuring loopback interface...
ifconfig: socket: Function not implemented
Configuring eth0: 192.168.2.77...
ifconfig: socket: Function not implemented
Starting telnetd...
telnetd: socket: Function not implemented


BusyBox v1.1.2 (2006.05.05-15:29+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

[root@AT91RM9200 /]$ls
bin         home        lost+found  root        usr
dev         lib         mnt         sbin        var
etc         linuxrc     proc        tmp
[root@AT91RM9200 /]$
[            dmesg        id           mkfs.ext3    reboot       test
[[           du           ifconfig     mkfs.jffs2   renice       top
ash          echo         init         mkfs.minix   reset        touch
basename     egrep        insmod       mknod        rm           tr
busybox      env          kill         mktemp       rmdir        traceroute
cat          expr         killall      modprobe     rmmod        true
chgrp        false        klogd        more         route        umount
chmod        fdisk        less         mount        rx           uname
chown        fgrep        ln           mv           sh           uptime
clear        free         logger       netstat      sleep        usleep
cp           ftpget       login        nice         stty         vi
crond        ftpput       ls           nohup        su           wc
crontab      getty        lsmod        nslookup     sync         wget
date         grep         mesg         passwd       syslogd      yes
dd           gunzip       mkdir        ping         tail         zcat
deco         halt         mke2fs       poweroff     tee
df           head         mkfifo       ps           telnet
dirname      hostname     mkfs.ext2    pwd          telnetd

[root@AT91RM9200 /][/b]


в основном вот что важно было в моем случае, причем вшитое именно в кернел...
Kernel command line: root=/dev/ram rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x136000(kernel)ro, 0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M debug init=/linuxrc
а также:
+ корректно собранное ядро
+ корректно сконфигурированое окружение переменных в U-Boot(ver-1.1.1) и верно работающий Romboot
+ кучка мелких тонкослей, которые были обсуждены в предыдущих 113 мессаджах, но без них ни как... 8)))


вобщем, еще конечно много чего впереди - но основное уже для начала - достигнуто 8))))



.




B)-->
(This is j.b @ Mar 7 2007, 12:33) *

Код
....
eth: setting MAC address to 11:11:11:11:11:11
PHY not connected!!  <---- :((( что не так???
....

сетевая не поднялась?? что не нравится ?
[/quote]
похоже сетевая не поднялась или нечто более того...
ты командой ping проверял?
что возврящяет ping ?

это не ей не нравится - это чтото у тя не так
1 - у тебя какой езернет чип?
2 - он у тя вообще есть?
3 - пайка его корректная в участке схемы с MII?
vanokuten
>Kernel command line: root=/dev/ram rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x136000(kernel)ro, >0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M debug init=/linuxrc

То же самое можно и через параметр u-boot bootargs задавать
Странно что у тебя через u-boot не работает а приходится в конфигурации kernelа прописывать





По поводу PHY not connected , в uboot есть полезная команда mii через которую можно с PHY чипом общаться
dch
ну слава богу, кстати наблюдается картина - вид форума разный из Firebox и из IE. Из Firebox в верхней части несколько сообщений, а под ними дерево всей ветки (выведена только одна строка), и выведенные сообщения отмечены желтым, но когда тыкаеш в сообщения из конца дерева - выдается ошибка. Количество страниц в Firebox - 3. Когда смотриш из IE страниц 8 и никакого дерева нет, и сообщения развернуты и никакой ошибки не возникает.
This is j.b
у мну FireFox 2.0.0.2 -- количество станиц 8 --- все ОК smile.gif)

так.. вроде сетевая завелась...
не без помощи PrSt... подсказывал ритм бубну smile.gif
теперь виже следующее
Код
Bank #0: 20000000 64 MB
AMD: MirrorBit family: unknown chip ID
Flash:  0 kB
DataFlash:AT45DB161
Nb pages:   4096
Page Size:    528
Size= 2162688 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C0007FFF (RO)
Area 1: C0008000 to C001FFFF (RO)
Area 2: C0020000 to C0027FFF
Area 3: C0028000 to C020FFFF
In:    serial
Out:   serial
Err:   serial
eth: setting MAC address to 11:11:11:11:11:11
PHY: LXT972 detected
MAC: error during MII initialization  <--- это ошибка или ... можно пропустить
Hit any key to stop autoboot:  0
Outside available DataFlash
Outside available DataFlash
## Booting image at 20a00000 ...
Bad Magic Number


на команду пинг отвечает
Код
u-boot -> ping 192.168.1.1
eth: setting MAC address to 11:11:11:11:11:11
PHY: LXT972 detected
host 192.168.1.1 is alive


как я понимаю все ОК??
на компе по arp -a вижу
Код
192.168.1.123         11-11-11-11-11-11     dynamic

вроде норм...

можно двигать в сторону ядра и ФС??
PrSt
Цитата(vanokuten @ Mar 12 2007, 12:36) *
>Kernel command line: root=/dev/ram rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x136000(kernel)ro, >0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M debug init=/linuxrc

То же самое можно и через параметр u-boot bootargs задавать
Странно что у тебя через u-boot не работает а приходится в конфигурации kernelа прописывать

По поводу PHY not connected , в uboot есть полезная команда mii через которую можно с PHY чипом общаться

да....
можно задавать и в u-boot bootargs, оно работает, но архи-неудобно...,
мне не нравится что когда через гипертерминал это задаеш, то писать долго да еще и если ошибся в начале - все перезаписывать.... так как работает только backspace
так как строко длинная, куда быстрее открыть конфиг, его поправить и скоппилить....

да кстати - а кто знает? как удалять ошибочно созданные переменные окружения в u-boot ?

vanokuten
Цитата(PrSt @ Mar 12 2007, 16:41) *
Цитата(vanokuten @ Mar 12 2007, 12:36) *

>Kernel command line: root=/dev/ram rw mtdparts=AT45DB642.spi0:0x2a000(boot)ro,0x136000(kernel)ro, >0x200300(initrd)ro,-(filesystem) console=ttyS0,115200 mem=64M debug init=/linuxrc

То же самое можно и через параметр u-boot bootargs задавать
Странно что у тебя через u-boot не работает а приходится в конфигурации kernelа прописывать

По поводу PHY not connected , в uboot есть полезная команда mii через которую можно с PHY чипом общаться

да....
можно задавать и в u-boot bootargs, оно работает, но архи-неудобно...,
мне не нравится что когда через гипертерминал это задаеш, то писать долго да еще и если ошибся в начале - все перезаписывать.... так как работает только backspace
так как строко длинная, куда быстрее открыть конфиг, его поправить и скоппилить....

да кстати - а кто знает? как удалять ошибочно созданные переменные окружения в u-boot ?




setenv имя_переменной и нажать ENTER
megaloki
Вопрос к PrSt !!!

Вот купил себе платку EVM9200 От dch, ну и перфым делом впаял туда 64М рамы (2*256Мбит).

Вот теперь незнаю как заставить u-boot коректно их видеть? Я так понимаю надо изменить гдето в соурсах настройку банков памяти для контроллера? Подскажыте где про ето можно почитать или где что изменить.....

Смотрел на вашу схему у меня рама запаяна также...
PrSt
Цитата(megaloki @ Mar 12 2007, 17:47) *
Вопрос к PrSt !!!
Вот купил себе платку EVM9200 От dch, ну и перфым делом впаял туда 64М рамы (2*256Мбит).
Вот теперь незнаю как заставить u-boot коректно их видеть? Я так понимаю надо изменить гдето в соурсах настройку банков памяти для контроллера? Подскажыте где про ето можно почитать или где что изменить.....
Смотрел на вашу схему у меня рама запаяна также...

... отвечаю, может поможет, правда у меня не EVM9200, но похожа...
срузу скажу - romboot также должен корректно видеть память и всю ее область...

теперь про сам u-boot-1.1.1
...у меня версия 1.1.1
сделал таким образом (может есть еще какойто - я увидел только такой путь)

файл - RM9200.h
...
//#define DRAM_SIZE_16MB
#define DRAM_SIZE_64MB // veter <-- это самое основное, но нужно еще чуть ниже подправлять обязательно
...
#ifdef DRAM_SIZE_16MB
#define PHYS_SDRAM_SIZE 0x01000000 /* 16 megs */
#else
//#define PHYS_SDRAM_SIZE 0x02000000 /* 32 megs */
#define PHYS_SDRAM_SIZE 0x04000000 // veter /* 64 megs */
#endif /* DRAM_SIZE_16MB */
...
#ifdef DRAM_SIZE_16MB
//#define CFG_LOAD_ADDR 0x20800000 /* default load address */
//#define CFG_LOAD_ADDR 0x20007fc0 /* default load address */
#define CFG_LOAD_ADDR 0x20008000 // veter /* default load address */
#else
//#define CFG_LOAD_ADDR 0x21000000 /* default load address */
//#define CFG_LOAD_ADDR 0x20007fc0 /* default load address */
#define CFG_LOAD_ADDR 0x20008000 // veter /* default load address */
#endif /* DRAM_SIZE_16MB */
...

логика тут простая - если не 16M, то 64M, и всего лишь...
у меня работает...
опять таки это так как реализовал я - может есть иные пути, я их просто не увидел...
Dron_Gus
Цитата(PrSt @ Mar 13 2007, 09:50) *
срузу скажу - romboot также должен корректно видеть память и всю ее область...




Разрешите вклинюсь в разговор... Как я понимаю ромбут тоже должен инициализировать SDRAM? Где это подправляется?
PrSt
Цитата(Dron_Gus @ Mar 13 2007, 13:19) *
Цитата(PrSt @ Mar 13 2007, 09:50) *

срузу скажу - romboot также должен корректно видеть память и всю ее область...

Разрешите вклинюсь в разговор... Как я понимаю ромбут тоже должен инициализировать SDRAM? Где это подправляется?

так тут в топике это уже обсуждалось, гдето на предыдущих 124х месаджах 8)))
шагать нада в init.cpp
а там есть процедурка
//*--------------------------------------------------------------------------------------
//* Function Name : AT91F_InitSdram
//* Object : Initialize the SDRAM
//* Input Parameters :
//* Output Parameters :
//*--------------------------------------------------------------------------------------
void AT91F_InitSdram()
{
...
}

вот в ней это и делается...
Dron_Gus
С romboot вроде разобрался... Тайминги настроил... Теперь возник вопрос, почему u-boot грузится по такому странному адресу 0х20f00000? Почему не в начало SDRAM (0x20000000)? Ему ведь надо ремап векторов сделать?
PrSt
Цитата(vanokuten @ Mar 7 2007, 12:06) *
Долгая проверка на "checking if image is initramfs..." указывает на проблемы с SDRAM или clocks&timings неправильные или cache не включен

на второй плате осталась проблема с "checking if image is initramfs..." а на первой все ОК

Вы правы - проблемма "checking if image is initramfs..." как ни странно - исчезла после того как я для експеремента изменил значение тактовой чатсоты с
Код
main.cpp
....
#define AT91C_PLLA_VALUE        0x2024be04
на
#define AT91C_PLLA_VALUE        0x2023be04

немного искозились данный по USART, потому что не соответствует тактовая и ошибки, так и должно быть...
сразу стартонуло ядро без задержек и без тормозов на этапе "checking if image is initramfs..."

теперь правда, не ясно почему такая проблема, если верить ядру
Clocks: CPU 165 MHz, master 41 MHz, main 18.432 MHz

тоесть 41 MHz, частота памяти, ну обязана она работать на этой частоте, корректно как мне какжется... может инициализация памяти как то может сказываться?
стоит
Код
init.cpp
....
       *pRegister = 0x2a99C259;


да и работают обе платы на какихто неверных частотах
Код
Clocks: CPU 170 MHz, master 42 MHz, main 18.432 MHz


причем эта проблемма из 2х плат только на одной так сказывается....

может ктото что может подсказать?
подскажите плз...
vanokuten
А вообще SDRAM проверял из uboot
и из linux что вся нормально работает?

У меня была помню проблемка вроде linux нормально грузился
но когда начинал по полной все пространство SDRAM использовать то kernel краши были
Дело было как обычно в таймингах SDRAM в romboot
This is j.b
проблема с сетевой ...
в u-boot сетевая работает (пингует, по tftp качается все)
в линуксе она замирает sad.gif
Код
[root@AT91RM9200 /]$ifconfig
eth0      Link encap:Ethernet  HWaddr 00:12:34:56:78:BC
          inet addr:192.168.2.77  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:53 dropped:0 overruns:0 frame:53
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:756 (756.0 B)
          Interrupt:24 Base address:0xc000


Код
[root@AT91RM9200 /]$ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 56 data bytes

--- 192.168.2.1 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss


сетевая LXT971A, лог загрузки ОС приложен

в чем проблема может быть??? (+RX ошибки и принято 0.0B)
d__
...
eth0: Link down.
...
Попробуй с консоли набрать:
ifconfig eth0 up
This is j.b
Цитата(d__ @ Mar 21 2007, 09:56) *
...
eth0: Link down.
...
Попробуй с консоли набрать:
ifconfig eth0 up


но! после старта системы сетевая то стоит

а подъем ее ни к чему не приводит...
кстати, порой, после ifconfig eth0 down (eth0: Link down.)
потом
ifconfig eth0 up
не появляются сообщения
eth0: Link now 10-FullDuplex
eth0: Link now 100-FullDuplex

по dmesg вижу eth0: Link down.
PrSt
(This is j.b @ Mar 21 2007, 08:59) * проблема с сетевой ...
в u-boot сетевая работает (пингует, по tftp качается все)
в линуксе она замирает sad.gif
....
в чем проблема может быть??? (+RX ошибки и принято 0.0B) [/quote]

у меня на одной плате все завелось и работает как положено, с сетью...

вторая идентичная плата....
а на второй плате идентичной, беда такая же ...

Код
[root@AT91RM9200 /]$ifconfig  eth0 192.168.1.123 up
[root@AT91RM9200 /]$ifconfig
eth0      Link encap:Ethernet  HWaddr 12:34:56:78:9A:BC  
          inet addr:192.168.1.123  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:24 Base address:0xc000

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

[root@AT91RM9200 /]$ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes

--- 192.168.1.1 ping statistics ---
13 packets transmitted, 0 packets received, 100% packet loss


пробовал даже не изменять сегмент с 2 на 1, вот...

Код
Starting system...
Configuring loopback interface...
Configuring eth0: 192.168.2.77...
eth0: Link now 100-FullDuplex
eth0: Link now 100-FullDuplex
Starting telnetd...


BusyBox v1.1.2 (2006.05.05-15:29+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

[root@AT91RM9200 /]$ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 56 data bytes

--- 192.168.2.1 ping statistics ---
8 packets transmitted, 0 packets received, 100% packet loss
[root@AT91RM9200 /]$
[root@AT91RM9200 /]$ifconfig
eth0      Link encap:Ethernet  HWaddr 12:34:56:78:9A:BC  
          inet addr:192.168.2.77  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:42 (42.0 B)
          Interrupt:24 Base address:0xc000

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:792 (792.0 B)  TX bytes:792 (792.0 B)

[root@AT91RM9200 /]$
[root@AT91RM9200 /]$route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
[root@AT91RM9200 /]$
[root@AT91RM9200 /]$cat /proc/net/arp
IP address       HW type     Flags       HW address            Mask     Device
[root@AT91RM9200 /]$
[root@AT91RM9200 /]$cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.1.1 (September 26, 2006)

Bonding Mode: load balancing (round-robin)
MII Status: down
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
[root@AT91RM9200 /]$


поднимается, назначается интерфейс но не пингуется...
действительно...
аналогичный вопрос, кто с таким сталкивался?
vanokuten
Цитата(PrSt @ Mar 23 2007, 09:38) *
поднимается, назначается интерфейс но не пингуется...
действительно...
аналогичный вопрос, кто с таким сталкивался?


У меня на нескольких платах из серии было такое
Был непропай физики Ethernet

Проблема скорее всего аппаратного уровня
Стань осциллографом на физику посмотри бегают ли Auto negotiate пакеты
PrSt
Цитата(vanokuten @ Mar 23 2007, 14:03) *
У меня на нескольких платах из серии было такое
Был непропай физики Ethernet
Проблема скорее всего аппаратного уровня
Стань осциллографом на физику посмотри бегают ли Auto negotiate пакеты

про физику - это первое про что я подумал
я его уже и пропаивал - выпаивал, и снова впаивал....
и вновь пропаивал....
сбивает столку следующее - ведь под u-bootом же оно работает...!

не думаю что это программно чтото, хотя все может быть...
да и втарая плата - работает...

щяс полезу искать осцилом(да еще и херовеньким, может что то и увижу им)...
подскажите - где смотреть то? что должен увидеть?
смотреть на самом RJ45 или на MII ?
This is j.b
до Linux на плате стоял QNX... в нем сеть бегала нормально. Так что непропай отпадает smile.gif

да и в u-boot все работает...

МИСТИКА?!?!

(PrSt. одна плата завелась вторая (идентичная) нет.... хммм..........)
PrSt
B)-->
(This is j.b @ Mar 25 2007, 22:57) *
до Linux на плате стоял QNX... в нем сеть бегала нормально. Так что непропай отпадает smile.gif
да и в u-boot все работает...
МИСТИКА?!?!
(PrSt. одна плата завелась вторая (идентичная) нет.... хммм..........) [/quote]
видать это не мистика, а таки гдето "кастыли" как у мненя так и у Вас j.b, вот только найти где спрятались кастыли у меня чтото покаместь не получается...
согласен, врядли это аппаратное болото, так как у меня в u-boot, тоже все работает...
буду капать дальше, возможно сегодня с осцилом залезу в плату рабочую и не рабочую....
иного пути не вижу просто
vanokuten
Цитата(PrSt @ Mar 26 2007, 09:56) *
cool.gif--><div class='quotetop'>(This is j.b @ Mar 25 2007, 22:57) *</div><div class='quotemain'><!--quotec--> до Linux на плате стоял QNX... в нем сеть бегала нормально. Так что непропай отпадает smile.gif
да и в u-boot все работает...
МИСТИКА?!?!
(PrSt. одна плата завелась вторая (идентичная) нет.... хммм..........)
видать это не мистика, а таки гдето "кастыли" как у мненя так и у Вас j.b, вот только найти где спрятались кастыли у меня чтото покаместь не получается...
согласен, врядли это аппаратное болото, так как у меня в u-boot, тоже все работает...
буду капать дальше, возможно сегодня с осцилом залезу в плату рабочую и не рабочую....
иного пути не вижу просто


Да сорри ступил ведь в u-boot работает сеть а linux нет
А переменные окружения одинаковые на обоих платах и uboot одинаковый надеюсь?
ну по моему становить printk в at91_ether.с надо и смотреть где различие
PrSt
Цитата(PrSt @ Mar 26 2007, 09:56) *
(This is j.b @ Mar 25 2007, 22:57) * до Linux на плате стоял QNX... в нем сеть бегала нормально. Так что непропай отпадает smile.gif
да и в u-boot все работает...
МИСТИКА?!?!

разобрался, заработали все 3 платы ...
для LXT972 нужно режим работы MII, а не как по умолчанию для DK-платы режим RMII...
в board-dk.c нужно исправить
Код
static struct at91_eth_data __initdata dk_eth_data = {
//      .phy_irq_pin    = AT91_PIN_PC4,
//      .is_rmii        = 1,
         .is_rmii        = 0,
};

уверен если у Вас выбрано DK-плата то Вам нужно также сделать...
надеюсь у Вас тоже получится...

пойду ка я покопаю дальше....
This is j.b
да, заработало, отлично!!!

кстати, для работы сетевой ОБЯЗАТЕЛЬНО нада указать валидный MAC в u-boot, иначе сетевая не будет подниматься в Linux!

спасибо всем, кто принимал участие в конференции
надеюсь 140 постов помогут многим в поднятии этого дела

(так же думаю продолжить -- настроить кард-ридер, и пр переферию)
vanokuten
Цитата(PrSt @ Mar 27 2007, 10:26) *
разобрался, заработали все 3 платы ...
для LXT972 нужно режим работы MII, а не как по умолчанию для DK-платы режим RMII...
в board-dk.c нужно исправить
Код
static struct at91_eth_data __initdata dk_eth_data = {
//      .phy_irq_pin    = AT91_PIN_PC4,
//      .is_rmii        = 1,
         .is_rmii        = 0,
};

уверен если у Вас выбрано DK-плата то Вам нужно также сделать...
надеюсь у Вас тоже получится...

пойду ка я покопаю дальше....


остался только неясный вопросик как могла работать одна плата а другая нет при одинаковых конфигах :-)
PrSt
Цитата(vanokuten @ Mar 27 2007, 14:04) *
остался только неясный вопросик как могла работать одна плата а другая нет при одинаковых конфигах :-)

могла
я редактировал этот кусок, паралельно капался в аппаратной части, потом подумал что это не влияет и вернул 0 на 1, и забыл про ето... и дальше уже пробовал с 1й в структуре....
я вчера взял свое текущее ядро, взял собранное ядро напарника (он оставил пропаченое место у себя в ядре, когда разбирался с езернетом) и сравнил где разница... разница была именно в MII и RMII, собственно так и нашел...
PrSt
Цитата(PrSt @ Mar 27 2007, 14:21) *
....


Так как тут уже расмотрен вопрос старта Linux на AT91RM9200 - предлогаю переместиться в новую тему, в которой уже будут рассматриваться специфические вопросы настройки и сборки полноценного линукса:

Linux + AT91RM9200 + настройка...
Берем все от контроллера, что только возможно ! Разгоняем производительность

---> http://electronix.ru/forum/index.php?showtopic=29261
amw
B)-->
(This is j.b @ Mar 27 2007, 11:30) *

да, заработало, отлично!!!

кстати, для работы сетевой ОБЯЗАТЕЛЬНО нада указать валидный MAC в u-boot, иначе сетевая не будет подниматься в Linux!
[/quote]

А что вот это не работает?
Код
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 hw ether 11:22:33:44:55:66 up


Цитата
спасибо всем, кто принимал участие в конференции
надеюсь 140 постов помогут многим в поднятии этого дела

(так же думаю продолжить -- настроить кард-ридер, и пр переферию)
PrSt
Цитата(amw @ Mar 27 2007, 18:04) *
А что вот это не работает?
Код
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 hw ether 11:22:33:44:55:66 up

сам метод такой рабочий, только ядро "фильтрует базар", кстати метод такой - ручной.... даже если через скрипт загрузки - это не корректно, но и не опасно...

видимо ядро проверят верность указанного ARP (я даже когда-то чтото подобное в исходниках находил, но забыл про это), а так как при загрузке именно u-boot назаначает ARP, то корректно в нем нужно его указать для корректного старта системы с сетью...

вот так не поднимается...
Код
[root@AT91RM9200_SK /]$ifconfig eth0 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255 hw ether 11:22:33:44:55:66 up
eth0: Link now 100-FullDuplex
SIOCSIFHWADDR: Cannot assign requested address
[root@AT91RM9200_SK /]$


а вот так все поднимается в несколькими матами...
Код
[root@AT91RM9200_SK /]$ifconfig eth0 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255 hw ether 00:11:22:33:44:55 up
SIOCSIFFLAGSeth0: Setting MAC address to 00:11:22:33:44:55
: Cannot assigeth0: Link now 100-FullDuplex
n requested address
[root@AT91RM9200_SK /]$ifconfig
eth0      Link encap:Ethernet  HWaddr 00:11:22:33:44:55  
           inet addr:192.168.1.123  Bcast:192.168.1.255  Mask:255.255.255.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:1 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:346 (346.0 B)  TX bytes:0 (0.0 B)
           Interrupt:24 Base address:0xc000

lo        Link encap:Local Loopback  
           inet addr:127.0.0.1  Mask:255.0.0.0
           UP LOOPBACK RUNNING  MTU:16436  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

[root@AT91RM9200_SK /]$ping server
PING server (192.168.1.1): 56 data bytes
84 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.9 ms
This is j.b
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 hw ether 11:22:33:44:55:66 up

не поднимицо... мас инвалидный
LSB первого байта не должен быть равен "1"
COMA
у меня прошит в убуте MAC = 12:34:56:78:9A:12

и все работает прекрасно smile.gif
amw
B)-->
(This is j.b @ Mar 28 2007, 11:26) *

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 hw ether 11:22:33:44:55:66 up

не поднимицо... мас инвалидный
LSB первого байта не должен быть равен "1"
[/quote]
Во первых MAC взят с потолка для примера.
Во вторых, таки запустится, ибо в драйверу (моему) начхать на валидность. Проверялось. Именно эти цифры писались при первой попытке настроить, посмотреть что будет, а потом составлять валидный MAC.
В третьих, вопрос не по валидности а по способу назначения.

Цитата
сам метод такой рабочий, только ядро "фильтрует базар", кстати метод такой - ручной.... даже если через скрипт загрузки - это не корректно, но и не опасно...

А что в этом методе некорректного?
Имею встроенный в процессор Ethernet и флеш I2C. В этом флеш прошивается MAC. Для каждой платы свой. При запуске скрипт вычитывает MAC из флеш и устанавливает указанным способом.
Что можеш предложить "корректного"?
Цитата
видимо ядро проверят верность указанного ARP (я даже когда-то чтото подобное в исходниках находил, но забыл про это), а так как при загрузке именно u-boot назаначает ARP, то корректно в нем нужно его указать для корректного старта системы с сетью...

При чем тут ARP?
Ну не знаю, не знаю... Думаю дело не в ядре вообще а в драйвере.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.