Ada_Ru форум

Обсуждение языка Ада

AVR

Оставить новое сообщение

Сообщения

Alexandre Makeev
AVR
2003-03-08 02:10:41

Aloha, forever people

 

Я тут решил поиграться с компиляцией компилятора. Просто так

gcc/gnat собирать не очень интересно, как оказалось. А еще

оказывается в природе существует порт gcc на avr. Если кто не в

курсе, это такие микроконтроллеры. RISC, 32 8-битных регистра, память данных, память программ, EEPROM и периферия в виде таймеров, UART и прочего. Сейчас примерно за $6 можно получить 512 байт памяти и около 8K памяти программ.

Вообщем я взял binutils-avr, gcc-3.2.2 и сконфигурировал:

$sdir/configure --prefix=/home/sonni/prefix --target=avr

--with-as=/usr/bin/avr-as --with-ld=/usr/bin/avr-ld --disable-thread --enable-languages=c,ada

пишу по памяти, но примерно так. Оно даже смогло собраться и

установиться. Разумеется все очень криво и даже пустую программу на C нельзя скомпилировать, рантайм видимо отдельно собирается.

Но все-таки, можно получить ассемблерный текст и даже с оптимизицией -O3 все без ошибок компилятора собирается. Насколько там правильный код я не знаю, у меня на работе PIC18 и я уже начинаю жалеть :)

 

--

Best regards,

Alexandre mailto:sonni@...

Alexandre Makeev wrote:

 

пишу по памяти, но примерно так. Оно даже смогло собраться и

установиться. Разумеется все очень криво и даже пустую программу

на C нельзя скомпилировать, рантайм видимо отдельно собирается.

Но все-таки, можно получить ассемблерный текст и даже с оптимизицией

-O3 все без ошибок компилятора собирается. Насколько там правильный

код я не знаю, у меня на работе PIC18 и я уже начинаю жалеть :)

 

Что можно сказать. По определению GCC/GNAT 3.X могё тгенерит ько дбе зошибо ктольк обе зоптимизаци, ид а ит он евсегд. аЛучш еу жпортироват GNAT 3.15p (ьесл иэт овозможн).

 

о Аво тдаб ыприсат ьреальны епрограмм, ынад оещ ё сбиблиотеко йповозитьс. яЗдес ьнужн оимет ьввид, учт обыстр оперенест ибиблиотек увремен иисполнени GNAT яможн отольк он POSIX-асовместимы есистем. ыОднак он естои тзабыват (ь а вслуча емикроконтроллеро в ипомнит), ьчт оможн описат Ada ьпрограмм ы врамка хпрофайло No_Run_Time вил RAVENSCAR. иТогд а ипортироват ьбиблиотек упрощ.

 

еДл яуменьшени яразмеро вконечно йпрограмм ыможн оещ ё иразличны епроверк идирективо pragma Suppress йотключат - ьэт опорядко муменьшае тразме рконечно йпрограмм.

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти