Сообщение от eleorka
|
Невозможно знать все синтаксы для всех существующих разновидностей компиляторов, но и одновременно хочется использовать уже готовый исходник который у вас “в руках”.
|
Для этого существует универсальный преобразователь - голова, правда у одних он работает, у других категорически глючит. Если уж совсем не надеетесь на свой преобразователь, найдите книжку Шпака "Программирование на языке C для AVR и PIC микроконтроллеров" и держите ее под рукой. Хотя выучить отличия в обращениии к регистрам и портам, а в основном именно этим отличается "синтаксис" не так уж и долго, тем более что наиболее распространенных компиляторов всего четыре: WinAVR, CodeVision AVR, IAR, ImageCraft AVR. Но, даже зная особенности синтаксиса каждого, Вы успеха не добъетесь. В вашем случае основная проблема в том, что различные компиляторы используют свои встроенные библиотечные модули функций, которые индивидуальны для каждого компилятора, а в ряде случаев в одном они есть, а в другом просто отсутствуют. Это касается в основном работы с периферийными устройствами. И вот тут только "универсальный преобразователь" и может помочь. А он у Вас пока еще версии 1.beta, так что развивайте его хотя бы до версии 2, если Вам нужен еще и CVAVR. И в первую очередь смотрите в шапки исходников - если стоят хидеры включения модулей периферии (LCD, I2C, OneWire и пр.) то переносимость таких кодов нулевая, только через "встроенный на плечи преобразователь".
ЗЫ А к Протеусу этот вопрос действительно никак не относится - он для отладки AVR работает с ELF/DWARF для WinAVR, COFF для CVAVR и Image Craft и UBROF для IAR.