Nintendo DS доморощенный с Ада? - PullRequest
3 голосов
/ 28 сентября 2008

Примечание: я очень мало знаю о наборе инструментов GCC, поэтому этот вопрос может не иметь особого смысла.

Поскольку GCC включает в себя внешний интерфейс Ada и может генерировать ARM, а devKitPro основан на GCC, возможно ли использовать Ada вместо C / C ++ для написания кода на DS?

Редактировать: Похоже, что цель, которую использует devKitARM, это arm-eabi.

Ответы [ 5 ]

6 голосов
/ 06 ноября 2009

devkitPro не является набором инструментов, компилятором или каким-либо другим программным пакетом. Инструментальной цепочкой, используемой для целевой DS, является devkitARM, одна из инструментальных цепочек, предоставляемых devkitPro.

Может быть возможно создать компилятор ada, но я очень сомневаюсь, удастся ли вам когда-нибудь запустить что-нибудь полезное на самой DS. Конечно, devkitPro никогда не предоставит компилятор ada в составе пакетов, которые мы производим.

3 голосов
/ 09 марта 2011

Да, это возможно, посмотрите мой проект https://github.com/Lucretia/tamp и соберите кросс-компилятор согласно моему сценарию. После этого вы сможете настроить таргетинг на NDS с помощью Ada. Я также создал базовую RTS, которая предоставит вам локальную обработку исключений.

И @Martin Beckett, почему Ада нацелена прямо на DoD? Они отменили мандат несколько лет назад, и Ada легко использовать для любого проекта, вы понимаете, что Ada - язык программирования общего назначения не так ли?

2 голосов
/ 05 ноября 2008

При переносе языка на DS Nintendo DS следует учитывать относительно небольшой стек (16 КБ). Существуют возможные обходные пути, такие как перестановка содержимого стека SRAM в DRAM (4 МБ), когда стек заполняется или просто весь стек в DRAM (предполагается, что он очень медленный).

И я второй Dre о том, что вам придется связать себя между библиотечной функцией Ada, которую вы хотели бы использовать, и существующими библиотеками на DS (которые, мы надеемся, охватывают большую часть аппаратного обеспечения). *

1 голос
/ 28 сентября 2008

(Отказ от ответственности: я не знаю, Ада)

Возможно.

Вы могли бы быть в состоянии собрать devKitPro для использования Ada, однако предварительно предоставленные двоичные файлы (по крайней мере для OS X) не имеют встроенной поддержки Ada.

Однако вы, вероятно, обнаружите, что пишете тонны «склеивающего» кода на C для взаимодействия с различными аппаратными регистрами и т. П.

0 голосов
/ 02 июня 2010

На практическом плане это невозможно.

В теоретическом плане вы можете использовать один пользовательский анализатор Ada (я нашел этот на сайте ANTLR , но он довольно старый), чтобы перевести Ada на C / C ++, а затем передать это devkitpro.

Однако усилия по созданию такого переводчика, вероятно, будут равны (если не выше) созданию самой игры.

...