Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Когда 1) соберу под винду binutils-z80 и пропатченый sdcc, 2) настрою какой-нибудь eclipse для работы с gdb-z80
---------- Post added at 10:26 ---------- Previous post was at 10:15 ----------
Нет.
Я лишь говорю, что нет ничего плохого в компиляции в си - это очень эффективный и достаточно низкоуровневый язык.
Если выбирать между существующим компилятором в Си, и несуществующим компилятором в асм, я бы выбрал первый.
А если есть большое желание написать свой компилятор - давай gcc портируем? Очень разумная архитектура и понятный код (в отличие от кошмара в sdcc), плюс он уже содержит поддержку 8битного процессора 68HC11 (Motorola), чья архитектура довольно близка z80 - есть что взять за основу, плюс есть исходники поддержки z80 в древнем gcc-2.95.
Сразу получим поддержку си, c++, фортрана, objective c и Ады. Потом можно туда и оберон прикрутить.
Граф Дракула наш кумир, патамушта он вомпир!
VKINK 9 : BORDER NOT PI
Ну, как говорится, очень ждем-с. На данном этапе наличие для Z80 полноценного компилера С с отладчиком, интегрированного с эмулятором, даст больше, чем наличие, извините (при всей моей любви к Паскалю), Оберона. Ибо можно портировать много интересного.
Кстати о портировании. Есть что-нибудь интереcное в исходниках на Обероне c точки зрения портирования на Z80? Например, стек TCPIP? Библиотека для работы с FAT? Небольшие операционные системы (размером с Contiki)?
А за счет чего связываются gdb и ZXMAK2? Интересуюсь с точки зрения чего надо запилить в моем эмуляторе Ориона, чтобы с твоим фронтендом отладчика можно было заменить ZXMAK2 на мой эмуль. Есть какая-то спецификация на то, что для этого должно быть в эмуле? Очень хочется нормально дебажить С-код для Ориона. Задолбался printf-ами отлаживаться.
Последний раз редактировалось Error404; 20.03.2012 в 11:35.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Это утопия, gcc как проект рассчитан на mainstream (читай системы с плоской организацией памяти 32bit или 64bit). Так что прикручивание к нему всяких "извратов" из компилеров для embedded систем это задача противоречащая самой сути проекта gcc (имеются в виду все системы с ограниченным в 64kb прямо-адресуемым пространством). К примеру OpenWatcom поддерживает i8088 и всякие там HUGE, LARGE, TINY поробуй сделать все тоже самое для gcc (если сможешь то будет смысл обсуждать дальше).
SDCC специально создан для таких систем и развивается в этом направлении (Embedded C).
Ты прикалываешься? Это не столько ватком поддерживает, сколько процессор. Наш проц и знать не знает о страницах и сегментах, и никакой sdcc этому серьезно помочь не сможет.К примеру OpenWatcom поддерживает i8088 и всякие там HUGE, LARGE, TINY
Гм, это звучит как цитата из пресс-релиза.
Но вообще у нас плоская память, больше 40 килобайт доступно для софта.
Страницы - черт с ними, на первых порах не нужны. А вообще это задача линкера по разным страницам код распихивать. У gcc нет своего линкера, он ассемблерный листинг генерирует, и чао.
---------- Post added at 17:30 ---------- Previous post was at 17:29 ----------
WinAVR, кстати, вообще изврат, правда?
Однако самый популярный си компилер под AVR
Граф Дракула наш кумир, патамушта он вомпир!
VKINK 9 : BORDER NOT PI
Ну как раз первичен тут Watcom потому как например 32bit flat он поддерживает тоже! Но в отличие от gcc портированного под DPMI и Windows он поддерживет coff формат с для real mode приложений. Так вот идеология дальнейшего развития SDCC как-бы намекает на создание подобного формата OBJ-ей рассчитанных на страницы и модели памяти tiny, large, huge и т.д.
ГЫ, так давно известно что flat это "large tiny"! Эту модель вообще поддерживает ЛЮБОЙ компилер какой не возьми, токо вот толку нам от этого? Зачем отказываться от нужных фич?Но вообще у нас плоская память, больше 40 килобайт доступно для софта. Страницы - черт с ними, на первых порах не нужны. А вообще это задача линкера по разным страницам код распихивать. У gcc нет своего линкера, он ассемблерный листинг генерирует, и чао.
х.з. не видел, не использовал, расскажи если знаешь что он может в плане облегчения жизни программистам на платформах со страничной организацией памяти.WinAVR, кстати, вообще изврат, правда? Однако самый популярный си компилер под AVR
Ты про вот это? http://zx.pk.ru/showpost.php?p=468974&postcount=10ГЫ, так давно известно что flat это "large tiny"! Эту модель вообще поддерживает ЛЮБОЙ компилер какой не возьми, токо вот толку нам от этого? Зачем отказываться от нужных фич?
Данные ок, а код? Переход (jp) из одной банки памяти в другую возможен?
Я не в курсе про страницы в avr, но речь же шла об embeddedх.з. не видел, не использовал, расскажи если знаешь что он может в плане облегчения жизни программистам на платформах со страничной организацией памяти.
Последний раз редактировалось Eltaron; 23.03.2012 в 11:56.
Граф Дракула наш кумир, патамушта он вомпир!
VKINK 9 : BORDER NOT PI
И про то тоже, на счет кода там уже были давно разные модели памяти не уверен работают ли они вообще и на каких процессорах. В embedded кроме страниц бывает куча всего всего всего (та же harvard architecture или LoHi у 1818вм01 или доступ к битовым областям), самый крутой в этом плане компилятор AS. По хорошему SDCC нужно компилить именно под него.
А вообще по этому вопросу интересно спросить тех кто проффесионально пишет софт под 8/16 bit на пользуясь какой нибудь крутой комерческой софтиной (IAR?). Есть тут такие? Кто может сказать что больше всего подходит для Z80 и спекки?
Есть визуальный разработчик для микроконтроллеров Деконт 128 (внутри Z80). Компилирует визуальная схема -> C -> ASM -> машинный код (не особо оптимальный естественно)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)