Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ucLinux на lpc2468
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
Страницы: 1, 2, 3
Ivan_Kov
Интересно, а кто нибудь уже начал портировать ucLinux под lpc24xx?
может ссылочку интересную кто подкинет?
Ivan_Kov
Стоило немного подумать да поискать, и нашелся ответ на вопрос.
NXP сделала порт для lpc22xx. а после сравнения мануалов для lpc22xx и lpc24xx я пришел к выводу что софт работающий на lpc22хх, по идее, должен работать и на lpc24xx.
Правда остается открытым вопрос по драйверам устройств lpc24xx, но написание их явно проще портирования.
Теперь жду появления живого железа
Ivan_Kov
Вот только не понятная ситуация. Есть документ от NXP "Getting started uClinux with LPC22xx". есть там всякие ссылочки, на их-же собственный сайт, по которым можно скачать сам uClinux, патчи разные и toolchan-ы. Все эти ссылки почему-то не работают...
Может подскажет кто-нибудь, как-же скачить uClinux для lpc?

Да, между прочим, документ этот датирован за ноябрь 2006г, а семейство lpc22хх было запущено в производство в 2004г, так что кажется мне в ближайшее время uClinux для 24хх не появиться.
Ivan_Kov
Может кому интересно будет. Появился ucLinux, вместе с отладочной платой.
http://www.lpctools.com/browseproducts/Emb...ard-Bundle.HTML
zltigo
Цитата(Ivan_Kov @ May 11 2007, 12:21) *
Появился ucLinux...

В бинарниках smile.gif, причем для некоммерческого использования и куча хлама из интернету по uLinux для "сделай сам".
Ivan_Kov
Цитата(zltigo @ May 11 2007, 13:46) *
В бинарниках smile.gif, причем для некоммерческого использования и куча хлама из интернету по uLinux для "сделай сам".


Однако:
Код
Pre-emptive Real-Time Operating System (RTOS) - the RTOS is delivered as a binary package together with some sample applications that illustrate different functionalities of the RTOS.
Can be used for non-commercial applications.

Боюсь показаться невежей, но, насколько я понял, речь идет о RTOS. Как я понимаю RTOS - не ucLinux. Или я не прав?
zltigo
Цитата(Ivan_Kov @ May 11 2007, 13:45) *
Боюсь показаться невежей, но, насколько я понял, речь идет о RTOS. Как я понимаю RTOS - не ucLinux. Или я не прав?

Сначала о uLinux
Цитата
The board is shipped with a uClinux distribution based on Linux 2.6 and using u-Boot 1.1.6 for booting.
There is a support page packed with information how to get started with uClinux, working with drivers and developing uClinux applications.

С обещаниями научить работать и писать приложения, но обо всем основном только слово 'distibution' без оглашения состава и без поминания ядра.
А в конце рекламы в списке поставляемого софта приведенная Вами цитата про безымянную RTOS с примерами и прочим прочим, но уже ни слова про uLinux, кроме как sample applications.

Ну а истину выяснить очень просто - достаточно запросить у них состав 'дистрибутива'.
Мои предположения, основывающиеся на опытах с поставками встраиваемых систем, что денег захотят.
Ivan_Kov
Цитата(zltigo @ May 11 2007, 15:01) *
Мои предположения, основывающиеся на опытах с поставками встраиваемых систем, что денег захотят.

Пришла отладочная плата. Исходники uclinux, к счастью, там есть, в сети тоже что-то появилось.
zltigo
Цитата(Ivan_Kov @ Jun 1 2007, 09:38) *
Пришла отладочная плата. Исходники uclinux, к счастью, там есть,

Полные исходники с портом? "Нажми на кнопку - получишь результат"?
Ivan_Kov
Цитата(zltigo @ Jun 1 2007, 10:42) *
Полные исходники с портом? "Нажми на кнопку - получишь результат"?

К плате прилагается CD с виртуальной машиной VMWare на которой установлен линух + исходники uclinux + arm-elf-*. Пароля для root - нет (или я плохо искал). На виртуальной машине все компилируется.

Исходники загрузчика (u-boot-1.1.6) не прилагаются, но в сети вроде что-то есть.
Методика заливки uClinux в плату - пока не ясна, но мне по любому надо будет что-то свое писать.
Вытащил исходники из VMWare - компилироваться не хотят, сижу разбираюсь.
Ivan_Kov
Удалось откомпилировать. Оказывается при компиляции используется не только arm-elf-gcc, но и обычный gcc, для меня это было открытием. Нужна версия gcc-3.3, а использовалась gcc 4.1.
3.14
2 Ivan_Kov
Образом VMware машины не поделитесь?
Ivan_Kov
Цитата(3.14 @ Jun 3 2007, 12:38) *
2 Ivan_Kov
Образом VMware машины не поделитесь?

В курске интернет дорогой, за 600M меня начальник трахнет, могу выслать бандероль с диском.
кидайте в личку адрес.
3.14
2 Ivan_Kov
ОК
2 All
Как получу диск выложу на FTP, это к тому чтоб не завалили Ivan_Kov подобными просьбами smile.gif
KirillS
Цитата(Ivan_Kov @ Dec 28 2006, 14:02) *
Интересно, а кто нибудь уже начал портировать ucLinux под lpc24xx?
может ссылочку интересную кто подкинет?


Извините за невежество, а на каком kernel'e построен данный ucLinux: на 2.4 или на 2.6.x ?
Ivan_Kov
Цитата(KirillS @ Jun 4 2007, 14:14) *
Извините за невежество, а на каком kernel'e построен данный ucLinux: на 2.4 или на 2.6.x ?

2.6
3.14
Итак, диск дошел, содержимое положил в /pub/OS/uClinux/Images_lpc24xx/
Спасибо товарищу Ivan_Kov!
zltigo
Цитата(3.14 @ Jun 15 2007, 12:30) *
Спасибо товарищу Ivan_Kov!

Присоединяюсь!
Ivan_Kov
Положил в upload/OS/uClinux_lpc2468 патчи для ОС и uboot.
3.14
Спасибо, переложил в /pub/OS/uClinux/Images_lpc24xx/
3.14
Все-таки не понятно, NXP изготавливает LPC24XX и даже стартеры на его основе уже имеются, а в списке продукции никак не может появится (не просто упоминания на сайте через поиск).
Интересно, с чем это связано?
zltigo
Цитата(3.14 @ Jun 21 2007, 22:31) *
Интересно, с чем это связано?

http://www.standardics.nxp.com/products/lpc2000/lpc24xx/
А это что?
3.14
http://www.nxp.com/products/microcontrolle...5993/index.html
Вот я про что, не могут же они про него просто "забывать".
zltigo
Цитата(Ivan_Kov @ Jun 1 2007, 12:21) *
К плате прилагается....

Заглянул на сайт за информацией о железе, оказалось, что документация только после покупки!!!
Очень мило sad.gif Возможно-ли куда-нибудь выложить описание собственно железки?
3.14
Схема лежит в pub/DOC/Chips&Devices/LPC2468_kit_scheme/
zltigo
Цитата(3.14 @ Aug 21 2007, 07:28) *
Схема лежит в pub/DOC/Chips&Devices/LPC2468_kit_scheme/

Эка доку распотрошили sad.gif по загашникам. Спасибо!
3.14
Наконец дошли руки "поглазеть" ...
Пепец №1, дебиан виртуальной машины не имеет MC, а Х-ы неправильно настроены.
Пепец №2 в ядре нет драйвера USB хоста, MTD (и NAND соответственно).
Еще не понял, на "их" плате какой загрузчик используется (по крайней мере самого загрузчика в дистрибутиве не обнаружил)?
3.14
Перетащил дистрибутивы в RH.
Странно, в /usr/local/arm-elf/bin названия файлов не содержат кросс префикса (т.е. просто gcc, ld ...) и если просто прописать путь до кросскомпилятора, то при сборке микролинуха вываливается ошибка об отсутствии arm-elf-gcc ...
Вручную в этой папке сделал линки с префиксами на файлы, чего то видимо еще надо, ядро не собирается.
Зараза, и переменные окружения под дебианом не посмотреть т.к. раскладка под какую то непонятную клаву sad.gif
Ivan_Kov
Цитата(3.14 @ Nov 11 2007, 20:23) *
Наконец дошли руки "поглазеть" ...
Пепец №1, дебиан виртуальной машины не имеет MC, а Х-ы неправильно настроены.
Пепец №2 в ядре нет драйвера USB хоста, MTD (и NAND соответственно).
Еще не понял, на "их" плате какой загрузчик используется (по крайней мере самого загрузчика в дистрибутиве не обнаружил)?

Загрузчик используется u-boot + патч к нему есть. Но я свой пользую.
USB host есть в новой версии, правда ее я никак не качну.
С MTD - есть какой-то глюк. MTD доступна только при включенной опции [General setup] -> [Kernel-mode alignment trap handler]
Но при включении этой опции ядро не грузится. Надеюсь, что в новой версии это тоже пофиксили.

Цитата
... Странно, в /usr/local/arm-elf/bin названия файлов не содержат кросс префикса ...

а в каталоге /usr/local/bin - содержат!
Еще желателен gcc 3.3 на хост машине.
3.14
u-boot с патчем на этой виртуальной машине имеется ?
Еще, в свойствах ядра не заметил явного драйвера EMAC, просто включен Ethernet 10/100M, это они его подправили или все-таки в этой версси поддержка сети не работает?
Когда планируете новый релиз качнуть, может линк дадите (если это не конфиденциально)?

Сори, поднял глаза на пару постов выше:
Цитата
Положил в upload/OS/uClinux_lpc2468 патчи для ОС и uboot.
Патч микролинуха так профилактический?
На какую версию u-boot патч задуман?
Ivan_Kov
u-boot версии 1.1.6

Линков куча просто (трафика жалко):
http://www.google.ru/search?q=HOWTO+uClinu...a:ru:unofficial

Сеть вроде работает, хотя я ее особо не пользовал.
MAC адрес - задается, как именно не разбирался, но подозреваю что через u-boot, и похоже хранится где-то в последнем секторе флеш микроконтроллера.
gaidin
Здравствуйте.
Тоже приобрели отладочную плату от EA (lpc2468), теперь вот разбираемся. На диске был образ для виртуальной машины - home\user\uClinux-dist-20051014 - это исходники того, что зашито в отладочную плату? и как их оттуда вытянуть не подскажите?
Скрипты и прочее успешно исполняется на ките - а как написать программу (формата elf или bin) для зашивки в флеш, чтобы запустить ее? и чтобы она использовала системные вызовы - например простенькую программку моргания светодиодом системным вызовом led?
Не компилить же ее вместе с ядром.
starterkit
А что озачает "и как их оттуда вытянуть"?
Дистрибутив староват, http://mailman.uclinux.org/pipermail/uclin...May/042875.html
Для того чтобы светодиодом помигать, нужно драйвер написать ...
Для того чтобы свой софт под ARM собрать, как минимум, нужно в мейкфайле указать кроссокмпилятор и пути до либ ...
Я на днях озадачился оживлением микролинуха на одной из своих плат - SK-LPC2478-S3E, пока только u-boot более менее адаптировал.
У меня к Вам встречный вопрос, на Вашей плате u-boot с Ethernet-ом работает (саму плату хотя бы пингануть можно?)?
Ковыряясь в исходниках, обнаружил, что все функции работы с MAC и PHY присутствуют а u-boot ими не пользуется (даже не инициализирует).
Ivan_Kov
Цитата(gaidin @ Jan 25 2008, 15:39) *
... и как их оттуда вытянуть не подскажите?...

Я вынул их так: создал в WMWare новую виртуальную машину с линухом, настроил сетку , подключил к ней образ диска от EA. И по сетке вытянул все что нужно. Настроит сетку на вирт. машине от EA не удалось по причине отсутствия пароля root.
gaidin
Цитата
Я вынул их так: ...
- да просто с виртуальными машинами не работал. Там в настройках можно примонтировать любую виндовую папку -так что все много проще smile.gif но спасибо!

Цитата
У меня к Вам встречный вопрос,
- не ко мне?

Остался интересным вопрос по созданию программы использующей системные вызовы? ведь драйвера для всей периферии от EA уже есть. Интересно кто как пишет программы для этого uClinux'a - то есть какая платформа, IDE, чтоб подцеплено чтоб все помпилилось, как прошиваете и запускаете?
Ivan_Kov
Цитата(gaidin @ Jan 29 2008, 11:08) *
Интересно кто как пишет программы для этого uClinux'a - то есть какая платформа, IDE, чтоб подцеплено чтоб все помпилилось, как прошиваете и запускаете?


Почитайте здесь:
<каталог с uClinux>/Documentation/Adding-User-Apps-HOWTO

там есть еще много документации, ее тоже не лишним будет почить
И не забудте про сайт EA
DmitryV
Цитата(gaidin @ Jan 29 2008, 11:08) *
Остался интересным вопрос по созданию программы использующей системные вызовы? ведь драйвера для всей периферии от EA уже есть. Интересно кто как пишет программы для этого uClinux'a - то есть какая платформа, IDE, чтоб подцеплено чтоб все помпилилось, как прошиваете и запускаете?

Если правильно понял суть вопроса, то в общих чертах технология такая:

1. Написать программу + Makefile руками или, например, используя Eclipse (удобнее, мэйкфайлы руками не придется делать). Компилер использовать arm-elf-gcc. Если делать это все под Linux, то компилить можно прямо из Eclipse, под виндой - либо использовать toolchain, собранный под cygwin, либо IDE использовать для удобства, а компилить все равно линуксом. Указать компилеру -Iпуть_к_kernel/include.
2. положить программу в rootfs и персобрать его (другой вариант - скинуть программу на USB MSD флэшку - при отладке гораздо удобнее)
3. перепрошить rootfs.

Ну а дальше можно приступить к прикручиванию gdb и прочих прелестей smile.gif
starterkit
Если не сложно, положите здесь шаблон собраного ядра с консолью на UART0 (насколько понимаю, она у EA на UART0).
Уперся, не могу признаков жизни от ядра получить ...
Alexei Kopendakov
Добрый день.
Подскажите, достаточно ли будет для начала работы с lpc2468 архива, лежащего на http://www.uclinux.org/pub/uClinux/dist/uC...0080109.tar.bz2 ? Просто канал узкий, мне его еще дня 3 тянуть sad.gif
3.14
2 Alexei Kopendakov
Нет

2 All
Пробовал запустить ядро на своей системе, собранное отсюда http://mozware.free.fr/linux/
Собранное ядро упорно не хочет подавать признаков жизни sad.gif
Собранное ядро от EA работатет ...

Кто-нибудь успешно запускал ядро собранное по вышеуказанной ссылке (или из другого места кроме EA) и на каком железе?
Alexei Kopendakov
А где можно скачать ядро он ЕА?
3.14
А по вышеуказанной ссылке зайти ...
3.14
2 Alexei Kopendakov
Сори, старый стал - читаю плохо smile.gif, ЕА дист разве что на нашем ФТП или через знакомых ...

2All
Пытаюсь собрать u-boot отсюда http://mozware.free.fr/linux/vendors.tar.bz2
Хотя версия одна и таже 1.1.6, в этой поддерка сети включена и аргументы загрузки ядру передаются.
Следуя инструкции "make -f Makefile.uclinux" получаю:
Нажмите для просмотра прикрепленного файла
"Предыдущий" u-boot собирается нормально.
Ivan_Kov
Ядро 2.6.11 от EA
Добавлена поддержка USB Host/Device, Ethernet, MTD ну может и еще чего.

h**p:/ / w w w . uclinux . org/pub/uClinux/dist/uClinux-dist-20051014.tar.gz
h**p: / / w w w . kernel . org/pub/linux/kernel/v2.6/linux-2.6.11.8.tar.gz
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла

P.S. Вроде ничего не забыл
Kostos
А более новый дистрибутив не пойдет? ( например вот этот - uClinux-dist-20070130.tar.gz)
Я понимаю, что патчи прилажены именно к uClinux-dist-20051014.tar.gz., но всё таки.

PS все понял - размер дистрибутива однако ... не маленький.
3.14
Птчи налогаются на ядро, ядро из uClinux-dist-xxx заменяется на отпатченное.
Единственно, с чем могут вознкнуть проблемы, это с созданием корневухи ...
3.14
Цитата(Ivan_Kov @ Mar 15 2008, 13:18) *
Ядро 2.6.11 от EA
Добавлена поддержка USB Host/Device, Ethernet, MTD ну может и еще чего.

h**p:/ / w w w . uclinux . org/pub/uClinux/dist/uClinux-dist-20051014.tar.gz
h**p: / / w w w . kernel . org/pub/linux/kernel/v2.6/linux-2.6.11.8.tar.gz
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла

P.S. Вроде ничего не забыл
Заметил такой фокус, по ходу итераций сборки ядра, ни с того ни с сего ядро перестает подавать признаков жизни 07.gif
От настроек ядра это независит, в первый раз у меня это случилось, когда включил поддержку всех возможных таблиц размещений, никакие возвраты в предыдущее состояние конфигурации, чистки и т.п. не изменяют ситуацию, только полное обновление всего ядра.
Второй раз произошло, когда стал искать в каком месте серийные порты прописываются в системе, что само по себе довольно странно т.к. пока нигде не могу найти упоминаний о количестве и инициализации UART0 и UATRT1 (драйвер сам включен, но вот кто его использует ...), и изменил параметр CONFIG_SERIAL_8250_NR_UARTS с нуля до 1, и опять такой же фокус
Ivan_Kov
Цитата(3.14 @ Mar 17 2008, 15:30) *
Заметил такой фокус, по ходу итераций сборки ядра, ни с того ни с сего ядро перестает подавать признаков жизни.....


У меня такой ситуации не возникало, пока что все замеченные глюки были следствием моих-же ошибок.
Если интересует работа ядра с UART, то ознакомтесь с linux-2.6.x/include/asm-arm/arch-lpc24xx/serial.h; пины UART и клок инициализируются в загрузчеке.
Может быть надо вспомнить поговорку "Если вещь долго ломать, она - сломается" :-)
Лично у меня сложилось, впечатление, что данное ядро работает более-менее стабильно.
Правда иногда бывают не понятные зависания, но запускаю то я ядро на своем железе и с некоторым количеством собственных драйверов.
3.14
По поведению, очень похоже на "плавающую" инициализацию или конфликт с чем то (железо то свое, хотя мыслей, что так может зацеится нет), и очень удивляет тот момент, что сборка с "нулевых" дистов всегда работает а несколько итераций побавления/удаления (своих ошибок то я еще не успеваю внести) одних и тех же модулей ядра вводит его в стопор.
К стати, у Вас, какие адреса, при загрузке ядра, показываются назначеными для UART-ов (у меня они почему то 0)?
Ядро 2.6.21 Вы пробовали (если да, из каких источников), на моем железе оно упорно не подает признаков жизни, смущает то что в репозитории самой платы не компилируется head.S ...
Ivan_Kov
Цитата(3.14 @ Mar 18 2008, 10:12) *
... и очень удивляет тот момент, что сборка с "нулевых" дистов всегда работает а несколько итераций ...

Была похожая проблема, но оказалась, что была ошибка в моем коде, который заливал образа uClinux во флеш устройства. Во флеш не писался кусок linux.bin. От компиляции к компиляции незаписаный кусок приходился то на более, то на менее важную область ядра. Ошибку исправил - все заработало.

Цитата(3.14 @ Mar 18 2008, 10:12) *
К стати, у Вас, какие адреса, при загрузке ядра, показываются назначеными для UART-ов (у меня они почему то 0)?


Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
ttyS0 at MMIO 0x0 (irq = 6) is a 16550A
ttyS1 at MMIO 0x0 (irq = 7) is a 16550A


Цитата(3.14 @ Mar 18 2008, 10:12) *
Ядро 2.6.21 Вы пробовали...

Брал здесь http://tech.groups.yahoo.com/group/lpc2400_uClinux/
Но откомпилировать быстро не получилось и плюнул на это дело.
Подозреваю, что это более ранняя версия вашего источника


2 All
Кто-нибудь уже пользует собственную плату с lpc24xx? Меня интересует не запустил ли кто USB HOST на порту U1. Что-то у меня драйвер из uClinux не хочет рулить USB HOST-ом, если его подключить не на порт U1 а на U2...
Вот сижу думаю что бы такого подправить в ядре...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.