- posted
19 years ago
AVR GCC&IAR
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
Всем привет!
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 самый лучший.
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
Всем привет!
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-а.
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
Всем привет!
Dima Orlov писал к Askold Volkov 07.01.2004:
DO> При единичном или мелкосерийном производстве - вполне оправданный DO> подход (из него растут ноги всяких пром-РС). Для средне и DO> крупносерийного он увы уже не работает.
Ну, мы-то все-таки в России, в отличие от некоторых :) Думаю, не многие тут могут похвастаться такими крупными сериями, чтобы это на них уже не работало. С другой стороны, вот сотовые телефоны делаются охрененно крупными сериями, однако для их программирования часто используется JAVA - ну ни с какого боку не самое эффективное средство. И ничего...
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago