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

 
 
> 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
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
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
сообщение Apr 9 2005, 06:31
Сообщение #7


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

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



Вот именно документация по портированию на новую плату для известных платформ написана идеально (лучше, врядли где встретишь разве, что в uC/OS-II). На счет помощи заранее благодарен. Сейчас пару дел разгребу и яду за RTEMS.
Go to the top of the page
 
+Quote Post
Jurgen
сообщение Apr 27 2005, 07:19
Сообщение #8





Группа: Новичок
Сообщений: 3
Регистрация: 27-04-05
Из: Уфа
Пользователь №: 4 532



Прошу не бить меня сильно за следующий вопрос. Понимаю, что незнание не освобождает от ответственности, но все же. Подскажите, каким образом развернуть RTEMS под Windows, возможно ли это?
В данном вопросе я ламер, поставили задачу разобраться с RTEMS - не знаю, от чего оттолкнуться. Заранее спасибо всем откликнувшимся.
Go to the top of the page
 
+Quote Post
Andrey_Sudnov
сообщение Apr 28 2005, 04:50
Сообщение #9


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

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



Цитата(Jurgen @ Apr 27 2005, 12:19)
Прошу не бить меня сильно за следующий вопрос. Понимаю, что незнание не освобождает от ответственности, но все же. Подскажите, каким образом развернуть RTEMS под Windows, возможно ли это?
В данном вопросе я ламер, поставили задачу разобраться с RTEMS - не знаю, от чего оттолкнуться. Заранее спасибо всем откликнувшимся.
*

Развернуть - это распаковать? Такие юниксовые архивы как tgz (или tar.gz - архив файлов в формате tar, зажатый упаковщиком gz) и tar.bz2 (tar, зажатый упаковщиком bz2) можно распаковать с помощью winrar. Но не рекомендую этого делать если потом необходимо будет их компилировать, так как в них есть символьные ссылки и они могут нарушиться (короче это из мира unix).

Для распаковки и вообще для работы вам понадобится cygwin (http://www.cygwin.com, вроде). Разбирайтесь с ним и unix вообще (По unix рекомендую книгу Робачевского). Вам не нужно, конечно, учиться его администрировать, но идеологию понять придется, без этого никак.

А потом читаете документацию к RTEMS. Там есть последовательность действий по компилированию кросскомпиляторов, компилированию RTEMS (на выходе будут библиотеки) и компилированию starter приложения под какую-либо плату (на выходе исполнимый файл или образ памяти в формате .hex, например).
Go to the top of the page
 
+Quote Post
Jurgen
сообщение Apr 28 2005, 05:00
Сообщение #10





Группа: Новичок
Сообщений: 3
Регистрация: 27-04-05
Из: Уфа
Пользователь №: 4 532



Цитата(Andrey Sudnov @ Apr 28 2005, 10:50)
Развернуть - это распаковать?
*

Некорректно выразился, имелось ввиду установить для работы.

Цитата(Andrey Sudnov @ Apr 28 2005, 10:50)
Для распаковки и вообще для работы вам понадобится cygwin (http://www.cygwin.com вроде). Я о нем писал чуть ниже.
*

Спасибо.

Цитата(Andrey Sudnov @ Apr 28 2005, 10:50)
А потом читаете документацию к RTEMS. Там есть последовательность действий по компилированию кросскомпиляторов, компилированию RTEMS (на выходе будут библиотеки) и компилированию starter приложения под какую-либо плату (на выходе исполнимый файл или образ памяти в формате .hex, например).
*

Есть ли рускоязычная пошаговая инструкция по установке RTEMS?
И еще вопрос - надо ли в Windows под RTEMS выделять отдельный раздел?

Спасибо еще раз.


--------------------
Осторожно: с моделью разума не все в порядке!
Go to the top of the page
 
+Quote Post
Andrey_Sudnov
сообщение Apr 28 2005, 05:18
Сообщение #11


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

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



Цитата(Jurgen @ Apr 28 2005, 10:00)
Некорректно выразился, имелось ввиду установить для работы.

Распаковать в какую-нибудь папку дистибутив RTEMS. Все, он готов к работе.

Цитата(Jurgen @ Apr 28 2005, 10:00)
Есть ли рускоязычная пошаговая инструкция по установке RTEMS?

Не искал, может и есть. Поищите в google.

Цитата(Jurgen @ Apr 28 2005, 10:00)
И еще вопрос - надо ли в Windows под RTEMS выделять отдельный раздел?

Для компилирования? Нет конечно.
Если вы имеете ввиду запуск RTEMS на PC, то для этого надо FAT раздел или дискетку, чтоб запустить DOS, а из него загрузить в память образ приложения. Может быть ошибаюсь в деталях, но концептуально это должно быть так (не запускал RTEMS на PC).

RTEMS не пожожа на DOS, Windows или unix в том плане, что у обычных операционок ядро лежит в одних файлах, сами приложения в других и когда надо все это динамически линкуется. RTEMS - это ОС реального времени. Ее едро не лежит в каком-нибудь файле, а прикомпилировано к приложению, т.е. монолитно находится с ним в одном исполнимом файле. Соответственно, чтоб запустить это RTEMS-приложениеб надо загрузить этот исполнимый файл в память(если он уже не находится во Flash) и передать ему управление.

Цитата(Jurgen @ Apr 28 2005, 10:00)
Спасибо еще раз.
*

Ю а велком! :)
Go to the top of the page
 
+Quote Post
Jurgen
сообщение Apr 28 2005, 05:35
Сообщение #12





Группа: Новичок
Сообщений: 3
Регистрация: 27-04-05
Из: Уфа
Пользователь №: 4 532



Цитата(Andrey Sudnov @ Apr 28 2005, 11:18)
Распаковать в какую-нибудь папку дистибутив RTEMS. Все, он готов к работе.
Если вы имеете ввиду запуск RTEMS на PC, то для этого надо FAT раздел или дискетку, чтоб запустить DOS, а из него загрузить в память образ приложения. Может быть ошибаюсь в деталях, но концептуально это должно быть так (не запускал RTEMS на PC).

Ю а велком! smile.gif
*


Спасибо, для начала информации достаточно. Если будут еще вопросы (они должны быть, иначе никак smile.gif ) - я Вас еще потревожу.


--------------------
Осторожно: с моделью разума не все в порядке!
Go to the top of the page
 
+Quote Post
bmf
сообщение Jun 7 2005, 10:44
Сообщение #13


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

Группа: Свой
Сообщений: 146
Регистрация: 6-01-05
Из: Украина
Пользователь №: 1 831



Интересная ОС, для Analog Device blackfin наверно будет гораздо лучше и перспективней чем чем тормозной и глючный ucLinux(фактически до сих пор нереботающий). Полный набор для ембеддера: честная RTOS, TCP/IP, сервера, файловая система и остальное-на любителя.
Минимальный footprint (ядро) 20..30кБ
Тоже попробую портануть под него, благо опыт есть.
Странно что до сих пор никто не сделал порт для него.
Интересно, если у вас получилось, напишите результат.
Go to the top of the page
 
+Quote Post
olefil
сообщение Jun 16 2005, 09:02
Сообщение #14


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

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



На уровне функций все зашибись. Практически вызов любой процедуры в ручном режиме. Код получился приличный, но вроде как функционирующий. Единственная проблема нехватка времени и постоянные командировки. А так система довольно портируема.
Go to the top of the page
 
+Quote Post
zuuuuk
сообщение Sep 14 2007, 19:26
Сообщение #15


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

Группа: Участник
Сообщений: 188
Регистрация: 26-04-07
Пользователь №: 27 334



Цитата(Andrey Sudnov @ Apr 28 2005, 08:50) *
А потом читаете документацию к RTEMS. Там есть последовательность действий по компилированию кросскомпиляторов, компилированию RTEMS (на выходе будут библиотеки) и компилированию starter приложения под какую-либо плату (на выходе исполнимый файл или образ памяти в формате .hex, например).


у меня установлен cygwin и я распоковал архив с sparc-rtems-4.6.5-gcc-3.2.3-1.0.15-cygwin.tar.bz2
только не могу понять, как откомпилировать RTEMS?
Подскажите пожалуйста как это сделать или где об этом можно почитать ?
Go to the top of the page
 
+Quote Post

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

 


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


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