реклама на сайте
подробности

 
 
> RTEMS
olefil
сообщение Feb 7 2005, 08:59
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 8-12-04
Пользователь №: 1 407



Кто-нибудь портировал RTEMS на другие платформы не используя кросс-платформенный компилятор Linux (и всего такого).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Andrey_Sudnov
сообщение Apr 7 2005, 13:45
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 15-03-05
Пользователь №: 3 361



Цитата(olefil @ Feb 7 2005, 13:59)
- как создать загрузочный image системы из под Linux;
- имеете ли вы сведения о портировании этой системы на платформы не поддерживаемые gcc.

Загрузочный image, насколько мне помниться, получается из откомпилированного elf или coff файла с помощью obj-copy, которая переводит его в bin, hex, srec, etc формат. Надо чтоб линк скрипт был настроен на конкретный адрес, откуда будет выполняться этот код.
Это делается и на Linux и в cygwin одинаково.

Насчет второго вопроса. Не знаю ни одной системы, которую бы не поддерживал gcc. Точнее не работал с такими. Знаю что у нас на кафедре портировали gcc под какую-то отечественную архитектуру. Все что поддерживает RTEMS, gcc тоже поддерживает.

Также знаю, что в другом отделе портировали RTEMS для какого-то "суперкрутого" компилятора для PowerPC.

В принципе, для того чтобы запустить RTEMS на устройстве надо чтобы gcc поддерживал процессор этого устройства (иначе придется портировать RTEMS или, еще круче, порировать компилятор). А bsp под конкретную архитектуру/плату написать относительно легко (главное требование к разработчику - знание unix-like среды и умение в ней работать).
Go to the top of the page
 
+Quote Post
olefil
сообщение Apr 8 2005, 07:46
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 8-12-04
Пользователь №: 1 407



Дело в том, что на ADSP процах компилятор поствляемый Analog Devices, это некий вариант gcc, но надо сказать, что далеко от него ушедший. Для того, чтобы собрать makefile надо запусть configure. Как раз эта задача и не выполнима. В следствии мне приходится разбираться какие файлы нужны для моей сборки, а какие нет. А это я вам скажу при той структуре каталогов задача не простая. У них там столько каталогов Include с одинаковыми файлами, что свихнуться можно. А про условные компиляции я вообще молчу. За ответ спасибо!
Go to the top of the page
 
+Quote Post
Andrey_Sudnov
сообщение Apr 8 2005, 10:25
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 15-03-05
Пользователь №: 3 361



Я могу вам посоветовать разобраться с системой configure. Есть два пакета, automake и autoconf, которые делают из makefile.am такие файлы как configure, configure.in, etc.

Если вы говорите что ваш компилятор - это развитие gcc, то значит можно найти соответствие их между параметрами запуска чтобы переделать makefile под ваш компилятор. Это не так уж и сложно сделать (просто знать где поменять пару строк и что запускать).

Как следствие нет необходимости вручную править makefile и другие скрипты. Все эти файлы генерятся автоматически из нескольких набольших файлов (1-2Кб максимум).

Хорошая дока есть в Linux и в cygwin: configure.info файл называется.
Книга про automake, autoconf и configure http://sources.redhat.com/autobook/download.html

А то что там много include - это да. Но в них лежат вовсе не одинаковые файлы. Каждая папка соответсвует своей подсистеме. Это идеологические особенности GNU. К этому надо привыкнуть. И научиться пользоваться каким-нибудь файл менеджером (отличным от Explorer и bash-shell) для быстрой навигации по этим папкам :)
Go to the top of the page
 
+Quote Post
olefil
сообщение Apr 8 2005, 14:13
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 8-12-04
Пользователь №: 1 407



Проблем с навигацией у меня нет. Поверьте программистом я работаю не первый год и уже как 15 лет. С Unix системами я тоже знаком не по наслышке. Дело в другом. При компиляции очень много перекрестных ссылок. Я очень хочу выбрать из RTEMS только основные компаненты, которые позволили бы мне использовать голый kernel. Мне не нужны не файловые системы не специальные драйвера - это я и без них сделаю. Для меня основная задача - это максимально маленькое ядро ОС. Почему я выбрал RTEMS, а не что-либо другое. Во-первых из обычного житейского интереса, во-вторых задача показалась мне не простой. Только в одном я промахнулся описания для нормального портирования я не нашел. По сути надо лишь норамльное описание таго, что лежит в файлах, хоть короткое хоть длинное. Потому как просто не понять че ему реально надо, а что можно выкинуть и забыть. Вроде я получил нормальную сборку ядра. Принципиально оно даже запускается, но платформенно зависимую часть я пока не понял куда прикручивать. Я остановился и попробовал создать образ в Linux, но результатом стали лишь исполняемые файлы под Linux. Тут я еще тормазнулся, если файлы пашут под Linux значит они и собраны под него, тогда вопрос: "Где ядро ОС, которое можно подгрузить на компе и порадоваться, что все работает". На сколько я понял из файлов там есть консоль, т.е. можно потыкать клавиши при загруженной ОС. Если бы у меня была такая сборка и я бы понимал как она получилась я бы без проблем портировал бы эту ОС без всяких там makefile'ов. К сажелению такого понятия у меня пока нет.
Go to the top of the page
 
+Quote Post
Andrey_Sudnov
сообщение Apr 8 2005, 21:13
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 15-03-05
Пользователь №: 3 361



Извините, нечего оскорбительного не имел ввиду, просто ко мне несколько студентов подходило (начальство делало редирект в мою сторону smile.gif и плакало как там все запутанно smile.gif
Позволю несогласиться насчет документации. Там очень хорошо описана структура кода и где что находится, а куда надо вставлять поддержку своей платы (libbsp).
Признаюсь, что работал с 4.5.2 версией, а последние (4.6.2) не видел. Это было 2 года назад. Может быть там что и поменялось.
Готов вам помочь разобраться. На работе скачаю новую версию посмотрю. Буда рад помочь, если подскажите в чем.
Насчет makefile совершенно с вами не согласен. Без понимания этой системы и вообще без нее далеко не уедешь. Недаром там такой огород нагородили.

А версия для linux у вас получилась видимо потому что не указаны опции для configure по использованию кросс-компилятора (кажется --build-target или что-то в этом роде). Естественно, linux бинарник не позволит получить образ для flash (потому что он требует динамических библиотек а они самого ядра) Но может я и ошибаюсь. Попробуйте запустить obj-copy для вашего исполнимого файла, указав опцию binary формата выходного файла. Если сругается на неразрешимось ссылок, значит я прав.

С уважением, Andrey
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- olefil   RTEMS   Feb 7 2005, 08:59
|- - olefil   Вот именно документация по портированию на новую п...   Apr 9 2005, 06:31
- - Jurgen   Прошу не бить меня сильно за следующий вопрос. Пон...   Apr 27 2005, 07:19
|- - Andrey Sudnov   Цитата(Jurgen @ Apr 27 2005, 12:19)Прошу не б...   Apr 28 2005, 04:50
|- - Jurgen   Цитата(Andrey Sudnov @ Apr 28 2005, 10:50)Раз...   Apr 28 2005, 05:00
|- - Andrey Sudnov   Цитата(Jurgen @ Apr 28 2005, 10:00)Некорректн...   Apr 28 2005, 05:18
|- - Jurgen   Цитата(Andrey Sudnov @ Apr 28 2005, 11:18)Рас...   Apr 28 2005, 05:35
- - bmf   Интересная ОС, для Analog Device blackfin наверно ...   Jun 7 2005, 10:44
|- - olefil   На уровне функций все зашибись. Практически вызов ...   Jun 16 2005, 09:02
|- - Николай Z   Цитата(bmf @ Jun 7 2005, 14:44) Интересна...   Oct 4 2007, 20:33
- - zuuuuk   Цитата(Andrey Sudnov @ Apr 28 2005, 08:50...   Sep 14 2007, 19:26
- - zuuuuk   я собрал RTEM под sparc на выходе получил следующи...   Sep 21 2007, 17:15


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 04:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01424 секунд с 7
ELECTRONIX ©2004-2016