roboforum.ru

Технический форум по робототехнике.


uClinux, и с чем его едят.

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: uClinux, и с чем его едят.

Сообщение Strijar » 26 июл 2011, 16:59

Виталий писал(а):2. Почему-то в Linux сообществе принято считать что лучший документ на систему - ее код. Что из этого получается думаю всем известно. Куча патчей и переписка в багтрекерах.


И это нормально! Потому, что сама система ничего не стоит. Оплачиваете вы ее своим временем, или деньгами тем людям которые профессионально занимаются ее поддержкой.
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

Re: uClinux, и с чем его едят.

Сообщение Виталий » 26 июл 2011, 17:20

Это "нормально" с философской точки зрения. С технической точки зрения - это бред.
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: uClinux, и с чем его едят.

Сообщение Сергей » 26 июл 2011, 18:30

Угу, копался в исходниках. Это было что-то. Во-первых они не читаемые - вероятно специально шифруются от злодеев и негодяев. Если ты не гик с 20-летним стажем, то результата такое чтение не принесет. Во-вторых они очень мудреные, простейшие операции завуалированы через сотню макросов и десяток функций. Ну мне ответят на это - "ну и что? Не хочешь не разбирайся". Только вот сейчас уже наглядно видно к чему приводит уплотнение Си кода. Взгляните на GTK и Gnome - они ужасны по виду и баг на баге сидит. Немножно лучше дело обстоит с KDE, догадались на C++ писать.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: uClinux, и с чем его едят.

Сообщение Grem » 26 июл 2011, 18:58

Взгляните на GTK и Gnome - они ужасны по виду и баг на баге сидит. Немножно лучше дело обстоит с KDE

Хотите похоливарить? Я всю жизнь пользовался и пользуюсь гномом, а от вида кед мне хочется показать всем, что я кушал
Можно ну хоть один баг озвучить именно НАЙДЕНЫЙ ВАМИ глядя на гуй, а не в багзиллу гнома :)
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.
Аватара пользователя
Grem
 
Сообщения: 1530
Зарегистрирован: 16 май 2009, 12:50
Откуда: Россия
прог. языки: Java, C

Re: uClinux, и с чем его едят.

Сообщение Michael_K » 26 июл 2011, 21:59

setar писал(а):
Michael_K писал(а):По поводу "кросс-компиляторов".... GCC из-под винды.

Я написал не просто так.
Кросс компилятор нужен для сборки ядра, и базовых пакетов.
Включая нативный компилятор (если он требуется).
ну и все это : "- библиотеки-драйвера (файловая система, коммуникации, графика)" тоже собирается кросс компилятором.


Может быть непонятно прозвучало - естественно, я писал про GCC _для_АРМ_ - это и есть кросс-компилятор. :)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: uClinux, и с чем его едят.

Сообщение Grem » 26 июл 2011, 23:05

Это не одно и то же.
Разница примерно как между транзистором и ПЛИС.
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.
Аватара пользователя
Grem
 
Сообщения: 1530
Зарегистрирован: 16 май 2009, 12:50
Откуда: Россия
прог. языки: Java, C

Re: uClinux, и с чем его едят.

Сообщение Michael_K » 26 июл 2011, 23:08

Что не одно и то же? :)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: uClinux, и с чем его едят.

Сообщение =DeaD= » 26 июл 2011, 23:12

Видимо gcc, который под arm'ом запускается и компилирует для arm'а, и кросс-компилятор gcc компилирующий на pc под arm... :oops:
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: uClinux, и с чем его едят.

Сообщение Michael_K » 26 июл 2011, 23:13

Ну, это-то, конечно, не одно и то же.
Первое - ни разу не кросс-компилятор :)
И непонятно, зачем оно вообще нужно.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: uClinux, и с чем его едят.

Сообщение =DeaD= » 26 июл 2011, 23:15

Ну, к примеру, народ под DIR-320 для DIR-320 компилирует :) на любителя конечно, как впрочем и кросс-компиляция...
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: uClinux, и с чем его едят.

Сообщение Michael_K » 26 июл 2011, 23:30

Сетар говорил конкретно: "тебе нужен кросс-компилятор". Я ответил: "он у меня есть и работает".

Он также сказал, что если вдруг потребуется, кросс-компилятором можно собрать нативный компилятор. Я это тоже понимаю (хотя не очень понимаю нафига бы оно мне понадобилось).

Что "это", которое "не одно и то же" - я не понимаю. И не оно и то же с чем? Загадка... :)

Добавлено спустя 4 минуты 28 секунд:
=DeaD= писал(а):Ну, к примеру, народ под DIR-320 для DIR-320 компилирует :)

И каков глубокий смысл этой процедуры? замусорить и без того ущербную память роутера исходниками и компиляторами или подольше ждать? :)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: uClinux, и с чем его едят.

Сообщение Grem » 26 июл 2011, 23:38

я писал про GCC _для_АРМ_ - это и есть кросс- компилятор.

Ну, это-то, конечно, не одно и то же.

Вы лучший :)
gcc для arm не есть кросс-компилятор.
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.
Аватара пользователя
Grem
 
Сообщения: 1530
Зарегистрирован: 16 май 2009, 12:50
Откуда: Россия
прог. языки: Java, C

Re: uClinux, и с чем его едят.

Сообщение Michael_K » 26 июл 2011, 23:51

Gcc запускающийся на PC и генерирующий исполняемый код для ARM - это именно кросс-компилятор. Правильно используйте термины, если хотите, чтобы вас понимали.

http://ru.wikipedia.org/wiki/%D0%9A%D1% ... 0%BE%D1%80

Кросс-компиля́тор (англ. cross compiler) — компилятор, производящий исполняемый код для платформы, отличной от той, на которой исполняется сам кросс-компилятор.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: uClinux, и с чем его едят.

Сообщение setar » 27 июл 2011, 03:54

И каков глубокий смысл этой процедуры? замусорить и без того ущербную память роутера исходниками и компиляторами или подольше ждать?

Как ни странно смысл есть (для линукса, не для одиночных самостоятельных бинарников)
В двух словах это корректное окружение для сборки пакетов.
Не все пакеты можно собрать кросс компилятором, иногда в ходе сборки используется запуск только что собранного бинарника для выяснения параметров для сборки следующего. Поскольку выполнить код например ARM на pc в лоб (без применения эмуляторов) невозможно, то такой пакет собран не будет.
С эмулятором все хорошо, кроме производительности :)
Современный проц на одном ядре делает эмуляцию ARM7 примерно в 2 раза медленнее оригинала - вот и прямой смысл использовать "нативную" (на родном железе) сборку.
Исходный код держать на устройстве не нужно, сборка ведется обычно при загрузке системы с емким и быстрым сетевым корнем по NFS
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: uClinux, и с чем его едят.

Сообщение Michael_K » 27 июл 2011, 05:04

Я это понимаю, но на самом деле мне кажется, что таких ситуаций достаточно немного. Думаю, что большая часть случаев (если не все вообще) может быть собрана и в кросс-среде.

(Как-то же портировали линукс на арм в самый первый раз :))

У меня-то лично есть ощущение, что основные причины использования нативных компиляторов в том, что 1. "лень разбираться" и 2. "лучше не рисковать".

запуск только что собранного бинарника для выяснения параметров для сборки следующего.
Вы же сами понимаете, что это извращение, хотя я не сомневаюсь, что через эту ж... все и ходят. Только потому, что этот путь наиболее автоматизирован.

Это наверняка имеет глубокий смысл для осей, которые запускают, например, на заранее неизвестном железе (фиг знает из чего собранный комп). Или если пересобирается не все с нуля, а только какой-то кусок (например, мы хотим собрать только ГУЙ, но надо сначала определить, какие версии внешних библиотек нужно использовать). Но железяка типа "роутер", не говоря уже о "кардиомонитор", например - это явно не тот случай.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9