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

 
 
> AVR + Си, Посоветуйте с чего начать.
zalg
сообщение Feb 24 2011, 19:49
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 15-09-10
Пользователь №: 59 507



До этого писал на ассемблере. Сейчас начал новый проект на AT90USB1286 и попутно изучать usb. Как то у меня все очень медленно продвигается. Я так понимаю сделать usb-устройство на ассемблере задача нетривиальная и решил, что пора переходить на Си, так как есть готовые библиотеки.

Посоветуйте пожалуйста среду разработки и компилятор. И еще буду благодарен за полезные ресурсы по usb. (Пока читаю книгу Агурова "Интерфейс usb. Практика использования и программирования." и втыкаю в atmel'евские appnotes )
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 30)
_dem
сообщение Feb 24 2011, 19:56
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970



USB in a Nutshell. В случае с АВР - фреймворк Атмела.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 24 2011, 20:16
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(zalg @ Feb 24 2011, 23:49) *
До этого писал на ассемблере. Сейчас начал новый проект на AT90USB1286 и попутно изучать usb. Как то у меня все очень медленно продвигается. Я так понимаю сделать usb-устройство на ассемблере задача нетривиальная и решил, что пора переходить на Си, так как есть готовые библиотеки.

Посоветуйте пожалуйста среду разработки и компилятор. И еще буду благодарен за полезные ресурсы по usb. (Пока читаю книгу Агурова "Интерфейс usb. Практика использования и программирования." и втыкаю в atmel'евские appnotes )


По Си - книжку Крупника "Изучаем Си"
и Герберта Шилдта "Полный справочник по Си":

http://www.lord-n.narod.ru/walla.html

Компилятор - для начинающего лучше всего Codevision. Можно IAR.

По USB - Агуров - не лучший выбор. Масса ошибок, а написано просто ужасно. Лучше спецификацию. Ну и, конечно, Гука "Шины PCI, USB и FireWire". Где скачать - поищите сами ...
Go to the top of the page
 
+Quote Post
KRS
сообщение Feb 24 2011, 21:29
Сообщение #4


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Берите лучше нормальный многоплатформенный компилер - IAR или GNU.
А то потом захочется/понадобится на ARM перейти (который уже дешевле и мощнее AVR)
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 25 2011, 10:42
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(KRS @ Feb 25 2011, 01:29) *
Берите лучше нормальный многоплатформенный компилер - IAR или GNU.
А то потом захочется/понадобится на ARM перейти (который уже дешевле и мощнее AVR)


Применяю Codevision и Keil для самых разных МК, и для ARM в том числе. Недавно пришлось осваивать еще и IAR. Скажу только, что знание Codevision и Keil освоению IAR нисколько не помешало.

По USB еще очень рекомендую Jan Alexson "USB Complete" ...
Go to the top of the page
 
+Quote Post
Vetal-Soft
сообщение Feb 28 2011, 18:55
Сообщение #6


Участник
*

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



ихмо)
Codevision - поделка не для usb, помигать светодиодом можно и только.
gcc для avr!
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Mar 1 2011, 07:10
Сообщение #7


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



да, кодэвижн - тот ещё отстой.
ни одной темы не пропускаю, чтобы не предупредить людей, чтоб не связывались с ним!


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
-SANYCH-
сообщение Mar 1 2011, 07:27
Сообщение #8


Местный
***

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



А в чем именно заключается отстойность кодевижина?
Go to the top of the page
 
+Quote Post
mykyta
сообщение Mar 1 2011, 09:30
Сообщение #9





Группа: Участник
Сообщений: 10
Регистрация: 26-02-11
Из: Днепропетровск
Пользователь №: 63 264



Однозначно GNU AVR GCC ! Штука мощная, поддерживаемая! На ней куча людей пишут, выкладывают, проекты! Да и перейти потом на ARM можно без проблем!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 1 2011, 10:05
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (-SANYCH- @ Mar 1 2011, 09:27) *
А в чем именно заключается отстойность кодевижина?
1) Это не компилятор С. Это компилятор "языка, похожего на С".
2) Его визард отучает самостоятельно думать о правильной инициализации периферии.
3) правда в этом не виноват ни компилятор, ни его автор - воровать нехорошо.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
-SANYCH-
сообщение Mar 1 2011, 10:34
Сообщение #11


Местный
***

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



Цитата
2) Его визард отучает самостоятельно думать о правильной инициализации периферии.


На мой взгляд это наоборот удобная штука. В любых программах нужно стараться максимум использовать готовые библиотеки, так как это ускоряет написание программы и разработку в целом.
Если все писать самому то это похоже на изобретение велосипеда. В том-же GCC для авров тоже есть готовые библиотеки и это я считаю только плюс.
Go to the top of the page
 
+Quote Post
mykyta
сообщение Mar 1 2011, 12:34
Сообщение #12





Группа: Участник
Сообщений: 10
Регистрация: 26-02-11
Из: Днепропетровск
Пользователь №: 63 264



хочешь быстро и сразу, пользуйся КодеВижином ! В нем куча готовых библиотек и готовых настроек. А хочешь разобраться и качественно сделать, бери GCC !
Go to the top of the page
 
+Quote Post
Harbinger
сообщение Mar 1 2011, 12:39
Сообщение #13


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Цитата(-SANYCH- @ Mar 1 2011, 12:34) *
На мой взгляд это наоборот удобная штука.

Удобная-то удобная, но критическое отношение не мешает. В аналогичном визарде от ES Academy (для NXP-шных МК) встречаются ляпы.
Если я правильно понял, проект CV поддерживает один-единственный программист, в отличие от GCC и дорогих коммерческих продуктов...


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
-SANYCH-
сообщение Mar 1 2011, 13:01
Сообщение #14


Местный
***

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



Цитата
Удобная-то удобная, но критическое отношение не мешает. В аналогичном визарде от ES Academy (для NXP-шных МК) встречаются ляпы.
Если я правильно понял, проект CV поддерживает один-единственный программист, в отличие от GCC и дорогих коммерческих продуктов...


А что вы скажете по поводу того что на разных версиях GCC получается разный размер прошивки? Причем прилично. Был размер прошивки 1,8к когда я перекомпилил ту же программу более новой версией GCC получил размер 2,1к естественно она не влезла в контроллер.
В GCC меня привлекает только то, что он бесплатный и много под него уже наработок, а как компилятор для микроконтроллеров на мой взгляд он далеко не самый лучший.
Go to the top of the page
 
+Quote Post
Marto
сообщение Mar 1 2011, 13:37
Сообщение #15


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

Группа: Свой
Сообщений: 103
Регистрация: 17-05-09
Из: Ижевск
Пользователь №: 49 190



Цитата(Сергей Борщ @ Mar 1 2011, 16:05) *
1) Это не компилятор С. Это компилятор "языка, похожего на С".
2) Его визард отучает самостоятельно думать о правильной инициализации периферии.
3) правда в этом не виноват ни компилятор, ни его автор - воровать нехорошо.


В точку. Поддерживаю.
Визард противная вещь, как бы не хвалили его за простоту и оперативность. Все равно знающий человек понимает, что в серьезном проекте даже при настроенной в визарде периферии приходится еще и ручками код править.

АВР студио + ВинАвр


--------------------
Шизоидный холерик
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Mar 2 2011, 22:55
Сообщение #16


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Цитата
А что вы скажете по поводу того что на разных версиях GCC получается разный размер прошивки?
Компилятор постоянно оптимизируется и меняется тюнинг оптимизации... как правило такую разницу можно свести на нет, а то и склонить в более выгодную сторону подбором флагов оптимизации(10 - 15 типичных). +stdlib тоже развивается и некоторые функции могут стать чуть тяжелее... дело то житейское )


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 2 2011, 23:06
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (-SANYCH- @ Mar 1 2011, 13:34) *
На мой взгляд это наоборот удобная штука. В любых программах нужно стараться максимум использовать готовые библиотеки, так как это ускоряет написание программы и разработку в целом.

Только вот ответственность за то дерьмо, которое Вы притащили с визардом и прочими "библиотеками" Вами никакой волшебник не разделит sm.gif. И правильно сделает!


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
-SANYCH-
сообщение Mar 3 2011, 12:16
Сообщение #18


Местный
***

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



Цитата
Только вот ответственность за то дерьмо, которое Вы притащили с визардом и прочими "библиотеками" Вами никакой волшебник не разделит sm.gif. И правильно сделает!


То-есть Вы хотите сказать что все библиотеки которые выкладываются производителями чипов дерьмо. А программы нужно писать самому и с нуля и тогда будет все супер?
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Mar 3 2011, 13:45
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(-SANYCH- @ Mar 3 2011, 15:16) *
То-есть Вы хотите сказать что все библиотеки которые выкладываются производителями чипов дерьмо. А программы нужно писать самому и с нуля и тогда будет все супер?

Нет же вам этого не говорили, просто использование подобных "волшебников" затеняет понимание сущности, и далеко не всегда генерируемый ими код соответствует требованиям решаемой программистом задачи. По аналогии это непонятного качества полуфабрикат в сравнении с приготовленным самостоятельно продуктом.
Go to the top of the page
 
+Quote Post
-SANYCH-
сообщение Mar 3 2011, 14:03
Сообщение #20


Местный
***

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



Цитата
Нет же вам этого не говорили, просто использование подобных "волшебников" затеняет понимание сущности, и далеко не всегда генерируемый ими код соответствует требованиям решаемой программистом задачи. По аналогии это непонятного качества полуфабрикат в сравнении с приготовленным самостоятельно продуктом.


Когда человек впервые программирует контроллер да еще при этом учиться программировать то для этого нужно просто помигать светодиодом или сделать что-то элементарное. И когда с помощью "волшебника" генерированный кот работает с первого раза то потом можно этот код модифицировать и смотреть что и зачем.
Конечно для профессионалов "волшебники" это ненужная фигня на которую они даже не смотрят (для них это сырой полуфабрикат плохого качества).
Вот только я не пойму как эти все волшебники могут затуманить понимание?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 3 2011, 14:13
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (-SANYCH- @ Mar 3 2011, 15:16) *
То-есть Вы хотите сказать что все библиотеки которые выкладываются производителями чипов дерьмо.

Скажем так, совершенно не являются образчиками приличного программирования, по крайней мере мне не разу не удалось увидеть. "Библиотеки от производителей чипов" становятся все более плохими и их единственная реальная цель закрыть пробелы в документации и errata sad.gif. Возможности железа не описываются и вместо этого выдаются несколько шаблонов на несколько случаев, причем побочные эффекты и накладные расходы за счет использования тоже не документированы. При этом идеальный с точки зрения производителя пользователь кроме всего прочего привязывается к "библиотеке" и мысля только данными ему производителем "кубиками" со страхом думает о том, что придется не то,что думать не кубиками, но даже кубиками от другого производителя, не говоря уже о том, что-бы полностью представлять и контролировать процесс.
QUOTE
А программы нужно писать самому и с нуля и тогда будет все супер?

Если Вы НЕ понимаете, что Вы используете в качестве библиотек, то "писать самому" это на мой взгляд, преждевременное утверждениеsad.gif. Соответственно на никакой "супер" надеяться не приходится. Если ПОНИМАЕТЕ, то скорее всего будете использовать "библиотеки" по минимуму, или вообще не использовать. Вот такое противоречие sad.gif

QUOTE (-SANYCH- @ Mar 3 2011, 17:03) *
Когда человек впервые программирует контроллер да еще при этом учиться программировать то для этого нужно просто помигать светодиодом или сделать что-то элементарное. И когда с помощью "волшебника" генерированный кот работает с первого раза то потом можно этот код модифицировать и смотреть что и зачем.

По разборке машинного творчества бездумного визарда Вы НИКОГДА не поймете "что и зачем". У него другая логика, логика нагенерить кучу однообразного кода по шаблону примерно годящемуся хоть для мигания светодиодом, хоть для WEB интерфейса. Таким образом вместо СОБСТВЕННОРУЧНО НАПИСАННЫХ И ОСОЗНАННЫХ нескольких строк для мигания светодиодом Вы получаете нечто в чем РАЗОБРАТЬСЯ Вам для начала будет не по силам. В результате имеем мигающий светодиод и полное не понимание того, что там визард наделал и зачем, и как это без него дальше жить.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
-SANYCH-
сообщение Mar 3 2011, 14:46
Сообщение #22


Местный
***

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



А если собственно ручно написанный код на отрез отказывается работать?
На счет визарда в кодевижене я бы не сказал что он генерит запутанный и бездумный код. Там даже комментарии есть.
Новички вот такой код (PORTC=0x05) гораздо лучше понимают чем написанный профессионалом вот такой код (PORTC &=~(1<<PC1)&~(1<<PC2)). Конечно потом они разбираются и приходят к этому но по началу почему-то для них это кажется ужасно запутанно.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 3 2011, 14:59
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (-SANYCH- @ Mar 3 2011, 17:46) *
А если собственно ручно написанный код на отрез отказывается работать?

Значит надо заставлять. Надо заставлять себя учиться "ходить", а не садиться в инвалидную коляску и заниматься выбором более продвинутых инвалидных колясок.
QUOTE
Конечно потом они....

"Потом" удручающе часто не наступает sad.gif. Если ребенок сразу не научился ходить, говорить, попу подтирать "потом" уже много сложнее.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
-SANYCH-
сообщение Mar 3 2011, 15:21
Сообщение #24


Местный
***

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



Лично мне хватило два дня для того чтобы спрыгнуть с кодевижена и перейти на иар. А если человек лентяй как по мне то это диагноз rolleyes.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 3 2011, 16:03
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (-SANYCH- @ Mar 3 2011, 18:21) *
Лично мне хватило два дня для того чтобы спрыгнуть с кодевижена и перейти на иар.

Это категорически не попытка какого-то наезда, но если Вы при этом не заметили особой разницы между "похожим на 'C'" языком, и 'C', то это очень странно. И у меня нет никаких других мыслей, кроме той, что для этого надо писать на уж очень ограниченном диалекте языка sad.gif. Я тут недавно вынужденно был использовать даже не псевдоcишный компилятор, а просто замерший в прошлом компилятор для M8C, так очень даже ругался sad.gif. Не два дня ругался, а больше sad.gif. Кстати, предыдущий софт для этой железки был написан с визардом в полный рост - инициализация по многосотбайтным таблицам, более полусотни файлов с потрясающие "нужными" функциями имеющими названия из многих слов, для, например, шевеления пином, записью байта в регистр, чтением байта из регистра и прочим мусором. Отлаживали и отлаживали этот исходник не один год, только железка как-то все зависала и пакетики теряла когда хотела.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
-SANYCH-
сообщение Mar 3 2011, 18:37
Сообщение #26


Местный
***

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



Я и не говорил что не заметил разницы. Между IAR и GCC тоже есть различия.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 3 2011, 18:52
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (-SANYCH- @ Mar 3 2011, 21:37) *
Я и не говорил что не заметил разницы. Между IAR и GCC тоже есть различия.

Если без всякой надобности не использовать всякие заложенные разработчиками опять-же для привязки к своему продукту искусственные навороты, то реально обоснованных отличий между компиляторами соответствующих C99 практически нет. Портирование, если надо, то за считанные минуты.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
-SANYCH-
сообщение Mar 3 2011, 19:22
Сообщение #28


Местный
***

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



Время портирования сильно зависит еще от размера проекта. А без искусственных наворотов часто тяжело обходиться.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 3 2011, 19:39
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (-SANYCH- @ Mar 3 2011, 22:22) *
Время портирования сильно зависит еще от размера проекта.

Время портирования не зависит от размера проекта, а только от ФАКТА использования какого либо компиляторо-платформенного расширения по разному sad.gif реализованному в компиляторах. Поиск/замена в пределах проекта дело минутное, а иногда и миллисекундное sm.gif.
QUOTE
А без искусственных наворотов часто тяжело обходиться.

Без искусственных - легче легкого, надо просто прилично знать язык, дабы отличать превнесенное от стандартного.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
-SANYCH-
сообщение Mar 3 2011, 19:43
Сообщение #30


Местный
***

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



а как насчет ассемблерных вставок?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 3 2011, 19:59
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (-SANYCH- @ Mar 3 2011, 22:43) *
а как насчет ассемблерных вставок?

Ассемблерные вставки моветон, меньший на GCC и безусловный на всех других известных мне компиляторах. Все нужные вещи пишутся на нормальном ASM. Различия в диалектах ассемблеров обычно решаются более-менее на автомате.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


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


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