|
RTEMS |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Apr 7 2005, 13:45
|
Частый гость
 
Группа: Свой
Сообщений: 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 среды и умение в ней работать).
|
|
|
|
|
Apr 8 2005, 10:25
|
Частый гость
 
Группа: Свой
Сообщений: 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) для быстрой навигации по этим папкам :)
|
|
|
|
|
Apr 8 2005, 14:13
|
Частый гость
 
Группа: Свой
Сообщений: 146
Регистрация: 8-12-04
Пользователь №: 1 407

|
Проблем с навигацией у меня нет. Поверьте программистом я работаю не первый год и уже как 15 лет. С Unix системами я тоже знаком не по наслышке. Дело в другом. При компиляции очень много перекрестных ссылок. Я очень хочу выбрать из RTEMS только основные компаненты, которые позволили бы мне использовать голый kernel. Мне не нужны не файловые системы не специальные драйвера - это я и без них сделаю. Для меня основная задача - это максимально маленькое ядро ОС. Почему я выбрал RTEMS, а не что-либо другое. Во-первых из обычного житейского интереса, во-вторых задача показалась мне не простой. Только в одном я промахнулся описания для нормального портирования я не нашел. По сути надо лишь норамльное описание таго, что лежит в файлах, хоть короткое хоть длинное. Потому как просто не понять че ему реально надо, а что можно выкинуть и забыть. Вроде я получил нормальную сборку ядра. Принципиально оно даже запускается, но платформенно зависимую часть я пока не понял куда прикручивать. Я остановился и попробовал создать образ в Linux, но результатом стали лишь исполняемые файлы под Linux. Тут я еще тормазнулся, если файлы пашут под Linux значит они и собраны под него, тогда вопрос: "Где ядро ОС, которое можно подгрузить на компе и порадоваться, что все работает". На сколько я понял из файлов там есть консоль, т.е. можно потыкать клавиши при загруженной ОС. Если бы у меня была такая сборка и я бы понимал как она получилась я бы без проблем портировал бы эту ОС без всяких там makefile'ов. К сажелению такого понятия у меня пока нет.
|
|
|
|
|
Apr 8 2005, 21:13
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 15-03-05
Пользователь №: 3 361

|
Извините, нечего оскорбительного не имел ввиду, просто ко мне несколько студентов подходило (начальство делало редирект в мою сторону  и плакало как там все запутанно  Позволю несогласиться насчет документации. Там очень хорошо описана структура кода и где что находится, а куда надо вставлять поддержку своей платы (libbsp). Признаюсь, что работал с 4.5.2 версией, а последние (4.6.2) не видел. Это было 2 года назад. Может быть там что и поменялось. Готов вам помочь разобраться. На работе скачаю новую версию посмотрю. Буда рад помочь, если подскажите в чем. Насчет makefile совершенно с вами не согласен. Без понимания этой системы и вообще без нее далеко не уедешь. Недаром там такой огород нагородили. А версия для linux у вас получилась видимо потому что не указаны опции для configure по использованию кросс-компилятора (кажется --build-target или что-то в этом роде). Естественно, linux бинарник не позволит получить образ для flash (потому что он требует динамических библиотек а они самого ядра) Но может я и ошибаюсь. Попробуйте запустить obj-copy для вашего исполнимого файла, указав опцию binary формата выходного файла. Если сругается на неразрешимось ссылок, значит я прав. С уважением, Andrey
|
|
|
|
|
Apr 27 2005, 07:19
|

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

|
Прошу не бить меня сильно за следующий вопрос. Понимаю, что незнание не освобождает от ответственности, но все же. Подскажите, каким образом развернуть RTEMS под Windows, возможно ли это? В данном вопросе я ламер, поставили задачу разобраться с RTEMS - не знаю, от чего оттолкнуться. Заранее спасибо всем откликнувшимся.
|
|
|
|
|
Apr 28 2005, 04:50
|
Частый гость
 
Группа: Свой
Сообщений: 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, например).
|
|
|
|
|
Apr 28 2005, 05:00
|

Группа: Новичок
Сообщений: 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 выделять отдельный раздел? Спасибо еще раз.
--------------------
Осторожно: с моделью разума не все в порядке!
|
|
|
|
|
Apr 28 2005, 05:18
|
Частый гость
 
Группа: Свой
Сообщений: 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) Ю а велком! :)
|
|
|
|
|
Apr 28 2005, 05:35
|

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

|
Цитата(Andrey Sudnov @ Apr 28 2005, 11:18) Распаковать в какую-нибудь папку дистибутив RTEMS. Все, он готов к работе. Если вы имеете ввиду запуск RTEMS на PC, то для этого надо FAT раздел или дискетку, чтоб запустить DOS, а из него загрузить в память образ приложения. Может быть ошибаюсь в деталях, но концептуально это должно быть так (не запускал RTEMS на PC). Ю а велком!  Спасибо, для начала информации достаточно. Если будут еще вопросы (они должны быть, иначе никак  ) - я Вас еще потревожу.
--------------------
Осторожно: с моделью разума не все в порядке!
|
|
|
|
|
Sep 14 2007, 19:26
|
Частый гость
 
Группа: Участник
Сообщений: 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? Подскажите пожалуйста как это сделать или где об этом можно почитать ?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|