|
WinAVR 20060421, Последний релиз WinAVR |
|
|
|
May 8 2006, 07:43
|

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

|
Цитата([banned] @ May 8 2006, 15:58)  зачем слушать чей-то рассказ - попробуйте оба и сравните.
======
Сделайте нормальное приложение процентов на 40-60% памяти МК на обоих и посмотрите кто как кодирует. Тогда наверно еще не стоит забывать про такой популярный компилятор, как IAR ;) Цитата(733259 @ May 8 2006, 16:09)  Насколько я понял (возможно неправильно) - Вы пользовались обоими, рассказ хотелось бы услышать. Мне как-то не хочется заморачиваться с vmware, виндой, чтобы потестить CodeVisionAVR, потому Ваш опыт (возможный) весьма интересен. Присоединяюсь.
--------------------
Выбор.
|
|
|
|
|
May 8 2006, 08:30
|

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

|
Цитата([banned] @ May 8 2006, 17:09)  Цитата(733259 @ May 8 2006, 11:09)  потестить CodeVisionAVR, потому Ваш опыт (возможный) весьма интересен.
мой опыт отразился в кратком курсе. http://electronix.ru/redirect.php?http://[banned]/04.htm Строки с сайта, из курса №4 Цитата Именно для начинающих ! - Компилятор содержит очень понятный и очень мощный генератор начального кода программы в соответствии с вашими потребностями в конфигурации периферии МК AVR - называется он :
CodeWizardAVR
Вам нужно просто выбрать МК, частоту тактирования, затем открыть ярлыки тех устройств МК которые вы будете использовать и установить нужные парметры их работы.
Затем мастер ("визад") создаст файл проекта .prj и файл исходного текста программы на языке Си с расширением .c - в нем уже будет содержаться код на Си конфигурирующий МК по сделанному вами "заказу".
Вам нужно будет добавить лишь код реализующий нужный вам алгоритм работы устройства.
Используйте этот мастер и далее по ходу работы программы - точно так же как и в начале, но не генерируйте новые файлы а просто откройте меню "файлы - просмотр" и посмотрите нужный кусок программы на Си, возьмите что вам нужно и вставьте в вашу программу. Особенно инетерсно звучит это Цитата Есть и дорогой компилятор для AVR от компании IAR он конечно хороший, его выбирают профи, однако не имеет мастера начального кода - очень ценного инструмента для начинающего. В резултате работы мастера генерации кода наинающий программист избавляет себя от "тяжелого" труда. Но если мастер не удовлетворяет его потребностям или что-то делает не так, начинаются подобные вопросы, как здесь http://electronix.ru/forum/index.php?showtopic=15868Я не в коем случае не желаю ни кого обидеть. Я просто считаю, что человек должен с самого начала научиться выполнять такие вещи, как конфигурация периферии. В этом случае он будет не зависим от каких-либо программ для расчета, а сможет всегда сам написать контролируемый код.
--------------------
Выбор.
|
|
|
|
|
May 8 2006, 14:23
|

Знающий
   
Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768

|
to [banned] а вы никогда с багами визарда CV на новые камни не сталкивались?  я лично дважды согласен заранее,они оперативно в следующей версии исправлялись,но тем не менее... и смысл визарда не в освобождении от чтения шита,а для совсем небольшого облечения труда програм- мера.я к чему все это-описалово читать надо в любом случае,особенно начинающему
--------------------
"Hello, word!" - 17 errors 56 warnings
|
|
|
|
|
May 8 2006, 17:42
|
Знающий
   
Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32

|
WHALE, про баги CV в конфах как-то не особенно слышно, а вот про баги EWAVR сообщения частенько проскакивают. Я за 4 года работы с CV столкнулся с багом в нем только один раз.
IAR мощнее, лучше жмёт код, но работать с CV проще, удобнее, и начинать с него - легче, значительно меньше тратится времени. Переход на CV с ассемблера даётся вообще без усилий - идеология построения проекта та же самая, плюс возможность свободно смешивать сишный и ассемблерный код. Набор полезных библиотек прямо в дистрибутиве, и другие удобные мелочи.
Пишу на IAR для ARM-ов, а AVR по-прежнему программирую с помощью CV - устраивает целиком и полностью.
--------------------
Главная линия этого опуса ясна мне насквозь!
|
|
|
|
|
May 8 2006, 19:10
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата([banned] @ May 8 2006, 21:09)  "После этого я в курсе советую найти в ДШ те регистры которые задействовал визад и изучить что определяет каждый регистр."
разве не понятна моя позиция ? я разве говорю что доку читать не надо ? Посмотрите мой курс - на каждой странице и в начале каждой задачи идет по нескольку отправок ЧИТАТЬ ДШ !
но визад то тут как может помешать ? Визарды плодят "специалистов", которые при малейшей проблеме начинают теряться и не знают, что делать дальше. Иными словами, если человек с чувством, толком, расстановкой прочитает для начала интересующие его части ДШ (никто не говорит о том, что он ДШ должен проштудировать от корки и до корки, нет), то большей части вопросов у него уже не возникнет, а если и будут - он будет знать, где нужно искать на них ответы. В случае использования визардов у человека очень велико искушение не лезть глубоко "в дебри" и ограничиться тем, что можно сделать с помощью мыши и нескольких нажатий на клавиатуре. Да, Вы конечно можете сказать, что если нужно по-быстрому сделать хоть как-то работающий проект прошивки МК, только бы поскорее и тут визард даст выигрыш по времени. И я с этим соглашусь. НО. Если говорить о долгосрочной перспективе, мой опыт показывает, что этот путь - порочен. И один из его пороков заключается в том, что изменить что-то, лежащее за пределами возможностей визарда, частенько оказывается невозможным. Для этого приходится начинать борьбу со средой разработки, которая ориентирована на несколько неподходящий способ разработки проекта. И тут многие интегрированные среды оказываются неудобны. В то время как GNU Tools и в частности WinAVR - это конструктор, в котором можно разобраться от самых низов и до самых верхних уровней. Т.е. предоставляет максимум возможностей. А если учитывать ее интеграцию с AVR Studio и т.п. средствами моделирования, то лично для меня выбор очевиден. Плата за все эти плюсы - время на изучение. Но это оправданная плата, к тому же сейчас документации по большинству вопросов стало несравненно больше и есть много людей, которые могут подсказать и помочь.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
May 9 2006, 05:41
|

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

|
Цитата([banned] @ May 9 2006, 05:52)  Цитата(makc @ May 8 2006, 23:10)  И один из его пороков заключается в том, что изменить что-то, лежащее за пределами возможностей визарда, частенько оказывается невозможным.
поясните. как возникает эта не возможность? по вашему визад чтоль исходник делает ред-онли ??? я таких визадов не видел что-то. У меня на этот счет есть такая мысль: пусть новичка удовлетворяет wizard на 100%. Он им пользуется продолжительное время. Соответственно человек не выполнял в ручную той работы, которую за него добросовестно выполняет мастер. А так как мастер конфигурирует периферию МК - фактически саму сущность МК, то при необходимости настроить периферию на какой-то отличный режим, чем предлагает мастер могут возникнуть проблемы. И ладно если человек заглянет в даташит, разберется..., а если начнет задавать вопросы в конференции или на форуме?? А фактически это фундаментальные знания (ИМХО) при программировании МК. Я считаю, что новичку нужно дать почувствовать всю мощность МК: при этом не использовать ни каких Wizard'ов и языков высокого уровня. Начинать я считаю нужно с ассемблера. А для кого это тяжело - так может тот и не годится для программиста в сфере МК?
--------------------
Выбор.
|
|
|
|
|
May 9 2006, 06:33
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата([banned] @ May 9 2006, 00:52)  Цитата(makc @ May 8 2006, 23:10)  И один из его пороков заключается в том, что изменить что-то, лежащее за пределами возможностей визарда, частенько оказывается невозможным.
поясните. как возникает эта не возможность? по вашему визад чтоль исходник делает ред-онли ??? я таких визадов не видел что-то. Эта фраза касается визардов вообще. Попробуйте хотябы пописать на MFC, что-нибудь дописать руками и потом радостно убедиться, что визард больше не работает. Если говорить о CV и визардах, для генерации стартапа, то тут действительно, изменить можно. Но, чтобы что-то изменить разумно, нужно хорошо понимать как и что делает стартап (если под изменением понимается что-то большее, чем изменение начального значения одного или нескольких регистров), а если все это человек понимает, то для уверенности в правильности своего проекта ему проще будет написать стартап самому. Парадокс? Цитируя haker_fox: Цитата У меня на этот счет есть такая мысль: пусть новичка удовлетворяет wizard на 100%. Он им пользуется продолжительное время. Соответственно человек не выполнял в ручную той работы, которую за него добросовестно выполняет мастер. Т.е. человек сознательно избегает фундаментальных знаний. Это плохо, особенно для специалиста.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
May 9 2006, 13:05
|
Знающий
   
Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32

|
Тут дело вот в чем. Представить возможности кристалла лучше как раз с помошью визарда, который все эти возможности раскроет в удобном для восприятия виде, ведь чем нагляднее, тем проще осмыслить. В противном случае придется долго вникать в даташит, запоминать настройки периферии, источники прерываний и прочие неочевидные моменты, и сводить всё это вместе самостоятельно. Разумеется, это не означает, что его не надо читать  без изучения DS всё равно программы не написать, какой бы там визард не был. Второе - создание кода инициализации с помощью визарда гарантирует отсутствие глупых ошибок по недосмотру или опечатке. Соответственно, уменьшается время отладки проекта. Третье - начинать с готового шаблона проще, чем с пустого места; как человек, знакомый с MFC, вы должны это понимать. Понимают это и разработчики всевозможных IDE, оснащая свои творения набором визардов на все случаи жизни. Цель всё та же - ускорение разработки и отладки. Поэтому считаю хорошей практикой начинать проект с создания шаблона программы с помощью визарда.
--------------------
Главная линия этого опуса ясна мне насквозь!
|
|
|
|
|
May 9 2006, 13:23
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(vet @ May 9 2006, 17:05)  Тут дело вот в чем. Представить возможности кристалла лучше как раз с помошью визарда, который все эти возможности раскроет в удобном для восприятия виде, ведь чем нагляднее, тем проще осмыслить. В противном случае придется долго вникать в даташит, запоминать настройки периферии, источники прерываний и прочие неочевидные моменты, и сводить всё это вместе самостоятельно. Разумеется, это не означает, что его не надо читать  без изучения DS всё равно программы не написать, какой бы там визард не был. Не согласен, т.к. визард в первую очередь нацелен на решение какой-то частной задачи и далеко не всегда может решить общую проблему. Не может визард за разработчика написать програму. Т.е. в любом случае правильный путь это последовательное изучение DS, и только потом уже визард. Но никак не наоборот. Цитата Второе - создание кода инициализации с помощью визарда гарантирует отсутствие глупых ошибок по недосмотру или опечатке. Соответственно, уменьшается время отладки проекта. Довольно сомнительная гарантия, учитывая что в самом визарде могут быть ошибки. А если в нем действительно будет ошибка, то время отладки может очень сильно возрасти... Это очень спорное преимущество. Цитата Третье - начинать с готового шаблона проще, чем с пустого места; как человек, знакомый с MFC, вы должны это понимать. Понимают это и разработчики всевозможных IDE, оснащая свои творения набором визардов на все случаи жизни. Цель всё та же - ускорение разработки и отладки. Как человек, когда-то разобравшийся с MFC, могу сказать, что если бы я сначала начал разбираться с этой библиотекой без мастеров и т.п., то гораздо раньше понял бы ее проблемы и ограничения. По этому поводу могу привести еще один пример: есть человек, который с помощью мышки и визардов пишет на MFC и не лезет глубоко внутрь. Иногда перед ним встают "нерешаемые" с помощью мыши проблемы, для решения которых нужно понимание некоторых внутренних процессов, принципов работы, которые скрыты от него визардами. Что получается? Да в общем-то ничего: человек говорит, что эта проблема не решаема, будем делать что-нибудь другое, по-проще. Если бы он начал с общих принципов (документации) и разобрался бы сначала без визардов, то я практически уверен в том, что он был решил все свои проблемы. С целью я согласен, ускорение может иметь место. Но, ускорение будет лишь в том случае, если человек умеет эффективно использовать имеющийся инструмент. Для меня такими инструментами являются vim+консоль. Некоторые же люди не могут ими пользоваться и крутят пальцем у виска, когда я говорю, что vim очень удобный редактор исходных текстов... Это я к тому, что без знаний, которые визард не дает (не в том его задача), эффективности и скорости разработки не будет. Цитата Поэтому считаю хорошей практикой начинать проект с создания шаблона программы с помощью визарда. Хорошая практика - иметь работающий пример, который может хотя бы зажечь LED. Шаблоны же часто приводят к костности мышления разработчика, который их использует. PS: Есть уже один пример - http://electronix.ru/forum/index.php?s=&sh...ndpost&p=111564
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
May 11 2006, 06:07
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 17-06-04
Пользователь №: 36

|
Да он и так показывает размер.
|
|
|
|
|
May 12 2006, 06:44
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 17-06-04
Пользователь №: 36

|
AVRStudio4.12SP2Build471 WinAVR-20060421 показывает: Device: atmega16 Program: 2494 bytes (15.2% Full) (.text + .data + .bootloader) Data: 106 bytes (10.4% Full) (.data + .bss + .noinit)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|