|
Как поднять uClinux ... |
|
|
|
Aug 3 2005, 19:04
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609

|
В общем ламерский вопрос ... Задался целью поднять на Xilinx StarterKit (Spartan3-200) ucLinux. Прикрутил через расширительный разъем SDRAM 32MB. И тут самое интересное - "что делать дальше"? полазил на http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux/, дык там все примеры для других плат. Скачал пример для платы со Spartan3-2000, выкинул "не нужную" периферию - ничего не вышло  Как сделать образ с нужными мне модулями и какая периферия жизненно необходима?
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
 |
Ответов
(30 - 44)
|
Nov 14 2005, 17:56
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892

|
Цитата(3.14 @ Aug 29 2005, 22:07)  Цитата(Evgeny_CD @ Aug 29 2005, 21:25) [А на какой евал борде все крутится, какой камень? Теперь бы еще мипсомер запустить какой-нибудь, чтобы понять, чему это соотвествует. Это все делается на StarterKit (Spartan3-200). Кристал забит почти полностью (в основном благодаря констрейну RLOC, пока не могу отключить). Без кеша работает тормозливо (реакция на "ls" пара секунд), при загрузке пишет 1.77 BogoMIPS  . Попробовал сменить версию процессора на 3.0 (у него RPM мкрос другой) влез еще кеш инструкций на 2к, BogoMIP-сы поднялись до 24, вроде ближе к жизни. Сам microblaze (и шина) работает на 50МГц, из-за "специфичного" (сам помниш полемику) доступа к кешу максимально возможная производительность 25MIPS. Помимо тестов, в ближайшие планы входит написание корки таймер+контроллер прерываний+UART, сидящей на LMB шине - думаю %30 от кристалла освободится. Только ваот как кэтому всему драйвера писать  Как там прогресс в деле написания корки?
|
|
|
|
|
Nov 18 2005, 16:02
|
Участник

Группа: Новичок
Сообщений: 65
Регистрация: 18-11-05
Пользователь №: 11 054

|
3.14
Интересно, а какие утилиты есть для поднятия eth-интерфейса? ifconfig? route?
|
|
|
|
|
Nov 18 2005, 16:50
|
Участник

Группа: Новичок
Сообщений: 65
Регистрация: 18-11-05
Пользователь №: 11 054

|
Похоже криво спросил - я имел в виду есть ли в искомой версии линукса эти утилиты? для чего они нужны я в курсе  )) Если есть, то что они показывают?
|
|
|
|
|
Nov 19 2005, 07:34
|
Участник

Группа: Новичок
Сообщений: 65
Регистрация: 18-11-05
Пользователь №: 11 054

|
Хотелось бы узнать мнение насчёт выбора девкита скажем c ARM или Intel процессорами по сравнению с девкитами на софтпроцессорах. Кстати, поискал шо цэ таке StarterKit для спартана2 - и не нашёл. Что там в комплекте имеется? Ethernet есть? До кучи вопросы. поднялся ли ppp? какие проблемы с eth? покажите что выдаёт #ps aux #ifconfig #route -n
|
|
|
|
|
Nov 19 2005, 11:12
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609

|
2 zaratustraНе понял, в чем смысл сравнивать девкиты? Ожидать жудкой прыти от софтовых процессоров не стоит, но зато какя гибкость. Например, что у меня получилось, MicroBlazeV4(все опции по минимуму)+UARTlite(фиксированный битрейт + 16 слов FIFO)+Контроллер прерываний (4 линии)+4bitGPIO(самодельный сидит на шине MLB, я через него подключаю MMC карточку)+контроллер SDRAM(32Mбайт без поддержки burst mode)+EthernetLite(10/100M)+4K кеш инструкций+XMD(использую для загрузки образа в память, для ускорения подключен через FSL). Все это разводится на 50МГц, т.к доступ к кешу за 2 такта, uClinux определяет его в 24.5 BogoMips. Работает это на Spartan-3 starter board (не для второго), у которого в комплекте Spartan3-200+1Mбайт SRAM+кнопки переключатели разъемы RS232 VGA PS/2 и 3 внешних разъема ~100 IO, через них я и подключил SDRAM, Ethernet PHY, MMC. В декабре обещают начать продажи платы со Spartan3E-500, у нее н аборту ZBT SRAM, DDR, Ethernet PHY, USB. Хотя заявленная у Xilinx цена ~130$, думаю у нас она будет не дешевле 200$. Про NIOS ничего не скажу т.к. Altera не моя стихия  . C PPP я пока не разобрался, в то время когда пробовал соединиться, не знал что надо PPP включать в ядро. Сечас пока не до этого (к тому же просто установка соответсвующей галки PPP в menuconfig приводит к тому что образ перестает собираться). С eth вобщем проблем нет, как и драйвера для лайт корки  (вчера ночью с муками родил вариан-мутант из snull+XEMAC, вроде работает но есть глюки). Цитата # ps aux PID PORT STAT SIZE SHARED %CPU COMMAND 1 S 133K 0K 0.0 /sbin/init 2 S 0K 0K 0.0 keventd 3 R 0K 0K 0.0 ksoftirqd_CPU0 4 S 0K 0K 0.0 kswapd 5 S 0K 0K 0.0 bdflush 6 S 0K 0K 0.0 kupdated 7 S 0K 0K 0.0 mtdblockd 24 S 197K 0K 0.0 /bin/sh 37 R 86K 0K 0.0 ps aux # Цитата # ifconfig 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 (null)  X bytes:0 (0.0 (null)  sn0 Link encap:Ethernet HWaddr 12:34:56:78:9A:BC inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:6 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:39118562131968 (39118562131968.8 -B)KiX bytes:0 (0.0 (null)  # Статистика считается не правильно В этом варианте я забыл включить route, ну а раньше показывал то что надо.
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
Nov 19 2005, 13:02
|
Участник

Группа: Новичок
Сообщений: 65
Регистрация: 18-11-05
Пользователь №: 11 054

|
Спасибо за подробности. Правильно ли я понял - ядро не умеет грузиться с флеша? Посмотрел на сайтах разработчиков - вроде как платы с виртексами умеют и с флэша грузиться и сетевые драйвера там уже есть. Получается что спартаны второй сорт?
|
|
|
|
|
Nov 19 2005, 15:01
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609

|
Умеет, просто я пока не умею его грузить с MMC. "Нормальные" платы и со спартаном3 имеются (со спартаном3-400,1500,2000). Из имеющихся драйверов езернета только драйвер EMAC корки (не мало ресурсов занимает), и грузятся они с SysACE ну а мне это не интересно. Прежде чем делать вывод о "сорте", знайте, Spartan3-200 стоит ~10$ ну а самый дешевый Virtex4 ~170$, мкроблайз на котором будет от силы в два раза быстрее работать. Далее по теме. Не могу правильно сконфигурировать систему. Раньше у меня uClinux грузился с запуском сетевых скриптов и не в режиме одиночного пользователя, потом в ходе многочисленных сборок образа я чего то скрутил а теперь понять не могу почему uClinux у меня криво грузится inittab Цитата ttyS0:vt100:/bin/agetty ttyS0 115200 flt:unknown:/bin/flatfsd inet:unknown:/bin/inetd rc Цитата #!/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin TZ=JST-9 echo "Mounting proc: " mount -t proc proc /proc echo "Mounting var: " mount -t ramfs none /var echo "Populating /var: " mkdir /var/run/ && mkdir /var/tmp/ && chmod 777 /var/tmp mkdir /var/ppp/ && chmod 777 /var/ppp echo "Running local start scripts." for i in /etc/rc.d/S* do if [ -x $i ]; then /bin/sh $i fi done При загрузке системы получаю следующее: Цитата Mounting proc: Mounting var: Populating /var: Running local start scripts. [: not found [: not found [: not found [: not found init: Booting to single user mode Прикол, крипты /etc/rc.d/S* присутствуют и атрибуты на исполнение установлены. Но больше меня смущает "Booting to single user mode". Изменил inittab Цитата id:3:initdefault: si::sysinit:/etc/rc ttyS0:vt100:/bin/agetty ttyS0 115200 flt:unknown:/bin/flatfsd inet:unknown:/bin/inetd Ничего не меняется  Еще, когда я вручную загружаю драйвер Ethernet и поднимаю интерфейс, все проходит нормально, обе машины (домашняя и плата с uClinux) пингуются нормально, но телнет с виндовой машины ругается: "telnetd: All network ports in use.". Содержимое inetd.conf (inetd я то же в ручную запускаю): Цитата telnet stream tcp nowait root /bin/telnetd часть services: Цитата telnet 23/tcp telnet 23/udp
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
Nov 19 2005, 16:51
|
Участник

Группа: Новичок
Сообщений: 65
Регистрация: 18-11-05
Пользователь №: 11 054

|
Понятно насчёт спартанов.
в inittab после si::sysinit:/etc/rc обычно пишется:
l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6
в rc добавить: /bin/dmesg -n 1 чтобы вся инфа выдавалась на консоль
можно ещё попробовать si:I:bootwait:/etc/rc
ну и я не знаю что там у вас за скрипты, приведу пример старта из обычного rc:
# Now run the START scripts. for i in /etc/rc$runlevel.d/S* ; do check_runlevel "$i" || continue
# Check if the subsystem is already up. subsys=${i#/etc/rc$runlevel.d/S??} [ -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init ] \ && continue
# If we're in confirmation mode, get user confirmation if [ -n "$CONFIRM" ]; then confirm $subsys case $? in 0) :;; 2) CONFIRM=;; *) continue;; esac fi
# Bring the subsystem up. if [ "$subsys" = "halt" -o "$subsys" = "reboot" ]; then unset LANG unset LC_ALL exec $i start fi if egrep -q "(daemon |action )" $i 2>/dev/null \ || [ "$subsys" = "single" -o "$subsys" = "local" ]; then $i start else action $"Starting $subsys: " $i start fi done
inetd я обычно не использую если машина не включается напрямую в интернет
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|