Полная версия этой страницы:
ucLinux на lpc2468
Ivan_Kov
Dec 28 2006, 11:02
Интересно, а кто нибудь уже начал портировать ucLinux под lpc24xx?
может ссылочку интересную кто подкинет?
Ivan_Kov
Dec 29 2006, 12:14
Стоило немного подумать да поискать, и нашелся ответ на вопрос.
NXP сделала порт для lpc22xx. а после сравнения мануалов для lpc22xx и lpc24xx я пришел к выводу что софт работающий на lpc22хх, по идее, должен работать и на lpc24xx.
Правда остается открытым вопрос по драйверам устройств lpc24xx, но написание их явно проще портирования.
Теперь жду появления живого железа
Ivan_Kov
Dec 30 2006, 12:08
Вот только не понятная ситуация. Есть документ от NXP "Getting started uClinux with LPC22xx". есть там всякие ссылочки, на их-же собственный сайт, по которым можно скачать сам uClinux, патчи разные и toolchan-ы. Все эти ссылки почему-то не работают...
Может подскажет кто-нибудь, как-же скачить uClinux для lpc?
Да, между прочим, документ этот датирован за ноябрь 2006г, а семейство lpc22хх было запущено в производство в 2004г, так что кажется мне в ближайшее время uClinux для 24хх не появиться.
Ivan_Kov
May 11 2007, 09:21
Может кому интересно будет. Появился ucLinux, вместе с отладочной платой.
http://www.lpctools.com/browseproducts/Emb...ard-Bundle.HTML
zltigo
May 11 2007, 09:46
Цитата(Ivan_Kov @ May 11 2007, 12:21)

Появился ucLinux...
В бинарниках

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

В бинарниках

, причем для некоммерческого использования и куча хлама из интернету по 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
May 11 2007, 11:01
Цитата(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
Jun 1 2007, 06:38
Цитата(zltigo @ May 11 2007, 15:01)

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

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

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

2 Ivan_Kov
Образом VMware машины не поделитесь?
В курске интернет дорогой, за 600M меня начальник трахнет, могу выслать бандероль с диском.
кидайте в личку адрес.
2 Ivan_Kov
ОК
2 All
Как получу диск выложу на FTP, это к тому чтоб не завалили Ivan_Kov подобными просьбами
KirillS
Jun 4 2007, 10:14
Цитата(Ivan_Kov @ Dec 28 2006, 14:02)

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

Извините за невежество, а на каком kernel'e построен данный ucLinux: на 2.4 или на 2.6.x ?
2.6
Итак, диск дошел, содержимое положил в /pub/OS/uClinux/Images_lpc24xx/
Спасибо товарищу Ivan_Kov!
zltigo
Jun 15 2007, 11:17
Цитата(3.14 @ Jun 15 2007, 12:30)

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

Интересно, с чем это связано?
http://www.standardics.nxp.com/products/lpc2000/lpc24xx/А это что?
zltigo
Aug 20 2007, 22:27
Цитата(Ivan_Kov @ Jun 1 2007, 12:21)

К плате прилагается....
Заглянул на сайт за информацией о железе, оказалось, что документация только после покупки!!!
Очень мило

Возможно-ли куда-нибудь выложить описание собственно железки?
Схема лежит в pub/DOC/Chips&Devices/LPC2468_kit_scheme/
zltigo
Aug 21 2007, 06:39
Цитата(3.14 @ Aug 21 2007, 07:28)

Схема лежит в pub/DOC/Chips&Devices/LPC2468_kit_scheme/
Эка доку распотрошили

по загашникам. Спасибо!
Наконец дошли руки "поглазеть" ...
Пепец №1, дебиан виртуальной машины не имеет MC, а Х-ы неправильно настроены.
Пепец №2 в ядре нет драйвера USB хоста, MTD (и NAND соответственно).
Еще не понял, на "их" плате какой загрузчик используется (по крайней мере самого загрузчика в дистрибутиве не обнаружил)?
Перетащил дистрибутивы в RH.
Странно, в /usr/local/arm-elf/bin названия файлов не содержат кросс префикса (т.е. просто gcc, ld ...) и если просто прописать путь до кросскомпилятора, то при сборке микролинуха вываливается ошибка об отсутствии arm-elf-gcc ...
Вручную в этой папке сделал линки с префиксами на файлы, чего то видимо еще надо, ядро не собирается.
Зараза, и переменные окружения под дебианом не посмотреть т.к. раскладка под какую то непонятную клаву
Ivan_Kov
Nov 12 2007, 07:04
Цитата(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 на хост машине.
u-boot с патчем на этой виртуальной машине имеется ?
Еще, в свойствах ядра не заметил явного драйвера EMAC, просто включен Ethernet 10/100M, это они его подправили или все-таки в этой версси поддержка сети не работает?
Когда планируете новый релиз качнуть, может линк дадите (если это не конфиденциально)?
Сори, поднял глаза на пару постов выше:
Цитата
Положил в upload/OS/uClinux_lpc2468 патчи для ОС и uboot.
Патч микролинуха так профилактический?
На какую версию u-boot патч задуман?
Ivan_Kov
Nov 12 2007, 12:55
u-boot версии 1.1.6
Линков куча просто (трафика жалко):
http://www.google.ru/search?q=HOWTO+uClinu...a:ru:unofficialСеть вроде работает, хотя я ее особо не пользовал.
MAC адрес - задается, как именно не разбирался, но подозреваю что через u-boot, и похоже хранится где-то в последнем секторе флеш микроконтроллера.
gaidin
Jan 25 2008, 12:39
Здравствуйте.
Тоже приобрели отладочную плату от EA (lpc2468), теперь вот разбираемся. На диске был образ для виртуальной машины - home\user\uClinux-dist-20051014 - это исходники того, что зашито в отладочную плату? и как их оттуда вытянуть не подскажите?
Скрипты и прочее успешно исполняется на ките - а как написать программу (формата elf или bin) для зашивки в флеш, чтобы запустить ее? и чтобы она использовала системные вызовы - например простенькую программку моргания светодиодом системным вызовом led?
Не компилить же ее вместе с ядром.
starterkit
Jan 25 2008, 16:08
А что озачает "и как их оттуда вытянуть"?
Дистрибутив староват,
http://mailman.uclinux.org/pipermail/uclin...May/042875.htmlДля того чтобы светодиодом помигать, нужно драйвер написать ...
Для того чтобы свой софт под ARM собрать, как минимум, нужно в мейкфайле указать кроссокмпилятор и пути до либ ...
Я на днях озадачился оживлением микролинуха на одной из своих плат - SK-LPC2478-S3E, пока только u-boot более менее адаптировал.
У меня к Вам встречный вопрос, на Вашей плате u-boot с Ethernet-ом работает (саму плату хотя бы пингануть можно?)?
Ковыряясь в исходниках, обнаружил, что все функции работы с MAC и PHY присутствуют а u-boot ими не пользуется (даже не инициализирует).
Ivan_Kov
Jan 28 2008, 07:24
Цитата(gaidin @ Jan 25 2008, 15:39)

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

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

Интересно кто как пишет программы для этого uClinux'a - то есть какая платформа, IDE, чтоб подцеплено чтоб все помпилилось, как прошиваете и запускаете?
Почитайте здесь:
<каталог с uClinux>/Documentation/Adding-User-Apps-HOWTO
там есть еще много документации, ее тоже не лишним будет почить
И не забудте про сайт EA
DmitryV
Feb 15 2008, 21:30
Цитата(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 и прочих прелестей
starterkit
Mar 10 2008, 22:07
Если не сложно, положите здесь шаблон собраного ядра с консолью на UART0 (насколько понимаю, она у EA на UART0).
Уперся, не могу признаков жизни от ядра получить ...
Alexei Kopendakov
Mar 13 2008, 07:43
Добрый день.
Подскажите, достаточно ли будет для начала работы с lpc2468 архива, лежащего на
http://www.uclinux.org/pub/uClinux/dist/uC...0080109.tar.bz2 ? Просто канал узкий, мне его еще дня 3 тянуть
2 Alexei Kopendakov
Нет
2 All
Пробовал запустить ядро на своей системе, собранное отсюда
http://mozware.free.fr/linux/Собранное ядро упорно не хочет подавать признаков жизни

Собранное ядро от EA работатет ...
Кто-нибудь успешно запускал ядро собранное по вышеуказанной ссылке (или из другого места кроме EA) и на каком железе?
Alexei Kopendakov
Mar 14 2008, 11:21
А где можно скачать ядро он ЕА?
А по вышеуказанной ссылке зайти ...
2 Alexei Kopendakov
Сори, старый стал - читаю плохо

, ЕА дист разве что на нашем ФТП или через знакомых ...
2All
Пытаюсь собрать u-boot отсюда
http://mozware.free.fr/linux/vendors.tar.bz2Хотя версия одна и таже 1.1.6, в этой поддерка сети включена и аргументы загрузки ядру передаются.
Следуя инструкции "make -f Makefile.uclinux" получаю:
Нажмите для просмотра прикрепленного файла "Предыдущий" u-boot собирается нормально.
Ivan_Kov
Mar 15 2008, 09: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. Вроде ничего не забыл
Kostos
Mar 15 2008, 09:54
А более новый дистрибутив не пойдет? ( например вот этот - uClinux-dist-20070130.tar.gz)
Я понимаю, что патчи прилажены именно к uClinux-dist-20051014.tar.gz., но всё таки.
PS все понял - размер дистрибутива однако ... не маленький.
Птчи налогаются на ядро, ядро из uClinux-dist-xxx заменяется на отпатченное.
Единственно, с чем могут вознкнуть проблемы, это с созданием корневухи ...
Цитата(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. Вроде ничего не забыл
Заметил такой фокус, по ходу итераций сборки ядра, ни с того ни с сего ядро перестает подавать признаков жизни
От настроек ядра это независит, в первый раз у меня это случилось, когда включил поддержку всех возможных таблиц размещений, никакие возвраты в предыдущее состояние конфигурации, чистки и т.п. не изменяют ситуацию, только полное обновление всего ядра.
Второй раз произошло, когда стал искать в каком месте серийные порты прописываются в системе, что само по себе довольно странно т.к. пока нигде не могу найти упоминаний о количестве и инициализации UART0 и UATRT1 (драйвер сам включен, но вот кто его использует ...), и изменил параметр CONFIG_SERIAL_8250_NR_UARTS с нуля до 1, и опять такой же фокус
Ivan_Kov
Mar 18 2008, 06:50
Цитата(3.14 @ Mar 17 2008, 15:30)

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