реклама на сайте
подробности

 
 
> Что лучше взять для AVR?, Программить на С.
High Voltage
сообщение Nov 22 2005, 10:28
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 105
Регистрация: 28-09-05
Из: Москва
Пользователь №: 9 040



Что лучше и где взять, чтобы совмещать Асс и С/С++ под AVR? Никак не пойму, можно ли в AVR Studio писать на С/С++?
Go to the top of the page
 
+Quote Post
4 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 55)
G}{OST
сообщение Nov 22 2005, 10:35
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 48
Регистрация: 6-05-05
Пользователь №: 4 784



Цитата(High Voltage @ Nov 22 2005, 13:28) *
Что лучше и где взять, чтобы совмещать Асс и С/С++ под AVR? Никак не пойму, можно ли в AVR Studio писать на С/С++?

1. IAR
2. Нет

Сообщение отредактировал G}{OST - Nov 22 2005, 10:36


--------------------
cul8r!
* #ru_embedded - эмбеддерский чат
Go to the top of the page
 
+Quote Post
starter48
сообщение Nov 22 2005, 10:35
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 15-10-05
Из: Томск
Пользователь №: 9 680



Цитата(High Voltage @ Nov 22 2005, 16:28) *
Что лучше и где взять, чтобы совмещать Асс и С/С++ под AVR?

Однозначно IAR C++
лежит на ftp.iar.com
в каталоге pub/mirror/EWMIRROR/002352/
Но он платный.
ломалку здесь поищи: http://forum.electronix.ru/index.php?showtopic=3371

Ещё есть бесплатный WinAvr. Но код он генерит немного хуже, чем IAR.
Цитата(High Voltage @ Nov 22 2005, 16:28) *
Никак не пойму, можно ли в AVR Studio писать на С/С++?

Писать можно. Компилировать нельзя wink.gif

Сообщение отредактировал starter48 - Nov 22 2005, 10:50
Go to the top of the page
 
+Quote Post
High Voltage
сообщение Nov 22 2005, 10:48
Сообщение #4


Частый гость
**

Группа: Новичок
Сообщений: 105
Регистрация: 28-09-05
Из: Москва
Пользователь №: 9 040



А так чтобы для русского человека. Скачал, кр*кнул, и полная версия. ЧТобы и писать и компилить и отлаживать, ну и ессно программировать сами контроллеры можно было (AVR ISP)? ИАР то можно надыбать на халяву?

А для AVR Studio можно чем нить компилить? Компилятор там?
Go to the top of the page
 
+Quote Post
starter48
сообщение Nov 22 2005, 10:59
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 15-10-05
Из: Томск
Пользователь №: 9 680



Цитата(High Voltage @ Nov 22 2005, 16:48) *
А так чтобы для русского человека. Скачал, кр*кнул, и полная версия. ЧТобы и писать и компилить и отлаживать, ну и ессно программировать сами контроллеры можно было (AVR ISP)? ИАР то можно надыбать на халяву?

Тебе написали, где его можно взять. Где поискать ломалку я тебе тоже написал.
Если появятся конкретные проблемы, спрашивай.

Для внутрисхемной отладки тебе понадобится JTAG ICE
схемы первой версии можешь поискать тут:
http://forum.electronix.ru/index.php?showtopic=8055
я там и на свой вариант ссылку давал.
Но первая версия подходит не для всех контроллеров. Хорошо иметь вторую. Но её схемы и прошивки я в инете не видел. Т.е. JTAG ICE II придётся покупать.

В качестве стартового программатора можешь применить AvReal:
http://www.ln.com.ua/~real/avreal

Цитата(High Voltage @ Nov 22 2005, 16:48) *
А для AVR Studio можно чем нить компилить? Компилятор там?

Там asm только.
А вообще, рекомендую полистать форум. Здесь много тем про программаторы, компиляторы и отладку. Чтобы не плодить дубли тем.

Сообщение отредактировал starter48 - Nov 22 2005, 11:09
Go to the top of the page
 
+Quote Post
High Voltage
сообщение Nov 22 2005, 11:16
Сообщение #6


Частый гость
**

Группа: Новичок
Сообщений: 105
Регистрация: 28-09-05
Из: Москва
Пользователь №: 9 040



Спасибо! Будем париться.

P.S.: Про ломалку я как-то и не увидел строчку, извиняюсь!

Сообщение отредактировал High Voltage - Nov 22 2005, 11:18
Go to the top of the page
 
+Quote Post
BVU
сообщение Nov 22 2005, 12:18
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Все зависит от того сколько много Вы делали проектов на С/C++ и какие ранее программные продукты использовали.
Существует IAR, ICC, CodeVision, avr-gcc и наконец VisualASM (что конечно к C отношения не имеет, но так к слову).
Все рекомендуют IAR, я тоже его советую, т.к. этот инструмент наиболее универсален для создания проектов для AVR. При достаточно серьезном освоении этого программного продукта работать на нем становиться легко и удобно, как если бы Вы использовали VC для создания программ на PC.


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
ikX
сообщение Nov 22 2005, 13:06
Сообщение #8


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 27-07-05
Пользователь №: 7 138



Цитата(High Voltage @ Nov 22 2005, 14:28) *
Никак не пойму, можно ли в AVR Studio писать на С/С++?


В последней версии AVRstudio включен плагин для совместной работы с GCC или WINAVR (один из них должен быть установлен), что позволяет писать программы на Си непосредственно в студии
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Nov 22 2005, 16:28
Сообщение #9


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Эх... Есть одно неудобство у IAR после VC smile.gif. Он не предлагает автоматом список членов класса и структур после операторов "." и "->" smile.gif.
Go to the top of the page
 
+Quote Post
High Voltage
сообщение Nov 22 2005, 16:38
Сообщение #10


Частый гость
**

Группа: Новичок
Сообщений: 105
Регистрация: 28-09-05
Из: Москва
Пользователь №: 9 040



Писать я писал много на Ms VS 5.0, 6.0, 7.0 (.NET). И консоли, и графику, и окна, как то на MFC так и WinAPI, так что с С/С++ у меня всё хорошо. Окна и на чистом С писал.

Удобнее всего наверное в самой AVR Studio писать и компилить. А что за плагин?

А, скачал IAR, пока не разобрался, времени не было (в универе был).
Писал, правда совсем малость, на С под ARM в IAR.

И можно ли проект делать совместно Асс и С? В IAR ARM я знаю можно.

Сообщение отредактировал High Voltage - Nov 22 2005, 16:41
Go to the top of the page
 
+Quote Post
JeDay
сообщение Nov 22 2005, 20:33
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 276
Регистрация: 22-09-05
Из: Kiev
Пользователь №: 8 818



Попробуй ICC AVR. Мож понравится...
http://www.imagecraft.com/software/demos.html
Лечилки вроди нету пока, есть отматывалка времени.
Прикрепленные файлы
Прикрепленный файл  ImageCraft_Unlimiter_AVR.rar ( 257.78 килобайт ) Кол-во скачиваний: 418
 
Go to the top of the page
 
+Quote Post
sav6622
сообщение Nov 23 2005, 07:44
Сообщение #12


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 2-02-05
Из: Россия
Пользователь №: 2 377



Прекрасно можно писать в С в самой среде AVRStudio, в последней версии действительно плагин поставили, перед установкой AVRStudio нужно поставить пакет WinAVR. Студия его автоматичеки подхватит при установке.
Кстати стало достаточно удобно... отлаживаешься тут же в симуляторе... прямо по сишному коду... сам написал и отладил небольшой проект на tiny2313
Go to the top of the page
 
+Quote Post
lazycamel
сообщение Nov 23 2005, 07:46
Сообщение #13


Участник
*

Группа: Свой
Сообщений: 48
Регистрация: 5-11-04
Пользователь №: 1 053



Цитата(High Voltage @ Nov 22 2005, 14:28) *
Что лучше и где взять, чтобы совмещать Асс и С/С++ под AVR? Никак не пойму, можно ли в AVR Studio писать на С/С++?


1)
Варианта 3, по крайней мере я использую.

СodeVision AVR - когда по быстрому надо сбацать халтурку и забыть про нее
AVR Studio + WinAVR - когда надо что-то по-серьезнее
IAR - когда думаю что понадобится кросплатформенная переносимость

2)
AVR Studio начиная c 4b25 поддерживает GCC/WinAVR напрямую.

ЗЫ: С++ не использую, только С - т.е. точно по 2-му вопросу сказать не могу.
Go to the top of the page
 
+Quote Post
dxp
сообщение Nov 23 2005, 07:54
Сообщение #14


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(AndyBig @ Nov 22 2005, 22:28) *
Эх... Есть одно неудобство у IAR после VC smile.gif. Он не предлагает автоматом список членов класса и структур после операторов "." и "->" smile.gif.

Так и не используйте его оболочку. У ИАРа главное - компилятор. А редактор лучше внешний взять. Который все это (и многое другое) умеет.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
MicronSys
сообщение Nov 23 2005, 11:35
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 106
Регистрация: 12-05-05
Пользователь №: 4 946



Я использую
WinAvr + VMLAB получается хорошая связка

до этого работал на IAR C++ симулятор AVRstudio

WinAvr немного больше код делает на компилит давольно таки хорошо
VMLAB очень хороший симулятор правда не без хрехов
Go to the top of the page
 
+Quote Post
Vict59
сообщение Nov 24 2005, 06:12
Сообщение #16


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 22-06-04
Из: Москва
Пользователь №: 109



Использую IAR C 2.28 (написания кода) + AVRstudio (для отладки, проверки временных интервалов). ИМХО очень хорошая "парочка".
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 24 2005, 13:22
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



А есть ли какая-то литература (желательно русская) по IAR? По чему лучше его освоить?


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
dimka2001
сообщение Nov 24 2005, 14:51
Сообщение #18


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 6-11-05
Пользователь №: 10 508



Лучше всего codevision!!!
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Nov 25 2005, 00:32
Сообщение #19


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата
А есть ли какая-то литература (желательно русская) по IAR? По чему лучше его освоить?


К сожалению не находил, когда пытался освоить IAR. Но к тому времени я уже немного знал английский (очень не много) и потихоньку разбирал мануал пользователя. Там все доходчиво сказано. Если у Вас возникнут вопросы, я думаю на них смогут ответить на этом форуме, потому, что там (в IAR) все на самом деле очень просто.

На счет освоить... Я сначала открыл и скомпилировал пример, который прилагается к дистрибутиву IAR, затем с нуля начал свой проект, по пути знакомясь с особенностями IAR EWAVR.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 25 2005, 05:10
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Спасибо. Видимо, пока у меня будет наоборот, быстрые проекты - на ассемблере, когда время не поджимает - на Си.
Вопрос возник. Когда пробовал WinAvr, он выдавал полный листинг с сишными кодами и ассемблерной реализацией всего проекта в целом. А IAR уменя выдает листинги только по модулям, а цельную картину не могу получить. Это он в принципе не может или я что-то не доделываю?

Сообщение отредактировал Георгий - Nov 25 2005, 06:21


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Nov 25 2005, 09:07
Сообщение #21


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(Георгий @ Nov 25 2005, 07:10) *
...Вопрос возник. Когда пробовал WinAvr, он выдавал полный листинг с сишными кодами и ассемблерной реализацией всего проекта в целом. А IAR уменя выдает листинги только по модулям, а цельную картину не могу получить. Это он в принципе не может или я что-то не доделываю?

Цельная картина складывается после сборки проекта, но в IAR-овском линкере не предусмотрена такая возможность (а может я ей просто не пользуюсь wink.gif ).
Если бы Вы сказали зачем оно нужно, то может можно было бы поискать обходные манёвры, например:
- загрузить проект в отладчик IAR и вызвать окно дизассемблера;
- загрузить проект в AVRStudio и далее так же.

Сообщение отредактировал IgorKossak - Nov 25 2005, 09:07
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 25 2005, 10:01
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



В WinAVR-е было удобно контролировать, что компилится и как реализуются какие-то куски программы (после чего я его и покинул). Просто у меня начались временные расхождения в программах, отлаживаемых в разных системах, вот и хотелось бы иметь этот ассемблереый код. Но похоже такого вообще нет. Перерыл все что идет с IAR, все установки поперепробовал, но увы мне sad.gif


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 25 2005, 11:02
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Столкнулся с непоняткой компиляции IAR-а.
Исходник:
Код
void delay20mks(void)
{
char j,k;

  for (j=0; j< 6; j++)
    for (k=0; k<176; k++);
}

В Debug режиме:
Код
    21          void delay20mks(void)
   \                     delay20mks:
     22          {
     23           char j,k;
     24          
     25            for (j=0; j< 6; j++)
   \   00000000   E010               LDI     R17, 0
   \   00000002   C004               RJMP    ??delay20mks_0
     26              for (k=0; k<176; k++);
   \                     ??delay20mks_1:
   \   00000004   9503               INC     R16
   \                     ??delay20mks_2:
   \   00000006   3B00               CPI     R16, 176
   \   00000008   F3E8               BRCS    ??delay20mks_1
   \   0000000A   9513               INC     R17
   \                     ??delay20mks_0:
   \   0000000C   3016               CPI     R17, 6
   \   0000000E   F410               BRCC    ??delay20mks_3
   \   00000010   E000               LDI     R16, 0
   \   00000012   CFF9               RJMP    ??delay20mks_2
     27          }
   \                     ??delay20mks_3:
   \   00000014   9508               RET

В Release режиме:
Код
     21          void delay20mks(void)
   \                     delay20mks:
     22          {
     23           char j,k;
     24          
     25            for (j=0; j< 6; j++)
   \   00000000   E006               LDI     R16, 6
     26              for (k=0; k<176; k++);
   \                     ??delay20mks_0:
   \   00000002   950A               DEC     R16
   \   00000004   F7F1               BRNE    ??delay20mks_0
     27          }
   \   00000006   9508               RET
     28

Почему Релизовая версия напрочь отмела внутренний цикл фор?


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Nov 25 2005, 11:24
Сообщение #24


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(Георгий @ Nov 25 2005, 13:02) *
...Почему Релизовая версия напрочь отмела внутренний цикл фор?

Это результат оптимизации.
Если нужно сделать временнУю задержку - применяйте __delay_cycles(long timeout);
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 25 2005, 11:42
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



А где она описана, какой хедер надо подключить?
И если компилер так бездумно оптимизирует, получается его надо перепроверять?!


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
dxp
сообщение Nov 25 2005, 12:02
Сообщение #26


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(Георгий @ Nov 25 2005, 17:42) *
А где она описана, какой хедер надо подключить?
И если компилер так бездумно оптимизирует, получается его надо перепроверять?!

Не нужно его постоянно проверят. Нужно немножко подучить язык. У Вас цикл ничего не делает и компилятор его выкидывает, т.к. с его точки зрения (с точки зрения языка) с циклом или без - результат работы программы один и тот же. Но без цикла она работает быстрее и ее размер меньше. Поэтому компилятор и выкидывает этот цикл. Напишите в цикле код, который делает полезную работу и компилятор ничего выкидывать не будет.

Если хочется подавить подобные оптимизации, то можно использовать прямое указание компилятору не оптимизировать, объявив одну из переменных как volatile. Тогда компилятор не будет иметь права делать какие-либо предположения о поведении этой переменной и вынужден будет честно сгенерировать код для нее, даже если этот код ничего с точки зрения компилятора не делает.

Формирование задержки этим способом имеет то неудобство, что сложно предсказать, во сколько тактов реально выльется цикл. Для задания точной задержки в пакете EWAVR имеется специальная intrinsic функцию __delay_cycles(). При ее вызове компилятор сам организует код, формирующий указанную задержку. Чтобы она работала, нужно подключить заголовок inavr.h, иначе компилятор не видит прототипа и ругается.

Т.ч. почитайте, во-первых, доку по С, во-вторых, доку на компилятор - она очень внятная. Удачи.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
G}{OST
сообщение Nov 25 2005, 12:15
Сообщение #27


Участник
*

Группа: Новичок
Сообщений: 48
Регистрация: 6-05-05
Пользователь №: 4 784



Цитата(dxp @ Nov 25 2005, 15:02) *
Цитата(Георгий @ Nov 25 2005, 17:42) *

А где она описана, какой хедер надо подключить?
И если компилер так бездумно оптимизирует, получается его надо перепроверять?!

Не нужно его постоянно проверять.

Постоянно-то не надо, а вот время от времени - очень даже полезно smile.gif Оптимизатор довольно корявый у ИАРа. И от версии к версии разные глюки.


--------------------
cul8r!
* #ru_embedded - эмбеддерский чат
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Nov 25 2005, 12:35
Сообщение #28


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(G}{OST @ Nov 25 2005, 14:15) *
... Оптимизатор довольно корявый у ИАРа. И от версии к версии разные глюки.

Предупреждать уже надоело twak.gif
Ещё один скоропалительный вывод - и буду банить.

PS: если руки-не-оттуда, то причём тут компилятор!
Go to the top of the page
 
+Quote Post
G}{OST
сообщение Nov 25 2005, 12:52
Сообщение #29


Участник
*

Группа: Новичок
Сообщений: 48
Регистрация: 6-05-05
Пользователь №: 4 784



Цитата(IgorKossak @ Nov 25 2005, 15:35) *
Цитата(G}{OST @ Nov 25 2005, 14:15) *

... Оптимизатор довольно корявый у ИАРа. И от версии к версии разные глюки.

Предупреждать уже надоело twak.gif
Ещё один скоропалительный вывод - и буду банить.

Я имел в виду не применительно к данной ситуации, а вообще. Это не скоропалительный вывод, а плод 5 лет мучений с данным продуктом. Если надо - могу покопаться и для версий ИАРа, начиная от 2.20C до 4.10 перечислить все "огрехи" оптимизатора. Теперь вот дошёл до того, что всегда стараюсь ставить минимальную оптимизацию, если ресурсы позволяют.

ЗЫ. Баньте сразу, что ж вы опять предупреждаете? smile3009.gif


--------------------
cul8r!
* #ru_embedded - эмбеддерский чат
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Nov 25 2005, 13:07
Сообщение #30


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата(G}{OST @ Nov 25 2005, 15:52) *
Цитата(IgorKossak @ Nov 25 2005, 15:35) *

Цитата(G}{OST @ Nov 25 2005, 14:15) *

... Оптимизатор довольно корявый у ИАРа. И от версии к версии разные глюки.

Предупреждать уже надоело twak.gif
Ещё один скоропалительный вывод - и буду банить.

Я имел в виду не применительно к данной ситуации, а вообще. Это не скоропалительный вывод, а плод 5 лет мучений с данным продуктом. Если надо - могу покопаться и для версий ИАРа, начиная от 2.20C до 4.10 перечислить все "огрехи" оптимизатора. Теперь вот дошёл до того, что всегда стараюсь ставить минимальную оптимизацию, если ресурсы позволяют.



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

P.S. какие есть докозательства что он "корявый" ?
Go to the top of the page
 
+Quote Post
BVU
сообщение Nov 25 2005, 13:23
Сообщение #31


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Ну и дела здесь...! До сегодняшнего дня (до даннай обсуждаемой темы форума) практически всеми экспертами считалось, что оптимизация кода у IAR - одна из лучших в этом классе! Ну что же если таковой некоторых неустраивает берите другой, о чам спор!? Как говориться "на вкус и на цвет ...". А еще оптимальнее писать на ASM - изначально...
Правильный подход любой оптимизации к грамотно написанному коду. Если Ваш алгоритм выражен примитивами по стандарту языка, то никакой корявости при использовании оптимизации небудет! Подобная тема уже обсуждалась на форуме AVR (для IAR). Не ленитесь пользоваться поиском и 'поднимать проработанный материал'.


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 25 2005, 13:36
Сообщение #32


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Я согласен, что "одна из лучших", но это еще не значит, что "идеальная" и ей надо доверять на 100%.


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
dxp
сообщение Nov 25 2005, 14:32
Сообщение #33


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(G}{OST @ Nov 25 2005, 18:15) *
Цитата(dxp @ Nov 25 2005, 15:02) *

Цитата(Георгий @ Nov 25 2005, 17:42) *

А где она описана, какой хедер надо подключить?
И если компилер так бездумно оптимизирует, получается его надо перепроверять?!

Не нужно его постоянно проверять.

Постоянно-то не надо, а вот время от времени - очень даже полезно smile.gif Оптимизатор довольно корявый у ИАРа. И от версии к версии разные глюки.

Глюки есть у всех. У ИАРа отличный компилятор и замечательный оптимизатор - лучший в своем классе. Всегда работаю с максимальным уровнем оптимизации, проблемы бывали, но не фатальные и не связанные именно с максимальным уровнем оптимизации. Как раз на максимальном уровне глюков меньше, чем на средних. Работаю с ИАРом с 1998 года, ни разу не пожалел.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Nov 25 2005, 15:28
Сообщение #34


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(dxp @ Nov 25 2005, 16:32) *
...
Глюки есть у всех. У ИАРа отличный компилятор и замечательный оптимизатор - лучший в своем классе. Всегда работаю с максимальным уровнем оптимизации, проблемы бывали, но не фатальные и не связанные именно с максимальным уровнем оптимизации. Как раз на максимальном уровне глюков меньше, чем на средних. Работаю с ИАРом с 1998 года, ни разу не пожалел.

Аналогично.
Начинал с версии 1.30.
Go to the top of the page
 
+Quote Post
High Voltage
сообщение Nov 26 2005, 22:16
Сообщение #35


Частый гость
**

Группа: Новичок
Сообщений: 105
Регистрация: 28-09-05
Из: Москва
Пользователь №: 9 040



Не могу понять. Поставил сначала WinAVR 20050214, reboot, поставил AVR Studio 4.12. Захожу в плагины, там WinAVR нету, может не понимаю я чего. Там GCC есть, но он там и без WinAVR был. Как дальше то?
Go to the top of the page
 
+Quote Post
High Voltage
сообщение Nov 26 2005, 22:17
Сообщение #36


Частый гость
**

Группа: Новичок
Сообщений: 105
Регистрация: 28-09-05
Из: Москва
Пользователь №: 9 040



Не могу понять. Поставил сначала WinAVR 20050214, reboot, поставил AVR Studio 4.12. Захожу в плагины, там WinAVR нету, может не понимаю я чего. Там GCC есть, но он там и без WinAVR был. Как дальше то?
Go to the top of the page
 
+Quote Post
High Voltage
сообщение Nov 26 2005, 22:27
Сообщение #37


Частый гость
**

Группа: Новичок
Сообщений: 105
Регистрация: 28-09-05
Из: Москва
Пользователь №: 9 040



Вышлите мне лечилку пожалуйста на IAR EWAVR 4.11a на null@inpron.ru.

Сообщение отредактировал High Voltage - Nov 27 2005, 09:45
Go to the top of the page
 
+Quote Post
High Voltage
сообщение Nov 27 2005, 20:16
Сообщение #38


Частый гость
**

Группа: Новичок
Сообщений: 105
Регистрация: 28-09-05
Из: Москва
Пользователь №: 9 040



Почему тема не обновляется? angry.gif
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 28 2005, 05:45
Сообщение #39


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Все же IAR классная штука! Разобрался с основами за вечер и программу с ассемблера на Си перевел! Есть, конечно, отдельные моменты типа
Код
....
MOV R24, R16
MOV R16, R24
...

но в целом я им очень доволен. Кодит очень оптимально, код от ассемблерного практически не отличается. Есть отдельные нюансы в работе, но это уже от моего незнания конкретно IAR-а.
Удобно, что сразу можно получить .dbg для прогона в AVR Studio и .hex для заливки.
Вобщем, процесс пошел гораздо быстрей.


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
Rash
сообщение Nov 28 2005, 07:11
Сообщение #40


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



Цитата(Георгий @ Nov 28 2005, 09:45) *
Все же IAR классная штука! Разобрался с основами за вечер и программу с ассемблера на Си перевел! Есть, конечно, отдельные моменты типа
Код
....
MOV R24, R16
MOV R16, R24
...

но в целом я им очень доволен. Кодит очень оптимально, код от ассемблерного практически не отличается. Есть отдельные нюансы в работе, но это уже от моего незнания конкретно IAR-а.
Удобно, что сразу можно получить .dbg для прогона в AVR Studio и .hex для заливки.
Вобщем, процесс пошел гораздо быстрей.


Оптимизация поставь хотя бы medium и
Код
MOV R24, R16
MOV R16, R24

пропадёт.
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 28 2005, 07:24
Сообщение #41


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Цитата
Оптимизация поставь хотя бы medium и

MOV R24, R16
MOV R16, R24

пропадёт.

Это как раз в Release варианте с полной оптимизацией.


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
Rash
сообщение Nov 28 2005, 07:31
Сообщение #42


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



Цитата
Это как раз в Release варианте с полной оптимизацией.

Так Release в МК и надо зашивать, а Debug это отладочная версия.
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 28 2005, 07:32
Сообщение #43


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Так я и говорю, что в релизной прошивке этот код встретил!!!

Сообщение отредактировал Георгий - Nov 28 2005, 07:33


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Nov 28 2005, 07:39
Сообщение #44


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата
Так я и говорю, что в релизной прошивке этот код встретил!!!

Интересно! А можно чуть больше кода выше и ниже от приведенной позиции листинга? Что там за контекст?


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 28 2005, 07:58
Сообщение #45


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



К сожалению, нет. Этот модуль я перелопатил практически полностью, и этого глюка уже не встретил. В остальных модулях этого не было. Ну что ж, даже лучше. Будем считать это случайностью. С кем не бывает! (Даже с хорошим компилятором)


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 28 2005, 11:03
Сообщение #46


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Вопрос по опциям ИАРа - char можно сделать по умолчанию беззнаковым, а про int я такого не нашел, возможно ли это. А то у меня получилось, что 0х8000 < 0, т.е. по умолчанию int идет со знаком.


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
Rash
сообщение Nov 28 2005, 11:12
Сообщение #47


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



Цитата(Георгий @ Nov 28 2005, 15:03) *
Вопрос по опциям ИАРа - char можно сделать по умолчанию беззнаковым, а про int я такого не нашел, возможно ли это. А то у меня получилось, что 0х8000 < 0, т.е. по умолчанию int идет со знаком.


Переопредели типы typedef (ом) если надо. и сделай WORD, DWORD и т.д.

Код
typedef unsigned char       BYTE;      
typedef unsigned char       WORD
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 28 2005, 11:50
Сообщение #48


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Так я так и делаю, только в последнем примере не char а int. Просто, для char сделана специальная галочка, а про int не подумали. В "большом" Си int по умолчанию беззнаковый.


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Nov 28 2005, 12:41
Сообщение #49


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Георгий, обычно программисты стремятся к независимости своих программ от конкретного компилятора или среды.
Rash для этого указал Вам приемлемое решение.
Стандарт MISRA, кстати, тожеэто рекомендует.
Вы же наоборот пытаетесь сделать Ваш проект зависимым от "галочек" среды.
Что касается знаковости типов, то насколько я помню, согласно стандарта только char по умолчанию беззнаковый, а int и long - знаковые.
Или я ошибаюсь?
Go to the top of the page
 
+Quote Post
Георгий
сообщение Nov 28 2005, 13:08
Сообщение #50


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Я думаю, что Вы правы , спорить не буду. В тонкостях Си я еще не силен.smile3046.gif
Уточнился по борладндовскому хэлпу (Билдер), там сказано что и char по умолчанию знаковый. В IAR-е видимо для таких как я галочку поставили, чтоб хоть с char поначалу не заморачиваться. Привыкли, что в железе знаков нет.

Сообщение отредактировал Георгий - Nov 28 2005, 13:17


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
ReAl
сообщение Nov 28 2005, 17:04
Сообщение #51


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Георгий @ Nov 28 2005, 16:08) *
Я думаю, что Вы правы , спорить не буду. В тонкостях Си я еще не силен.smile3046.gif
Уточнился по борладндовскому хэлпу (Билдер), там сказано что и char по умолчанию знаковый. В IAR-е видимо для таких как я галочку поставили, чтоб хоть с char поначалу не заморачиваться. Привыкли, что в железе знаков нет.

В любом мало-мальски приличном букваре по С сказано - не закладываться на знаковость char вообще - нигде и никогда, ни явно, ни неявно.
Вот писатели пикада не подумали об этом где-то пропустили при чтении ASCII-формата входящие симовлы через char - и мы имеем облом на русской букве "я" - код 0xFF, который при пропускании через знаковый char в int превращается в полновесный -1 и мы имеем unexpected end of file на строке "схема электрическая принципиальная" - надо большими буквами писать. Естественно, это моё предположение, но больно оно правдоподобно выглядит.

Так о чём это я... А! Так вот, любая приличная книга говорит - если знак важен - указывать явно unsigned char или signed char - в зависимости от того, что надо.
У меня тип char если используется - то это явное предупреждение для меня же более позднего - "тут хранятся не более чем символы, никакой арифметики, сравнение только с символьными константами на равенство"

А стандарт языка С 99-го года заводит стандартный заголовочный файл stdint.h , в котором должны через typedef определяться типы int8_t uint8_t ... int64_t uint64_t.
Я бы рекомендовал пользоваться этими типами, а не byte/word/dword (особенно учитывая то, что word на x86 - это halfword на ARM, dword на x86 - это word на ARM).
Если stdint.h в поставке имеющегося компилятора нет - несложно написать и приложить самому.
Что я во всех новых проектах и делаю уже года 4. И даже один старый, но развивающийся - не поленился со старых i08/u08/../i32/u32 пере-sed-ить на новые стандартные typedef-ы.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
dxp
сообщение Nov 29 2005, 06:41
Сообщение #52


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(IgorKossak @ Nov 28 2005, 18:41) *
Что касается знаковости типов, то насколько я помню, согласно стандарта только char по умолчанию беззнаковый,

В Стандарте на С, afair, знаковость char отдана на откуп реализации. В Стандарте С++ типы char, unsigned char и signed char - это три разных типа.

Цитата(IgorKossak @ Nov 28 2005, 18:41) *
а int и long - знаковые.

Да, целые типы - знаковые.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
noah
сообщение Dec 15 2005, 08:02
Сообщение #53





Группа: Новичок
Сообщений: 1
Регистрация: 27-11-05
Пользователь №: 11 448



Цитата(MicronSys @ Nov 23 2005, 14:35) *
Я использую
WinAvr + VMLAB получается хорошая связка

до этого работал на IAR C++ симулятор AVRstudio

WinAvr немного больше код делает на компилит давольно таки хорошо
VMLAB очень хороший симулятор правда не без хрехов



На счет того что VMLAB - хороший я согласен - внутренности МК видит прекрасно!! Вот может
кто-то знает как его вылечить от того чтобы он обрабатывал код больше 500 слов, меньше у меня программы не получаются..
Go to the top of the page
 
+Quote Post
Rich
сообщение Mar 10 2006, 19:04
Сообщение #54





Группа: Новичок
Сообщений: 2
Регистрация: 10-03-06
Пользователь №: 15 106



Народ, подскажите новичку: скачал последнюю AStudio с плагином для С от GCC, но он пишет, что ПСС надо устанавливать отдельно. Установил с диска от книжки Голубцова версию 3.0.2 кажется. В хелпе к АВР Студии прочел как конфигурить, но вот беда кнопка с "..." у меня не жмется, не5 могу прописать пути. Что делать? Качать новую версию GCC или косяк в другом?
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Mar 10 2006, 20:46
Сообщение #55


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Несколько лет назад, когда начинал работать с gcc соблазнился возможностью прикрутить его к AStudio(разных версий). Полноценной работы так и не удалось добиться. Вроде бы с 4.10 это наконец работает,но предыдущий опыт убеждает - не стоИт на это тратить время -прикрути к любому текстовому редактору и воюй.
Под тем же PN, который идет с WinAVR у меня подцеплены gcc под Win32, AVR, MSP,ARM.Под ним же работаю с TCL, Python и и редактирую HTML. Рука уже набита на конкретные меню и шорткаты.
Ну а если позарез нужна отладка, тогда юзать студию как симулятор.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 11 2006, 04:26
Сообщение #56


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Rich @ Mar 10 2006, 21:04) *
Народ, подскажите новичку: скачал последнюю AStudio с плагином для С от GCC, но он пишет, что ПСС надо устанавливать отдельно. Установил с диска от книжки Голубцова версию 3.0.2 кажется. В хелпе к АВР Студии прочел как конфигурить, но вот беда кнопка с "..." у меня не жмется, не5 могу прописать пути. Что делать? Качать новую версию GCC или косяк в другом?

вот эта версия автоматически подхватывается AVR-Studio http://prdownloads.sourceforge.net/winavr/...ll.exe?download (~14mb)

почитать можно здесь:
http://sourceforge.net/forum/forum.php?forum_id=446217
Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01874 секунд с 7
ELECTRONIX ©2004-2016