OberonCore
https://forum.oberoncore.ru/

Разработка ПО под MIPS32.
https://forum.oberoncore.ru/viewtopic.php?f=27&t=1495
Страница 1 из 1

Автор:  NetSpider [ Суббота, 25 Апрель, 2009 08:40 ]
Заголовок сообщения:  Разработка ПО под MIPS32.

Здравствуйте. Я новичек на вашем в форуме и к сожалению еще не успел разобраться в возможности использования Оберона на своей платформе как инструмента. В кратце изложу, чем мы занимаемся. На данный момент мы выдем разработку ПО под портативное устройство, работающее на Linux. Архитектура используемого процессора MIPS32. Есть готовая библиотека *.so, которую мы должны использовать для управления аппаратными функциями устройства. Мы бы хотели использовать в данном проекте Оберон ( на данный момент используем С++). В связи с этим возникли следующие вопросы:
1. Возможно ли использование Оберона/компонентного паскаля в такого рода проекте?
2. Если да, то насколько реально и в какие сроки возможно портировать его на данную платформу?

Автор:  bohdant [ Воскресенье, 26 Апрель, 2009 10:31 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Вот эту вещь не смотрели? Компилит в Си, т.е. особо ничего портировать не прийдется.

OOC is an Oberon-2 development platform. It consists of an optimizing compiler, a number of related tools, a set of standard library modules, and a reference manual.


Optimizing Oberon-2 to ANSI-C Compiler Oberon-2 is an object-oriented programming language, a successor of Pascal, designed by the renowned Niklaus Wirth. It combines the popular and proven design of Pascal (strict type system, easy to read code, easy to follow program flow, possibility to naturally structure your source code) with the modularity of Modula-2 and enhances both of them with clean, simple but powerful object-oriented concepts, including inheritance, dynamic type information, virtual methods, various access rules on class and module basis and a built-in garbage collector. OO2C is the first compiler of the Optimizing Oberon-2 Compiler (OOC) project. OOC's goal is to provide optimizing native code Oberon-2 compilers for a number of popular computer architectures.

http://sourceforge.net/projects/ooc/

Автор:  Vlad [ Понедельник, 27 Апрель, 2009 06:29 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

bohdant писал(а):
Вот эту вещь не смотрели? Компилит в Си, т.е. особо ничего портировать не прийдется.


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

Автор:  Geniepro [ Понедельник, 27 Апрель, 2009 06:54 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Удалено модератором.

Автор:  Vlad [ Понедельник, 27 Апрель, 2009 07:45 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Удалено модератором.

Автор:  Geniepro [ Понедельник, 27 Апрель, 2009 09:03 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Vlad писал(а):
Не, я конечно сам люблю поиронизировать, но если серьезно?
И в деБилдере, и в Хаскелле пользуюсь отладочной печатью (ShowMessage, изредка логи).
Когда делал программы для микроконтроллеров (а тут именно такая ситуация) -- тут уже сложнее. Ну так полюбому отладчик тут не поможет. Разве что у них внутрисхемный эмулятор имеется...
Ну тут уже многое от конкретного разрабатываемого устройства зависит -- есть ли индикатор, есть ли порт вывода на PC. Опять же отладочная печать и раздумья, почему оно печатает не то что должно...

Автор:  Alexey Veselovsky [ Понедельник, 27 Апрель, 2009 11:39 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

А не слишком ли тяжеловесно для такого решения применение сборщика мусора?
В смысле, именно того сборщика мусора который используется oo2c.

Автор:  Geniepro [ Понедельник, 27 Апрель, 2009 15:09 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Ну если уж там Линукс сумел запуститься -- накладные расход от сборщика мусора вряд ли будут заметны...
Единственная проблема -- если требуются Real-Time гарантии, тут, как сокрушался Владимир Лось, с GC проблемы. Это уже опять же от их девайса зависит...

Автор:  Madzi [ Понедельник, 27 Апрель, 2009 15:17 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Интересно, а как в OberonX организовано ? Со сборщиком или без?...

Пока только менеджер памяти который умеет менять размер стека, но сборщик мусора планируется.
А это HRT OS (hard-real-time OS)

Автор:  Geniepro [ Понедельник, 27 Апрель, 2009 15:48 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Vlad писал(а):
bohdant писал(а):
Вот эту вещь не смотрели? Компилит в Си, т.е. особо ничего портировать не прийдется.
Я вообще далек от такого рода экспериментов, но все равно интересно :) Допустим пошаговый отладчик нам не нужен. А что, например, делать с крэшами такого приложения (полученного "двойной" компиляцией)?
Кстати, адские программеры как-то же такую компиляцию терпят (GNAT: Ада->Си->машкод)...

Автор:  Vlad [ Понедельник, 27 Апрель, 2009 16:35 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Geniepro писал(а):
Кстати, адские программеры как-то же такую компиляцию терпят (GNAT: Ада->Си->машкод)...


Возможно трудность разбора крэшдампов компенсируется меньшим их количеством :) Или там какой-нибудь довесок к gdb существует...

Автор:  Vlad [ Понедельник, 27 Апрель, 2009 16:38 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Geniepro писал(а):
Ну если уж там Линукс сумел запуститься -- накладные расход от сборщика мусора вряд ли будут заметны...
Единственная проблема -- если требуются Real-Time гарантии, тут, как сокрушался Владимир Лось, с GC проблемы. Это уже опять же от их девайса зависит...


Опять же - какие такие реал-тайм гарантии на линуксе? :)

Автор:  Vlad [ Понедельник, 27 Апрель, 2009 16:41 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Madzi писал(а):
Интересно, а как в OberonX организовано ? Со сборщиком или без?...

Пока только менеджер памяти который умеет менять размер стека,


Это alloca() так обозвали? :)

Madzi писал(а):
но сборщик мусора планируется.
А это HRT OS (hard-real-time OS)


Не очень понятно каким боком размер стэка к GC и как вообще оберон может жить без GC (SYSTEM.Dispose()?). Можно какую-нибудь ссылку на первоисточник?

Автор:  Madzi [ Понедельник, 27 Апрель, 2009 16:51 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Vlad писал(а):
Madzi писал(а):
Интересно, а как в OberonX организовано ? Со сборщиком или без?...

Пока только менеджер памяти который умеет менять размер стека,


Это alloca() так обозвали? :)

Боюсь до такого изврата дело не дошло. :)

Vlad писал(а):
Madzi писал(а):
но сборщик мусора планируется.
А это HRT OS (hard-real-time OS)


Не очень понятно каким боком размер стэка к GC и как вообще оберон может жить без GC (SYSTEM.Dispose()?). Можно какую-нибудь ссылку на первоисточник?

Менеджер памяти занимается администрацией ресурсов
Цитата:
The XOberon operating system will manage the 32-bit virtual address space in Stack, Heap, Module, DMA, and I/O spaces. This allows, for example, to check for NIL-references without compiler intervention, to precisely discover stack overflows, to allow dynamic stack growth, and to quick remedy to dangling pointers to unloaded modules.

GC по сути делает то же самое.
Цитата:
Further development will guarantee best-of-breed real-time capabilities, like a real-time compatible incremental garbage collector, off-line execution time profiling, Java support, ActiveX visualization tools, etc

Можно и ссылку... http://www.ifr.mavt.ethz.ch/research/xoberon/introduction.html

Автор:  Борис Рюмшин [ Понедельник, 27 Апрель, 2009 21:38 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Вот любители трепацца не по делу (и не по теме)...
GNAT, к вашему сведению, работает front end к GCC, так что там никакого промежуточного Си нет.

P.S. Со всеми вопросами - сразу в отдельную ветку!

Автор:  NetSpider [ Вторник, 28 Апрель, 2009 14:51 ]
Заголовок сообщения:  Re: Разработка ПО под MIPS32.

Добрый день. Спасибо всем за ответы. Весь материал принял к сведению. Если появятся вопросы - отпишусь :D .

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/