winAVR VS Geany + avr-gcc;

Доброго времени суток. Столкнулся с проблемой невозможности откомпилировать сишный код, написанный под winAVR, в арче x64 в связке Geany + avr-gcc. Безусловно, был установлен весь необходимый софт для работы с этой платформой, содраны используемые инклуды с winAVR. Код не компилится, хоть тресни. Есть у кого-либо из форумчан опыт борьбы с winAVR?
flammen93
Код не компилится, хоть тресни
$ avr-as -mmcu=atmega16 -o test.o test.asm
test.asm: Assembler messages:
test.asm:4: Error: unknown opcode 'can your code shit?'
блин у меня тоже(( у вас такая же ошибка? это наверно всё из за треклятого vim надо в vi переходить...
Ошибки в тексте-неповторимый стиль автора©
Может по анологии с обычным gcc просто не совпадают версии gcc под которую писался код и которой сейчас собирать пробуете
не тут что-то сакральное, может использование ў в указателе?
Ошибки в тексте-неповторимый стиль автора©
indeviral
блин у меня тоже(( у вас такая же ошибка? это наверно всё из за треклятого vim надо в vi переходить…
Не совсем, у меня вывод на тысячу строк XD
Начиная с такого:
/usr/avr/include/mega8.h:10:1: error: unknown type name 'sfrb'
 sfrb TWBR=0;
и заканчивая таким:
main.c:408:60: error: 'TWIE' undeclared (first use in this function); did you mean 'TWI'?
 TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);
                                                            ^~~~
                                                            TWI
main.c:411:2: error: invalid preprocessing directive #asm
 #asm("sei")
  ^~~
main.c:28:20: error: expected ')' before numeric constant
 #define bStart PIND.6
                    ^~
Странно же, в winAVR то работает все
vs220
Может по анологии с обычным gcc просто не совпадают версии gcc под которую писался код и которой сейчас собирать пробуете
Спасибо, завтра уточню у коллеги
WinAVR - это нечто очень-очень древнее. С тех пор неугомонные гнус-аврщики много всякого натворили, так что тогдашние программы обычно не компилятся. Это нормально.
flammen93
содраны используемые инклуды с winAVR.
Очень сомнительное решение. Да и какой смысл? Если уж переезжать с мёртвого WinAVR на нынешний avr-gcc, то суммарно меньше геморроя будет, если один раз потратить время на осовременивание кода, и в дальнейшем не иметь проблем (какое-то время).
flammen93
#define bStart PIND.6
Странно же, в winAVR то работает все
Жуть. В gcc PIND никогда не был структурой, и уж точно цифра не может быть именем поля структуры. В нормальном Си такого быть не может. Помнится, такой изврат был у IAR, но не в gcc.
flammen93
winAVR
Батенька, winAVR и avs-as из комплекта avr-gcc имеют немного разный синтаксис. Не скомпилится у Вас он никогда

За подробностями милости прошу сюда
Да пребудет с нами Сила...!
CPU Intel Core i7 2600K/RAM DDR3 16 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb
http://maisvendoo.org
maisvendoo
За подробностями милости прошу сюда
Так там, в основном, про ассемблер и отладку, а не про миграцию сишного кода из WinAVR в нынешний gcc.
 
Зарегистрироваться или войдите чтобы оставить сообщение.