Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как поднять uClinux ...
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
Страницы: 1, 2
3.14
В общем ламерский вопрос ...
Задался целью поднять на Xilinx StarterKit (Spartan3-200) ucLinux.
Прикрутил через расширительный разъем SDRAM 32MB.
И тут самое интересное - "что делать дальше"?
полазил на http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux/, дык там все примеры для других плат. Скачал пример для платы со Spartan3-2000, выкинул "не нужную" периферию - ничего не вышло sad.gif
Как сделать образ с нужными мне модулями и какая периферия жизненно необходима?
Maksim
Цитата(3.14 @ Aug 3 2005, 22:04)
В общем ламерский вопрос ...
Задался целью поднять на Xilinx StarterKit (Spartan3-200) ucLinux.
Прикрутил через расширительный разъем SDRAM 32MB.
И тут самое интересное - "что делать дальше"?
полазил на http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux/, дык там все примеры для других плат. Скачал пример для платы со Spartan3-2000, выкинул "не нужную" периферию - ничего не вышло sad.gif
Как сделать образ с нужными мне модулями и какая периферия жизненно необходима?
*

sad.gif А с тем количеством памяти что есть на плате, ucLinux - "не заведётся"? cranky.gif

P.S. тоже приглядываюсь к ucLinux, но хочу его прикрутить в будущем к PowerPC
3.14
Должно завестись. Я сначала прикрутил, а потом полистал "форум" по microblaze+uclinux wink.gif, там утверждают что урезанное ядро влезет на 500к.
Evgeny_CD
Цитата(3.14 @ Aug 4 2005, 09:41)
Должно завестись. Я сначала прикрутил, а потом полистал "форум" по microblaze+uclinux wink.gif, там утверждают что урезанное ядро влезет на 500к.
Есть такой симулятор -
http://www.skyeye.org/
http://gro.clinux.org/projects/skyeye/
Он симулирует проц вместе с периферией, вроде бы как даже относительно быстро.

Там пример симуляции uClinux идет прямо с инсталяшкой. Просто бинарники.

MicroBlaze там нет, но. IMHO, отличия в размере кода для ARM7 будут не очень существенные.

К сожаланию, доки много на китайском, т.е. проект китайский.

Сам не пробовал пока (только инфу нашел), но положительных отзывов в инете много.
Evgeny_CD
Цитата(Maksim @ Aug 4 2005, 00:18)
P.S. тоже приглядываюсь к  ucLinux, но хочу его прикрутить в будущем к PowerPC
Может я чего не догнал, но в современных пувер пысях вроде как MMU есть. Значит, можно и Linux нормальный поставить. В чем кайф от uC в данной ситуации?

Или идет жесткая борьза за RAM? Тогда eCOS или RTEMS.

RTEMS народ вон вообще на 16 битные машинки почти портировал (не далее как вчера я в листе по ОСи дискуссию затеял). На полном серьезе хотят на 128 мегу поставить. И вроде как уже живет в pre-alpha версии. Разумеется, без BSD сокетов и пр.

Вообще, IMHO, для дешевого варианта Linux очень хорошо подходит ARM720 MMU кеш 8кб. Это, прежде всего, cirrus и sharp. Sharp LH79525 вообще будет хит типа LPC2xxx, Atmel SAM64, когда ревизию А1 выпустят в массовое производство (вроде как это в июне случилось), и линух портируют. Полный кайф - загрузка по I2C, NAND; Ethernet, USB device, DMA очень продвинутое. SDRAM 8м поставить (чип такой сейчас $1.5 стоить должен) - и вперед!
3.14
когда ревизию А1 выпустят в массовое производство (вроде как это в июне случилось), и линух портируют.
Было бы очень замечательно если такое произойдет, но думаю раньше чем через год не стоит ожидать чего то, что можно будет использовать.

Ну а в случае с FPGA, такой "хит" уже сейчас выпустить можно wink.gif и не быть зажатим рамками периферии процессора.
Evgeny_CD
Цитата(3.14 @ Aug 4 2005, 12:42)
когда ревизию А1 выпустят в массовое производство (вроде как это в июне случилось), и линух портируют.
Было бы очень замечательно если такое произойдет, но думаю раньше чем через год не стоит ожидать чего то, что можно будет использовать.

Ну а в случае с FPGA, такой "хит" уже сейчас выпустить можно wink.gif и не быть зажатим рамками периферии процессора.
1. Не все так плохо. Вот тут уже продают кит с линухом от LH79524
http://www.logicpd.com/eps/som/sharp/LH79524/
Линух там от самого шарпа. Поскольку 24 от 25 только шиной и отличается, то проблем быть не должно.

Между прочим, на дижикее это стоит
SDK-LH79524-10-3216 - 420$. - не смертельно.
http://www.digikey.com

2. Ревизию A1, которая решила проблемы с USB и бутом по I2C, они точно начали выпускать в июне - инфа от официальных представителей.

3. Что касается LH79524, то это BGA 0.8. Я уже пытался выяснить вопрос на тему возможности изготовления опытных плат здесь - пролет. Только в забугряндии, 600$ и месяц времени.
http://forum.electronix.ru/index.php?showtopic=6750
Evgeny_CD
Да, кстати, порт линуха от Шарпа на LH79520, который отличется только частью периферии, живет на камне много лет и вполне успешно. Ядро, COM порты, таймера, MMU у нового камня не отличаются - так что шанс запустить линух хотя бы в режиме консоли есть и сегодня.

Кит то того же ложика на LH79520 продается в КТЦ МК за какие-то разумные деньги
Evgeny_CD
Вот и ответ из листа по арм линуху:

>> Sharp LH79520 / LH79524 / LH79525: is Linux 2.4 or 2.6 port available?

MS> There is a port for the LH79524 and the LH79520 kernel is nearly
MS> complete. There isn't, yet, any hardware for the LH79525 for me to
MS> test with. I believe that the only differences will be isloated in
MS> the bootloader setup of the memory controller.

MS> The most recent BSP can be found here.

MS> <http://wiki.buici.com/twiki/bin/view/Main/SharpBoardSupportPackage>

В виках самое интересное - это ссылка на полный комплект BSP для шарпа smile.gif

ftp://ftp.buici.com/pub/arm/bsp/bsp-sharplh7-1.1.1.tar.gz
3.14
Посмотрел здесь http://www.uclinux.org/ports/coldfire/source.html.
Не понял, чтоб собрать ядро под MicroBlaze надо ведь пользоваться компилятором EDK (mb-gcc), а судя из инструкции пользуются линуховым gcc ???
И потом, если я собираюсь ядро собирать из под винды, а кто тогда будет "понимать" *nix-овые скрипты сборки?
dch
Цитата(Evgeny_CD @ Aug 4 2005, 13:18)

Это BSP под какие процессоры.
andrew_b
Можно я слегка встряну?
Цитата(3.14 @ Aug 4 2005, 15:07)
Посмотрел здесь И потом, если я собираюсь ядро собирать из под винды, а кто тогда будет "понимать" *nix-овые скрипты сборки?
*

Думаю, cygwin вам поможет. Правда, кросс-компилятор нужен будет.
Когда-то давно, когда я сидел под виндой, то софт, которого в cygwin не было, я собирал прямо из src.rpm. Все то же самое, что и под родной ОС.
3.14
Цитата(andrew_b @ Aug 4 2005, 15:45)
когда я сидел под виндой, то софт, которого в cygwin не было, я собирал прямо из src.rpm.

Т.е. компилили из исходников, предварительно установив gcc ?
Evgeny_CD
Цитата(dch @ Aug 4 2005, 15:28)
Это BSP под какие процессоры.
Нaсколько я уразумел, Sharp LH79520 / LH79524 / LH7A400 / LH7A404

Еще, из этого пакета я узнал про простой бутлоадер
http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader

Меленький (в 16к влазит!), простой, легко настраиваемый. Etheret для LH79524 уже поддерживает, что супер!
Evgeny_CD
Ну вообще!

ftp://ftp.buici.com/pub/arm/patch-linux-2.6.12/README.txt

README for linux-2.6.12 Patches
These patches comprise the work done for the Sharp LH series
processors for the 2.6 kernel. Use the patches from the highest
numbered sub-directory.
Patches include:
o lh79524 support
o LCD
o Touchscreen
o Ethernet
o Serial
o NOR & NAND flash

o extra lh7a404 support
o Support for several LCD panels
o Touchscreen
o Audio PCM and mixer (ac97) drivers
andrew_b
Цитата(3.14 @ Aug 4 2005, 17:26)
Цитата(andrew_b @ Aug 4 2005, 15:45)
когда я сидел под виндой, то софт, которого в cygwin не было, я собирал прямо из src.rpm.

Т.е. компилили из исходников, предварительно установив gcc ?
*


Да. Все как в настоящей ОС. Правда, задачи кросс-компиляции передо мно не стояло. Но, думаю, соответствующий toolchain собрать можно (если уже не собран). Наверняка в интернете можно найти какую-то инфу.
3.14
cygwin настоятельно не рекомендуют люди люди занимающиеся портом smile.gif
toolchain имеется и даже больше ...
psL
уважаемые, прошу прощения за то, что вклиниваюсь в вашу беседу.

У меня такой вопрос: можно ли под Cygwin собрать программу, которая общалась бы с внешним устройством например через LPT порт или нельзя?
3.14
2 psL
Я вам ничем ответить не могу, т.к. в *nix-ах я чайник

Продолжая тему uClinux + Microblaze
После мучительных экспериментов, раза с двадцатого собрал ядро для своего StarterKit-а, которое начинает грузится и встает на цикле калибровки задержки sad.gif
Интересно, что это означает cranky.gif
3.14
Сбылась мечта идиота smile.gif
Ошибка была в подключении SDRAM, по неосторожности пины CE SRAM посадил на GPIO и получилось - тесты работали нормально, а когда грузилась ядро оно ломало SDRAM.
Evgeny_CD
Цитата(3.14 @ Aug 29 2005, 19:59)
Сбылась мечта идиота smile.gif
cheers.gif Вау!!!! Есть живой человек, который это сделал!!! А на какой евал борде все крутится, какой камень?

Теперь бы еще мипсомер запустить какой-нибудь, чтобы понять, чему это соотвествует.
3.14
Цитата(Evgeny_CD @ Aug 29 2005, 21:25)
[А на какой евал борде все крутится, какой камень?

Теперь бы еще мипсомер запустить какой-нибудь, чтобы понять, чему это соотвествует.
*

Это все делается на StarterKit (Spartan3-200). Кристал забит почти полностью (в основном благодаря констрейну RLOC, пока не могу отключить). Без кеша работает тормозливо (реакция на "ls" пара секунд), при загрузке пишет 1.77 BogoMIPS blink.gif . Попробовал сменить версию процессора на 3.0 (у него RPM мкрос другой) влез еще кеш инструкций на 2к, BogoMIP-сы поднялись до 24, вроде ближе к жизни. Сам microblaze (и шина) работает на 50МГц, из-за "специфичного" (сам помниш полемику) доступа к кешу максимально возможная производительность 25MIPS.
Помимо тестов, в ближайшие планы входит написание корки таймер+контроллер прерываний+UART, сидящей на LMB шине - думаю %30 от кристалла освободится. Только ваот как кэтому всему драйвера писать cranky.gif
Evgeny_CD
Цитата(3.14 @ Aug 29 2005, 23:07)
Это все делается на StarterKit (Spartan3-200). Кристал забит почти полностью (в основном благодаря констрейну RLOC, пока не могу отключить). Без кеша работает тормозливо (реакция на "ls" пара секунд), при загрузке пишет 1.77 BogoMIPS  blink.gif . Попробовал сменить версию процессора на 3.0 (у него RPM мкрос другой) влез еще кеш инструкций на 2к, BogoMIP-сы поднялись до 24, вроде ближе к жизни. Сам microblaze (и шина) работает на 50МГц, из-за "специфичного" (сам помниш полемику) доступа к кешу максимально возможная производительность 25MIPS.
Помимо тестов, в ближайшие планы входит написание корки таймер+контроллер прерываний+UART, сидящей на LMB шине - думаю %30 от кристалла освободится. Только ваот как кэтому всему драйвера писать  cranky.gif
Все это очень интересно и полезно. Даже не знаю, чем помочь данному проекту. Spartan3-200 - это уже жизнеспособный вариант. Если удастся фокус с коркой - будет просто рузеЗЗЗЗ!
IgorKossak
Цитата(3.14 @ Aug 5 2005, 08:28)
cygwin настоятельно не рекомендуют люди люди занимающиеся портом smile.gif
toolchain имеется и даже больше ...
*

Отчего же?
Есть и такие, которые настоятельно рекомендуют.
Вот ссылка на рабочий проект с примерами и полезными ссылками (надо смотреть один из тиниАРМов). Там цены указаны за платы, которые можно и самому собрать.
Проверял, всё работает. Заодно и приобрёл навык работы с Eclipse. Классная среда!
Если быть ближе к uCLinux, то китайцы, продавшие мне отладочно-тренировочную плату, тоже рекомендовали ставить Cygwin (на втором месте после чистой Linux).
3.14
Цитата(IgorKossak @ Aug 31 2005, 09:43)
Цитата(3.14 @ Aug 5 2005, 08:28)
cygwin настоятельно не рекомендуют люди люди занимающиеся портом smile.gif
toolchain имеется и даже больше ...
*

Отчего же?
Есть и такие, которые настоятельно рекомендуют.
Вот ссылка на рабочий проект с примерами и полезными ссылками (надо смотреть один из тиниАРМов). Там цены указаны за платы, которые можно и самому собрать.
Проверял, всё работает. Заодно и приобрёл навык работы с Eclipse. Классная среда!
Если быть ближе к uCLinux, то китайцы, продавшие мне отладочно-тренировочную плату, тоже рекомендовали ставить Cygwin (на втором месте после чистой Linux).
*


Я говорил про toolchain именно для microblaze, ссылку так не вспомню, но мужичек прямым текстом пишет "cgwin не поддерживаю, сочувствую тем кто будет собирать ядра из него..."
IgorKossak
Цитата(3.14 @ Aug 31 2005, 10:27)
Я говорил про toolchain именно для microblaze, ссылку так не вспомню, но мужичек прямым текстом пишет "cgwin не поддерживаю, сочувствую тем кто будет собирать ядра из него..."
*

А чем он мотивирует?
Дело в том, что Cygwin всё время развивается (если речь идёт о недостатках или глюках).
Или дело в личном неудачном опыте "мужичка".
В любом случае я бы не стал так голословно без проверки всем верить.
В моём случае самой большой проблемой было выкачать 350М Cygwin-а w00t.gif
3.14
Цитата(IgorKossak @ Aug 31 2005, 11:37)
А чем он мотивирует?
Дело в том, что Cygwin всё время развивается (если речь идёт о недостатках или глюках).
Или дело в личном неудачном опыте "мужичка".
В любом случае я бы не стал так голословно без проверки всем верить.
В моём случае самой большой проблемой было выкачать 350М Cygwin-а w00t.gif

Мне хватило того доказательства, что эти слова были из уст автора порта для microblaze. Еще и cygwin (сразу забыл указать) вобщем то не "родной", он идет в комплекте с EDK и называется "Xilinx Cygwin shell".
3.14
Продолжая основную тему ...
Теперь надо как то отлаживать свои программы.
Самый простой (приходящий в голову) способ, это загружать uClinux с поддержкой FTP и Telnet серверов.
Так вот, когда указываешь что ядро должно поддерживать сеть а так же наличие доступности ftpd и telnetd, при начальной загрузке появляются следующие строки:
Код
...
Setting hostname:
Setting up interface lo:
No usable address families found.
socket: Address family not supported by protocol
...

Далее в место приглашение на логин начинает бесконечно печататься сообщение Unable to create socket
Я хоть и затарился книжками, когда еще прийдет нужный уровень понимания, может что подскажите?
makc
Обламывается попытка поднять интерфейс-заглушку (127.0.0.1)
Очень похоже, что при сборке ядра не были скомпилированы модули протокола TCP/IP и UDP. Стоит поглубже копнуть конфигурацию ядра...
3.14
Действительно, в составе ядра отсутствовал TCP/IP.
Сейчас стек вроде в норме, по крайней мере заглушка пингуется.
Помогите настроить РРР соединение.
Нашел следующие инструкции:
Код
27. Использование PPP по нульмодемному (прямому последовательному) кабелю
Это очень просто - модема нет, так что дело значительно упрощается.
Прежде всего выберите одну из машин как 'сервер', установив getty на
последовательный порт, так что вы можете проверить, что связь имеется,
используя minicom, чтобы обратиться к последовательному порту на 'клиенте'.

Как только связь заработает, вы можете удалять getty если вы НЕ хотите
удостовериться, что соединение работает, используя пару имя/пароль пользователя,
как для модемного соединения. Поскольку вы имеете 'физическое управление'
обеими машинами, я буду предполагать, что вы не хотите делать это.
Теперь, на сервере удалите getty, и удостоверьтесь, что вы имеете
последовательные порты на обеих машинах, правильно сконфигурированные, используя
'setserial'.
Все, что вы должны сделать теперь, это запустить pppd на обеих системах. Я буду
предполагать, что соединение использует /dev/ttyS34 на обеих машинах. Так, на
обеих машинах выполните команду:
______________________________________________________________________

pppd -detach crtscts lock <local IP>:<remote IP> /dev/ttyS3 38400 &
______________________________________________________________________

Это установит связь - но пока еще у вас нет определенной маршрутизации.
Вы можете проверить связь, пингуя обе машины. Если это работает, прекратите
связь, уничтожив один из процессов pppd.
Какая вам нужна маршрутизация - это конечно зависит от того, что вы пытаетесь
сделать. В общем случае, одна из машин будет соединена с ethernet (и внешним
миром), и тогда требуется маршрутизация такая же, как для PPP сервера и клиента.
Так на машине оборудованной Ethernet, pppd команда будет
______________________________________________________________________

pppd -detach crtscts lock proxyarp <local IP>:<remote IP> /dev/ttyS3 38400 &
______________________________________________________________________

а на другой машине
______________________________________________________________________

pppd -detach crtscts lock defaultroute <local IP>:<remote IP> /dev/ttyS3 38400 &
______________________________________________________________________

Если вы связываете две сети (используя последовательную связь!) или реализуете
более сложные требования маршрутизации, то вы можете использовать
/etc/ppp/ip-up точно тем же образом, как упомянуто выше в этом документе.

В ответ на "pppd -detach crtscts lock <local IP>:<remote IP> /dev/ttyS3 38400 &
" получаю какую то цифру и все, ничего в списке процессов не появляется.
Натолкните плиз на путь истинный smile.gif.

Еще, а как бы вот к терминалу прикрутить zmodem, утилитки я включил в файловую систему, а вот как сделать чтоб они заработали cranky.gif
Например в QNX надо прописать их в файле конфигурации qtalk, а в линухе?
Evgeny_CD
Может, это поможет

/upload/DOC/linux_embedded/
/upload/DOC/linux_networking/

как докачаю - _done поставлю
Evgeny_CD
Может, это тоже поможет

/upload/DOC/freebsd_rus/
/upload/DOC/linux_unix_rus/

как докачаю - _done поставлю
Evgeny_CD
/upload/DOC/freebsd_rus/
/upload/DOC/linux_unix_rus/

Все, на этом я исчерпался biggrin.gif

Надеюсь, великое дело оживление uClinux на Spartan подет веселее biggrin.gif
Evgeny_CD
Цитата(3.14 @ Aug 29 2005, 22:07) *
Цитата(Evgeny_CD @ Aug 29 2005, 21:25)
[А на какой евал борде все крутится, какой камень?

Теперь бы еще мипсомер запустить какой-нибудь, чтобы понять, чему это соотвествует.
*

Это все делается на StarterKit (Spartan3-200). Кристал забит почти полностью (в основном благодаря констрейну RLOC, пока не могу отключить). Без кеша работает тормозливо (реакция на "ls" пара секунд), при загрузке пишет 1.77 BogoMIPS blink.gif . Попробовал сменить версию процессора на 3.0 (у него RPM мкрос другой) влез еще кеш инструкций на 2к, BogoMIP-сы поднялись до 24, вроде ближе к жизни. Сам microblaze (и шина) работает на 50МГц, из-за "специфичного" (сам помниш полемику) доступа к кешу максимально возможная производительность 25MIPS.
Помимо тестов, в ближайшие планы входит написание корки таймер+контроллер прерываний+UART, сидящей на LMB шине - думаю %30 от кристалла освободится. Только ваот как кэтому всему драйвера писать cranky.gif

Как там прогресс в деле написания корки?
3.14
Большую сложность (для меня) представляют драйвера, к написанию "мультикорки" пока не приступал.
Сейчас озабочен написанием драйвера ethernet корки.
Evgeny_CD
Цитата(3.14 @ Nov 14 2005, 22:38) *
Большую сложность (для меня) представляют драйвера, к написанию "мультикорки" пока не приступал.
Сейчас озабочен написанием драйвера ethernet корки.
Главное, интерес и настрой не пропал. Так держать! cheers.gif Все-таки очень хочется узреть полноценный линух на 200 спартане.
zaratustra
3.14

Интересно, а какие утилиты есть для поднятия eth-интерфейса?
ifconfig? route?
makc
Цитата(zaratustra @ Nov 18 2005, 19:02) *
3.14

Интересно, а какие утилиты есть для поднятия eth-интерфейса?
ifconfig? route?


ifconfig служит для поднятия и управления сетевыми интерфейсами, route - настраивает таблицу маршрутизации.
zaratustra
Похоже криво спросил - я имел в виду есть ли в искомой версии линукса эти утилиты? для чего они нужны я в курсе wink.gif)) Если есть, то что они показывают?
3.14
Сетевые утилиты имеются, даже в избытке.
В дистрибутиве uClinux по мимо базовых утилит присутствуют еще они же в BusyBox - "облегченные" варианты (имеется еще Tinylogin и MicroWindows). Ну а работают они точно так же как и родные.
zaratustra
Хотелось бы узнать мнение насчёт выбора девкита скажем c ARM или Intel процессорами по сравнению с девкитами на софтпроцессорах. Кстати, поискал шо цэ таке StarterKit для спартана2 - и не нашёл. Что там в комплекте имеется? Ethernet есть?
До кучи вопросы. поднялся ли ppp? какие проблемы с eth? покажите что выдаёт #ps aux #ifconfig #route -n
3.14
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 не моя стихия smile.gif.
C PPP я пока не разобрался, в то время когда пробовал соединиться, не знал что надо PPP включать в ядро. Сечас пока не до этого (к тому же просто установка соответсвующей галки PPP в menuconfig приводит к тому что образ перестает собираться). С eth вобщем проблем нет, как и драйвера для лайт корки smile.gif (вчера ночью с муками родил вариан-мутант из 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)cool.gifX bytes:0 (0.0 (null)cool.gif
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)cool.gif#
Статистика считается не правильно
В этом варианте я забыл включить route, ну а раньше показывал то что надо.
zaratustra
Спасибо за подробности. Правильно ли я понял - ядро не умеет грузиться с флеша? Посмотрел на сайтах разработчиков - вроде как платы с виртексами умеют и с флэша грузиться и сетевые драйвера там уже есть. Получается что спартаны второй сорт?
3.14
Умеет, просто я пока не умею его грузить с MMC.
"Нормальные" платы и со спартаном3 имеются (со спартаном3-400,1500,2000). Из имеющихся драйверов езернета только драйвер EMAC корки (не мало ресурсов занимает), и грузятся они с SysACE ну а мне это не интересно. Прежде чем делать вывод о "сорте", знайте, Spartan3-200 стоит ~10$ ну а самый дешевый Virtex4 ~170$, мкроблайз на котором будет от силы в два раза быстрее работать.

Далее по теме.
Не могу правильно сконфигурировать систему.
Раньше у меня uClinux грузился с запуском сетевых скриптов и не в режиме одиночного пользователя, потом в ходе многочисленных сборок образа я чего то скрутил а теперь понять не могу почему uClinux у меня криво грузится cranky.gif
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
Ничего не меняется sad.gif
Еще, когда я вручную загружаю драйвер 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

cranky.gif
zaratustra
Понятно насчёт спартанов.

в 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 я обычно не использую если машина не включается напрямую в интернет
3.14
В общем, как то настроил.
Если установить FTP соединение с платой, цифры получились следующие:
1 передача файла из uClinux ~15кбайт/сек
2 прием файла в uClinux ~20кбайт/сек (хотя поведение довольно странное, трафик постепенно возрастает с 1к до 20к).
А вот телнет так и не работает, так и утверждает "All network ports in use".
zaratustra
Если после запуска inetd появляется в списке процессов, тогда проблема только в телнет-сервере.

/usr/sbin/in.telnetd

в конфиге на телнет (см. /etc/*?) что-то типа:
service telnet
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/in.telnetd
}

как только клиент законнектится, сервер должен стать виден в процессах
Evgeny_CD
По поводу инета в Linux - тут бука хорошая есть
http://electronix.ru/forum/index.php?showtopic=13896&hl=

3.14 - как вообще, проект движется?
3.14
Загрузчик я уже давно написал.
1) После конфигурации, микроблейз "вытягивает" загрузчик из конфигурационной пзу
2) далее пользуясь либой FAT переписывает нужный образ с FAT раздела на MMC карточке в память
3) крнфигурит все устройтво
4) запускает систему

А вообще, силы уже на истощении, а работы ....
Сейчас заказал плату под все это хозяйство (ранее все на проводах да на всякой лепнине было).
Еще остался один "геморойный" модуль - подружить все это хозяйство с WiFi (Digi WiME), модуль в пакетике с месяц валяется никак приступить не могу (даже не знаю с чего начять smile.gif).
Evgeny_CD
Цитата(3.14 @ Mar 16 2006, 23:12) *
Еще остался один "геморойный" модуль - подружить все это хозяйство с WiFi (Digi WiME), модуль в пакетике с месяц валяется никак приступить не могу (даже не знаю с чего начять smile.gif).
А какой интерфейс у модуля? Linux знает про такой модуль (дрова есть?)?

Как тем суперкорка поживает, которая (если мне памят не изменяет) должна был позволить все хозяйство "утоптать" в 200 Spartan-3?

Кстати, Spartan 3E 500 в Москве уже <40 стоит. И корпус PQFP208. Вот до 30 подешевеет - будет уже весьма интересно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.