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

 
 
6 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Какую среду разработки Вы используете?
Какую среду разработки Вы преимущественно используете для своих проектов, и почему?
среда разработки (компилятор/транслятор)
AVR-Studio (atmel-avr-asm) [ 43 ] ** [17.27%]
AVR-Studio + gcc-plugins [ 12 ] ** [4.82%]
IAR-EWAVR преимуществунно (asm) [ 0 ] ** [0.00%]
IAR-EWAVR преимущественно ( C ) [ 79 ] ** [31.73%]
WinAvr (gcc) [ 33 ] ** [13.25%]
CodeVision [ 52 ] ** [20.88%]
ImageCraft-C [ 9 ] ** [3.61%]
E-LAB pascal [ 1 ] ** [0.40%]
Alhorithm Builder [ 7 ] ** [2.81%]
AVR-Basic [ 2 ] ** [0.80%]
другую [ 11 ] ** [4.42%]
Всего голосов: 249
Гости не могут голосовать 
defunct
сообщение Feb 1 2006, 21:33
Сообщение #1


кекс
******

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



Давно мечтал услушать все "за" и "против", о популярных средах программирования для AVR uC.
Всех сред разработки я знать не могу smile.gif
поэтому если в списке Вы не нашли того с чем работаете, указывайте ее в сообщениях smile.gif

Сам я использую в основном AVR-Studio в комбинации с gcc, из-за наиболее, на мой взляд, удобного отладчика, который отображает значения переменных/регистров в всплывающих подсказках прямо в тексте отлаживаемых модулей, а также из-за эмулятора, предоставляемого разработчиком uC, доверее к которому много выше чем к эмуляторам сторонних разработчиков.

В IAR-е помоему отсутствует такая возможность, сколько не ковырялся в настройках так и не нашел где можно включить отображение значений переменных в режиме отладки, или я не прав?
Хотя код сгенерированный IAR'ом и получается меньшего объема, но удобная отладка как для меня важнее..

Сообщение отредактировал defunct - Feb 1 2006, 21:56
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Feb 2 2006, 00:18
Сообщение #2


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

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



Использую IAR EWAVR 4.11A + AVRStudio: код, как вы говорили, компактнее, а отладка в AVRStudio по исходному "сишному" тексту - одно удовольствие. Правда аппаратно-независимые алгоритмы иногда моделирую в том же Borland C++ Builder или в др. Потом переношу на МК.

В прекрасном будущем smile.gif хочу забодать JTAG...

Сообщение отредактировал haker_fox - Feb 2 2006, 00:20


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 2 2006, 04:44
Сообщение #3


кекс
******

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



Цитата(haker_fox @ Feb 2 2006, 02:18) *
Использую IAR EWAVR 4.11A + AVRStudio...


А можно приручить IDE AVR-Studio чтобы ввод и редактирование исходников делать в AVR-Studio и по нажатию F7 проект компилировался IAR'овским компилятором?


Цитата
В прекрасном будущем smile.gif хочу забодать JTAG...


А чего ж так долго тянете? JTAG собирается на монтажке за полчаса ;>
Схема упрощается до (mega16+max+5 конденсаторов+ 4 резистора и 1 светодиод)
Go to the top of the page
 
+Quote Post
Proton
сообщение Feb 2 2006, 04:52
Сообщение #4


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

Группа: Свой
Сообщений: 185
Регистрация: 3-08-05
Из: Новосибирск
Пользователь №: 7 334



Счмтаю что нужно добавить IAR EWAVR + AVRStudio так как на чистом асме писать сложные алгоритмы долго, а отлаживать сишный код удобно в AVRStudio. А вообще в основном пользуюсь связкой IAR EWAVR + AVRStudio + Proteus.


--------------------
Всяк хорошая мысля к нам приходит опосля.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Feb 2 2006, 05:00
Сообщение #5


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

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



Цитата(defunct @ Feb 2 2006, 12:44) *
Цитата(haker_fox @ Feb 2 2006, 02:18) *

Использую IAR EWAVR 4.11A + AVRStudio...


А можно приручить IDE AVR-Studio чтобы ввод и редактирование исходников делать в AVR-Studio и по нажатию F7 проект компилировался IAR'овским компилятором?


Цитата
В прекрасном будущем smile.gif хочу забодать JTAG...


А чего ж так долго тянете? JTAG собирается на монтажке за полчаса ;>
Схема упрощается до (mega16+max+5 конденсаторов+ 4 резистора и 1 светодиод)


1. Думаю, что да, ведь компилятор IAR это консольное приложение, которому параметры передаются из командной строки. Как это сделать, подсказать не берусь, не делал, копать надо в меню Tools AVRStudio. Но вот хочу найти какой-нибудь подходящий редактор (UltraEdit например) и к нему прикрутить и IAR и др. компиляторы. Чтобы писать программы для МК, компьютера в одном редакторе.

2. Да, JTAG несложно собрать, но как всегда время... работа, учеба, домашние заботы... отговорки конечно, но это так...
Извиняюсь за OFFTOPIC


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Георгий
сообщение Feb 2 2006, 05:29
Сообщение #6


Местный
***

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



IAR EWAVR + AVRStudio


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
dxp
сообщение Feb 2 2006, 07:17
Сообщение #7


Adept
******

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



Проекты смешанные C++/Asm с подавляющей по объему долей С++ - асм только где-то во обработчиках прерываний и очень, очень редко, уже и не помню, когда в последний раз пользовался в рабочем проекте.

В качестве инструментария: пакет EWAVR + мощный сторонний программерский редактор SlickEdit. Сборка под управлением gnu make, от самого EWAVR используеются компилятор, асм, линкер, библы, ессно, ну, словом, все то, что необходимо для компиляции. Саму оболочку использую только для запуска C-SPY.

По поводу симулятора. Симулятор как таковой в системах на МК вещь весьма бесполезная. Поясню. Симулятор - система симулирующая (или, как это происходит на практике, пытающаяся это делать) работу программы в реальных условиях. Поскольку условия реальные воссоздать крайне сложно, если вообще возможно, то и результаты симуляции получаются соответствующими. Но все это не означает, что то, что называют симуляторами есть бесполезные вещи. Если использовать симулятор для моделирования, то в этом случае есть приличный смысл в таких программах. Что понимается под моделированием? Под моделированием понимается прогон какого-то фрагмента кода (или части программы) при искусственном создании условий и наблюдение за поведением программы в этих условиях.

Например, мне надо отладить прием пакетов по UART. При этом меня интересует именно правильность приема байтов, проверка заголовка пакета, контрольной суммы и т.д. И для этого мне надо, чтобы на вход применика, а точнее в регистр данных приемника UART поступали эти самые байты.

Как добиться этого от симулятора, который честно, якобы, симулирует периферию МК? Я должен в этом случае создать довольно длинный и сложный стимул на соответствующюю ножку МК. Этот стимул руками писать замучаешься, да еще и ошибок наделаешь. Надо какую-нито утилитку для этого соорудить. И отладить. Возни, короче, выше ушей.

А вот как эта задача решается на "моделяторе" C-SPY. Там для этого существуют специальные макросы, позволяющие смоделировать требуемую ситуацию. Например, для упомянутого случая пишем такой код:

Код
__var T_C0_period;
__var UART_Rx_period;
__var UDR;
__var fid;

RxIn()
{
    UDR = __readFile(fid);
    __writeMemoryByte (UDR, 0x0c, "I/O-SPACE");
}


execUserSetup()
{
    T_C0_period    = 10000;
    UART_Rx_period = 8000;

    __cancelAllInterrupts();        

    __orderInterrupt("TIMER0 OVF", 1000000, T_C0_period, 0, 0, 100); // set T_C0 overflow interrupt
    __orderInterrupt("USART RXC",  1151690, UART_Rx_period, 0, 0, 100); //

    __setSimBreak("0x0c", "I/O-SPACE", 1, 1,"", "TRUE", "I", "RxIn()");

      
    fid = __openFile("uart.dat", "r");
    __message "fid = ", fid, "\n";      // debug
    __message "err = ", err, "\n";    // debug
}

execUserExit()
{
    __cancelAllInterrupts();

    if(fid)
    {
        __closeFile(fid);
    }  
}


Как это работает. В системном макросе execUserSetup() происходит настройка моделятора - задаются прерывания, макросы, открывается на чтение файл "uart.dat".

Далее каждые 10000 тактов происходит прерывание от Т/С0. Каждые 8000 тактов происходит прерывание от приемника UART. При этом точно перед обращением к регистру UDR в программе (в обработчике прерывания) C-SPY генерирует так называемый immediate break при котором вызывается пользовательская функция-макрос RxIn(), в которой происходит считывание из файла очередного значения и запись его по указанному адресу, который является как раз адресом регистра UDR, после этого работа функции заканчивается и исполнение программы продолжается, но МК считывает из UDR то самое значение из файла. При следующем входе будет считано следующее значение. И т.д. Если в файле "uart.dat" было записано ff 13 0 0 1 12, то при первом прерывании будет считано ff, при втором 13, далее 0, 0, 1, 12, после этого все пойдет по кругу, но нас это уже не интересует - мы смогли спокойно посмотреть, как обработчик прерывания, получая байты от приемника UART, их обработал, весь пакет.

Далее, например, мы хотим смоделировать ситуацию, когда возникает наложение прерываний (в случае разрешения вложенных прерываний). Для этого достаточно просто указать нужные значения моментов времени (в тактах) активации прерываний и их периодов. Например, я знаю, что программа находится в прерывании от UART'а на 12530-м такте и выходит из него на 12555-м такте. Тогда задаю время активации прерывания от таймера, скажем, на 12540-м такте и спокойно наблюдаю, как обработчик прерывания прерван другим прерыванием, как работает сохранение контекста, как расходуется стек в этой более требовательной к размеру стека ситуации. Попробуйте это сделать на симуляторе, который честно симулирует периферию. smile.gif

Или, скажем, надо мне смоделировать обработку потока данных от АЦП. Все аналогично, записываю во внейшний файл значения отсчетов, задаю __setSimBreak, макрос-функцию считывания данных из файла и вуаля. Полная гибкость и управляемостьь процессом моделирования. А симулятор честный годится только на то, чтобы посмотреть, как периферия инициализировалась (хотя это и в моделяторе можно посмотреть) да как, к примеру, таймер щелкает. Т.е. при начальном освоении МК эти вещи полезны, но в дальнейшем при серьезной работе от них толку почти никакого, когда есть такой инструмент, как C-SPY.

Исходя из вышесказанного, AVR Studio как средство отладки в режиме симулятора не представляется достойным инструментом по сравнению с тем же C-SPY. В режиме эмулятора (при использовании аппаратного эмулятора), конечно, ситуация другая. Но и тут C-SPY на высоте, ничем не уступает (в последней версии 4.12 научился наконец работать через USB). И по факту удобнее. В студии, к примеру, до сих пор нету окошка Locals. Вроде вещь элементарная и нужная, а до сих пор не сделали. У студии одно безоговорочное преимущество - она бесплатная. smile.gif

Никого задеть и обидеть ни в коем случае не хотел, просто, как показывает опыт, народ в массе не знаком с возможностями моделятора C-SPY и нередко плюется от него. А зря. smile.gif


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
BVU
сообщение Feb 2 2006, 07:36
Сообщение #8


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

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



Однозначно IAR-EWAVR ( C ), но для полноты списка в опроснике по моемому недостает некоторых комбинаций, например:
IAR-EWAVR ( C ) + AVR-Studio


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
unichorn
сообщение Feb 2 2006, 07:41
Сообщение #9


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

Группа: Участник
Сообщений: 96
Регистрация: 24-09-05
Пользователь №: 8 901



WinAVR + AVR-Studio + Cpp Builder smile.gif
Go to the top of the page
 
+Quote Post
muravei
сообщение Feb 2 2006, 07:54
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Использую Алгоритм билдер, устраивает симулятор.

Сообщение отредактировал muravei - Feb 2 2006, 07:58
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Feb 2 2006, 08:08
Сообщение #11


Шаман
******

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



Поскольку использую IAR EWAVR + JTAG эмулятор, то в AVR Studio нет никакой необходимости (равно как и в Протеусе).
К тому же IAR выдаёт отладочный файл в форматах новее, чем ubrof8 (пишу на С++ с применением шаблонов), поэтому использовать AVR Studio не всегда и возможно.
Go to the top of the page
 
+Quote Post
Polaris
сообщение Feb 2 2006, 08:27
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964



Использую CodeVision + AVRStudio.
Да, есть глюки в нем, но в плане оптимальности и скорости разработки он прекрасен. Возможно, что для больших приложений лучше IAR, спорить не буду.
Но вот GCC однозначно отстой. Отлаживал одно приложение (работа с SD-картами и поддержка FAT), так одна и та же программа на GCC валилась по причине переполнения стека, а увеличивать его уже не давала - не хватало памяти. CodeVision же справлялся
Go to the top of the page
 
+Quote Post
Rash
сообщение Feb 2 2006, 08:32
Сообщение #13


Знающий
****

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



Использую IAR EWAVR + JTAG mk2 эмулятор, а AVR Studio для лучшей наглядности регистров и памяти, и если сам в программе не на бочил, то всё работает на УРА.
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 2 2006, 09:21
Сообщение #14


кекс
******

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



Цитата(IgorKossak @ Feb 2 2006, 10:08) *
Поскольку использую IAR EWAVR + JTAG эмулятор, то в AVR Studio нет никакой необходимости (равно как и в Протеусе).


Скажите, а в EWAVR имеется возможность изменения узлов MK в процессе отладки? (изменение значения порта или таймера, возможность возбуждения прерывания.) И насколько стабильно он себя ведет? Просто у меня EWAVR 4.10B равно как и 4.11A неоднократно наглухо подвисал в процессе отладки, и подвешивал JTAGICE. С Avr-Studio такого ни разу не наблюдалось.

Цитата(dxp @ Feb 2 2006, 09:17) *
C-Spy
...
Как это работает.
...


Большое спасибо, за то, что познакомили с ценным инструментом и приведенный пример.


Цитата(BVU @ Feb 2 2006, 09:36) *
в опроснике по моемому недостает некоторых комбинаций, например:
IAR-EWAVR ( C ) + AVR-Studio


Ну, я как бы не ставил целью определить умение наших специалистов работать в нескольких средах. smile.gif
Пункт AVR-Studio + gcc обусловлен только тем, что gcc это все же не IDE, а просто компилятор и линкер C.
Хотелось бы услышать как можно больше мнений о разных IDE для AVR.

Цитата(Polaris @ Feb 2 2006, 10:27) *
Но вот GCC однозначно отстой.


"Вам не нравятся кошки? Да Вы просто не умеете их готовить!"

Сообщение отредактировал defunct - Feb 2 2006, 09:15
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Feb 2 2006, 09:30
Сообщение #15


Шаман
******

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



Цитата(defunct @ Feb 2 2006, 11:21) *
... в EWAVR имеется возможность изменения узлов MK в процессе отладки? (изменение значения порта или таймера, возможность возбуждения прерывания.) И насколько стабильно он себя ведет? Просто у меня EWAVR 4.10B равно как и 4.11A неоднократно наглухо подвисал в процессе отладки, и подвешивал JTAGICE...

У меня всё нормально (v3.20D - v4.12A). Попробуйте изменить скорость JTAG.
Цитата(Polaris @ Feb 2 2006, 10:27) *
Но вот GCC однозначно отстой.

Если и эта тема перерастёт в религиозную ругню, буду понижать рейтинг без предупреждения, а тему закрою. twak.gif excl.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 20:53
Рейтинг@Mail.ru


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