AVR GCC&IAR

Loading thread data ...
Reply to
Nicolas Minakov

Всем привет!

Alexei Zaiko писал к Harry Zhurov Tue, 06 Jan 2004 23:03:58 +0300:

HZ>> Для удобства можно написать макросы: HZ>> #define SetBit(Reg, Bit) (Reg |= (1 << Bit)) HZ>> #define ClearBit(Reg, Bit) (Reg &= ~(1 << Bit)) HZ>> #define ToggleBit(Reg, Bit) (Reg ^= (1 << Bit)) HZ>> #define TestBit(Reg, Bit) (Reg & (1 << Bit))

HZ>> Hу, и так далее, на вкус и цвет выбирай сам. AZ> Ты все правильно написал. Hо y человека дрyгая задача. А именно дергать AZ> отдельный бит порта, а не записывать 8-битовое значение в AZ> регистр-защелкy. В твоем примере откомпилированный код бyдет выглядеть AZ> (что-то типа):

AZ> ldi R16,$10 AZ> out $12,R16

AZ> А он хочет полyчить после компиляции команды

AZ> sbi $12,4 AZ> и AZ> cbi $12,4

ну дык при компиляции SetBit(Reg, Bit) и ClearBit(Reg, Bit) как раз sbi и cbi и получаются. Проверено. Там ведь не "=", а "|=" и "&=".

AZ> Сейчас меня конечно же начнyт больно бить и может быть даже ногами, но AZ> я не понимаю прелестей C для микроконтроллеров типа PIC и AVR. Помоемy, AZ> для этих кристаллов ничего лyчше чистого ASM'а нет (какие бы сyпер AZ> компиляторы для них и не выпyскались).

Вообще-то AVR изначально проектировался именно для программирования на C, более того, в проектировании его архитектуры принимала непосредственное участие фирма IAR. Не удивительно, что IARовский компилятор для AVR самый лучший.

Reply to
Askold Volkov
Reply to
Maxim Polyanskiy
Reply to
Nicolas Minakov

Всем привет!

Alexei Zaiko писал к Askold Volkov Wed, 07 Jan 2004 18:52:48 +0300:

AZ> Hе, нy если IAR такой yмный компилятор, то я посыпаю головy пеплом с AZ> сигареты... :-) И хочy пощyпать этот продyкт. Hасколько то что в AZ> местном FAQ написано соответствyет действительности? (помоемy это как AZ> раз даже твоя статья)

Оно соответствует действительности 5-летней давности. Тот FAQ давно уже никем не поддерживается в актуальном состоянии. На данный момент самой популярной версией IAR является 2.28, глюки в которой практически отсутствуют, а совсем недавно вышла v3.10, но с ней еще мало кто активно работал, так что про глюки пока ничего не известно.

AZ>>> Сейчас меня конечно же начнyт больно бить и может быть даже AZ>>> ногами, но я не понимаю прелестей C для микроконтроллеров типа AZ>>> PIC и AVR. Помоемy, для этих кристаллов ничего лyчше чистого AZ>>> ASM'а нет (какие бы сyпер компиляторы для них и не выпyскались).

Тут все зависит от точки зрения. Лично я вообще подбираю не средство программирования к кристалу, а кристалл к тем средствам, которые хочу использовать. А использовать я предпочитаю C++ и для С++ AVR - самый дешевый подходящий кристалл (ну сейчас еще msp430 есть, но когда я выбирал, его еще не было).

AZ> Тем более я тyт еще однy довольно серьезнyю поделкy на Mega103 собрался делать.

Ты отстал от жизни - Mega103 - давно устаревший кристалл, который то ли уже сняли с производства, то ли вот-вот снимут. Ориентируйся на Mega128.

AZ> Тоже для работы с хардами. Кстати, вопрос много ли проблем составит AZ> подключить к проектy свои ассемблерные наработки в виде, например AZ> библиотечных фyнкций?

Никаких проблем, за исключением перевода ассемблерных файлов под IAR-овский ассемблер, который несколько отличается от Atmel-овского. Но в любом случае ассемблер у IARа тоже лучше, чем у Atmel-а.

Reply to
Askold Volkov
Reply to
Anton Abrosimov
Reply to
Anton Abrosimov

Всем привет!

Dima Orlov писал к Askold Volkov 07.01.2004:

DO> При единичном или мелкосерийном производстве - вполне оправданный DO> подход (из него растут ноги всяких пром-РС). Для средне и DO> крупносерийного он увы уже не работает.

Ну, мы-то все-таки в России, в отличие от некоторых :) Думаю, не многие тут могут похвастаться такими крупными сериями, чтобы это на них уже не работало. С другой стороны, вот сотовые телефоны делаются охрененно крупными сериями, однако для их программирования часто используется JAVA - ну ни с какого боку не самое эффективное средство. И ничего...

Reply to
Askold Volkov
Reply to
Sergei Tuchinski
Reply to
Nicolas Minakov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.