olefil 0 7 февраля, 2005 Опубликовано 7 февраля, 2005 · Жалоба Кто-нибудь портировал RTEMS на другие платформы не используя кросс-платформенный компилятор Linux (и всего такого). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_Sudnov 0 7 апреля, 2005 Опубликовано 7 апреля, 2005 · Жалоба - как создать загрузочный 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 среды и умение в ней работать). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
olefil 0 8 апреля, 2005 Опубликовано 8 апреля, 2005 · Жалоба Дело в том, что на ADSP процах компилятор поствляемый Analog Devices, это некий вариант gcc, но надо сказать, что далеко от него ушедший. Для того, чтобы собрать makefile надо запусть configure. Как раз эта задача и не выполнима. В следствии мне приходится разбираться какие файлы нужны для моей сборки, а какие нет. А это я вам скажу при той структуре каталогов задача не простая. У них там столько каталогов Include с одинаковыми файлами, что свихнуться можно. А про условные компиляции я вообще молчу. За ответ спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_Sudnov 0 8 апреля, 2005 Опубликовано 8 апреля, 2005 · Жалоба Я могу вам посоветовать разобраться с системой 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) для быстрой навигации по этим папкам :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
olefil 0 8 апреля, 2005 Опубликовано 8 апреля, 2005 · Жалоба Проблем с навигацией у меня нет. Поверьте программистом я работаю не первый год и уже как 15 лет. С Unix системами я тоже знаком не по наслышке. Дело в другом. При компиляции очень много перекрестных ссылок. Я очень хочу выбрать из RTEMS только основные компаненты, которые позволили бы мне использовать голый kernel. Мне не нужны не файловые системы не специальные драйвера - это я и без них сделаю. Для меня основная задача - это максимально маленькое ядро ОС. Почему я выбрал RTEMS, а не что-либо другое. Во-первых из обычного житейского интереса, во-вторых задача показалась мне не простой. Только в одном я промахнулся описания для нормального портирования я не нашел. По сути надо лишь норамльное описание таго, что лежит в файлах, хоть короткое хоть длинное. Потому как просто не понять че ему реально надо, а что можно выкинуть и забыть. Вроде я получил нормальную сборку ядра. Принципиально оно даже запускается, но платформенно зависимую часть я пока не понял куда прикручивать. Я остановился и попробовал создать образ в Linux, но результатом стали лишь исполняемые файлы под Linux. Тут я еще тормазнулся, если файлы пашут под Linux значит они и собраны под него, тогда вопрос: "Где ядро ОС, которое можно подгрузить на компе и порадоваться, что все работает". На сколько я понял из файлов там есть консоль, т.е. можно потыкать клавиши при загруженной ОС. Если бы у меня была такая сборка и я бы понимал как она получилась я бы без проблем портировал бы эту ОС без всяких там makefile'ов. К сажелению такого понятия у меня пока нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_Sudnov 0 8 апреля, 2005 Опубликовано 8 апреля, 2005 · Жалоба Извините, нечего оскорбительного не имел ввиду, просто ко мне несколько студентов подходило (начальство делало редирект в мою сторону :) и плакало как там все запутанно :) Позволю несогласиться насчет документации. Там очень хорошо описана структура кода и где что находится, а куда надо вставлять поддержку своей платы (libbsp). Признаюсь, что работал с 4.5.2 версией, а последние (4.6.2) не видел. Это было 2 года назад. Может быть там что и поменялось. Готов вам помочь разобраться. На работе скачаю новую версию посмотрю. Буда рад помочь, если подскажите в чем. Насчет makefile совершенно с вами не согласен. Без понимания этой системы и вообще без нее далеко не уедешь. Недаром там такой огород нагородили. А версия для linux у вас получилась видимо потому что не указаны опции для configure по использованию кросс-компилятора (кажется --build-target или что-то в этом роде). Естественно, linux бинарник не позволит получить образ для flash (потому что он требует динамических библиотек а они самого ядра) Но может я и ошибаюсь. Попробуйте запустить obj-copy для вашего исполнимого файла, указав опцию binary формата выходного файла. Если сругается на неразрешимось ссылок, значит я прав. С уважением, Andrey Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
olefil 0 9 апреля, 2005 Опубликовано 9 апреля, 2005 · Жалоба Вот именно документация по портированию на новую плату для известных платформ написана идеально (лучше, врядли где встретишь разве, что в uC/OS-II). На счет помощи заранее благодарен. Сейчас пару дел разгребу и яду за RTEMS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jurgen 0 27 апреля, 2005 Опубликовано 27 апреля, 2005 · Жалоба Прошу не бить меня сильно за следующий вопрос. Понимаю, что незнание не освобождает от ответственности, но все же. Подскажите, каким образом развернуть RTEMS под Windows, возможно ли это? В данном вопросе я ламер, поставили задачу разобраться с RTEMS - не знаю, от чего оттолкнуться. Заранее спасибо всем откликнувшимся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_Sudnov 0 28 апреля, 2005 Опубликовано 28 апреля, 2005 · Жалоба Прошу не бить меня сильно за следующий вопрос. Понимаю, что незнание не освобождает от ответственности, но все же. Подскажите, каким образом развернуть RTEMS под Windows, возможно ли это? В данном вопросе я ламер, поставили задачу разобраться с RTEMS - не знаю, от чего оттолкнуться. Заранее спасибо всем откликнувшимся. <{POST_SNAPBACK}> Развернуть - это распаковать? Такие юниксовые архивы как tgz (или tar.gz - архив файлов в формате tar, зажатый упаковщиком gz) и tar.bz2 (tar, зажатый упаковщиком bz2) можно распаковать с помощью winrar. Но не рекомендую этого делать если потом необходимо будет их компилировать, так как в них есть символьные ссылки и они могут нарушиться (короче это из мира unix). Для распаковки и вообще для работы вам понадобится cygwin (http://www.cygwin.com, вроде). Разбирайтесь с ним и unix вообще (По unix рекомендую книгу Робачевского). Вам не нужно, конечно, учиться его администрировать, но идеологию понять придется, без этого никак. А потом читаете документацию к RTEMS. Там есть последовательность действий по компилированию кросскомпиляторов, компилированию RTEMS (на выходе будут библиотеки) и компилированию starter приложения под какую-либо плату (на выходе исполнимый файл или образ памяти в формате .hex, например). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jurgen 0 28 апреля, 2005 Опубликовано 28 апреля, 2005 · Жалоба Развернуть - это распаковать? <{POST_SNAPBACK}> Некорректно выразился, имелось ввиду установить для работы. Для распаковки и вообще для работы вам понадобится cygwin (http://www.cygwin.com вроде). Я о нем писал чуть ниже. <{POST_SNAPBACK}> Спасибо. А потом читаете документацию к RTEMS. Там есть последовательность действий по компилированию кросскомпиляторов, компилированию RTEMS (на выходе будут библиотеки) и компилированию starter приложения под какую-либо плату (на выходе исполнимый файл или образ памяти в формате .hex, например). <{POST_SNAPBACK}> Есть ли рускоязычная пошаговая инструкция по установке RTEMS? И еще вопрос - надо ли в Windows под RTEMS выделять отдельный раздел? Спасибо еще раз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_Sudnov 0 28 апреля, 2005 Опубликовано 28 апреля, 2005 · Жалоба Некорректно выразился, имелось ввиду установить для работы. Распаковать в какую-нибудь папку дистибутив RTEMS. Все, он готов к работе. Есть ли рускоязычная пошаговая инструкция по установке RTEMS? Не искал, может и есть. Поищите в google. И еще вопрос - надо ли в Windows под RTEMS выделять отдельный раздел? Для компилирования? Нет конечно. Если вы имеете ввиду запуск RTEMS на PC, то для этого надо FAT раздел или дискетку, чтоб запустить DOS, а из него загрузить в память образ приложения. Может быть ошибаюсь в деталях, но концептуально это должно быть так (не запускал RTEMS на PC). RTEMS не пожожа на DOS, Windows или unix в том плане, что у обычных операционок ядро лежит в одних файлах, сами приложения в других и когда надо все это динамически линкуется. RTEMS - это ОС реального времени. Ее едро не лежит в каком-нибудь файле, а прикомпилировано к приложению, т.е. монолитно находится с ним в одном исполнимом файле. Соответственно, чтоб запустить это RTEMS-приложениеб надо загрузить этот исполнимый файл в память(если он уже не находится во Flash) и передать ему управление. Спасибо еще раз. <{POST_SNAPBACK}> Ю а велком! :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jurgen 0 28 апреля, 2005 Опубликовано 28 апреля, 2005 · Жалоба Распаковать в какую-нибудь папку дистибутив RTEMS. Все, он готов к работе. Если вы имеете ввиду запуск RTEMS на PC, то для этого надо FAT раздел или дискетку, чтоб запустить DOS, а из него загрузить в память образ приложения. Может быть ошибаюсь в деталях, но концептуально это должно быть так (не запускал RTEMS на PC). Ю а велком! :) <{POST_SNAPBACK}> Спасибо, для начала информации достаточно. Если будут еще вопросы (они должны быть, иначе никак :) ) - я Вас еще потревожу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bmf 0 7 июня, 2005 Опубликовано 7 июня, 2005 · Жалоба Интересная ОС, для Analog Device blackfin наверно будет гораздо лучше и перспективней чем чем тормозной и глючный ucLinux(фактически до сих пор нереботающий). Полный набор для ембеддера: честная RTOS, TCP/IP, сервера, файловая система и остальное-на любителя. Минимальный footprint (ядро) 20..30кБ Тоже попробую портануть под него, благо опыт есть. Странно что до сих пор никто не сделал порт для него. Интересно, если у вас получилось, напишите результат. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
olefil 0 16 июня, 2005 Опубликовано 16 июня, 2005 · Жалоба На уровне функций все зашибись. Практически вызов любой процедуры в ручном режиме. Код получился приличный, но вроде как функционирующий. Единственная проблема нехватка времени и постоянные командировки. А так система довольно портируема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zuuuuk 0 14 сентября, 2007 Опубликовано 14 сентября, 2007 · Жалоба А потом читаете документацию к RTEMS. Там есть последовательность действий по компилированию кросскомпиляторов, компилированию RTEMS (на выходе будут библиотеки) и компилированию starter приложения под какую-либо плату (на выходе исполнимый файл или образ памяти в формате .hex, например). у меня установлен cygwin и я распоковал архив с sparc-rtems-4.6.5-gcc-3.2.3-1.0.15-cygwin.tar.bz2 только не могу понять, как откомпилировать RTEMS? Подскажите пожалуйста как это сделать или где об этом можно почитать ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться