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

AT91RM9200 - мистика? SPI? или romboot.bin?

>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 ?

 

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


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

>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

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


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

Вопрос к PrSt !!!

 

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

 

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

 

Смотрел на вашу схему у меня рама запаяна также...

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


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

Вопрос к 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, и всего лишь...

у меня работает...

опять таки это так как реализовал я - может есть иные пути, я их просто не увидел...

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


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

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

 

 

 

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

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


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

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

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

так тут в топике это уже обсуждалось, гдето на предыдущих 124х месаджах 8)))

шагать нада в init.cpp

а там есть процедурка

//*--------------------------------------------------------------------------------------

//* Function Name : AT91F_InitSdram

//* Object : Initialize the SDRAM

//* Input Parameters :

//* Output Parameters :

//*--------------------------------------------------------------------------------------

void AT91F_InitSdram()

{

...

}

 

вот в ней это и делается...

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


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

С romboot вроде разобрался... Тайминги настроил... Теперь возник вопрос, почему u-boot грузится по такому странному адресу 0х20f00000? Почему не в начало SDRAM (0x20000000)? Ему ведь надо ремап векторов сделать?

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


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

Долгая проверка на "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х плат только на одной так сказывается....

 

может ктото что может подсказать?

подскажите плз...

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


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

А вообще SDRAM проверял из uboot

и из linux что вся нормально работает?

 

У меня была помню проблемка вроде linux нормально грузился

но когда начинал по полной все пространство SDRAM использовать то kernel краши были

Дело было как обычно в таймингах SDRAM в romboot

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

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


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

проблема с сетевой ...

в u-boot сетевая работает (пингует, по tftp качается все)

в линуксе она замирает :(

[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)

boot_my6.TXT

Изменено пользователем This is j.b

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


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

...

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.

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


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

(This is j.b @ Mar 21 2007, 08:59) <{POST_SNAPBACK}> проблема с сетевой ...

в u-boot сетевая работает (пингует, по tftp качается все)

в линуксе она замирает :(

....

в чем проблема может быть??? (+RX ошибки и принято 0.0B)

 

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

 

вторая идентичная плата....

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

 

[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 /]$

 

поднимается, назначается интерфейс но не пингуется...

действительно...

аналогичный вопрос, кто с таким сталкивался?

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


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

поднимается, назначается интерфейс но не пингуется...

действительно...

аналогичный вопрос, кто с таким сталкивался?

 

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

Был непропай физики Ethernet

 

Проблема скорее всего аппаратного уровня

Стань осциллографом на физику посмотри бегают ли Auto negotiate пакеты

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


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

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

Был непропай физики Ethernet

Проблема скорее всего аппаратного уровня

Стань осциллографом на физику посмотри бегают ли Auto negotiate пакеты

про физику - это первое про что я подумал

я его уже и пропаивал - выпаивал, и снова впаивал....

и вновь пропаивал....

сбивает столку следующее - ведь под u-bootом же оно работает...!

 

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

да и втарая плата - работает...

 

щяс полезу искать осцилом(да еще и херовеньким, может что то и увижу им)...

подскажите - где смотреть то? что должен увидеть?

смотреть на самом RJ45 или на MII ?

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


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

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

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

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

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

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

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

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

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

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