|
AVR + Си, Посоветуйте с чего начать. |
|
|
|
Feb 24 2011, 19:49
|
Группа: Участник
Сообщений: 14
Регистрация: 15-09-10
Пользователь №: 59 507

|
До этого писал на ассемблере. Сейчас начал новый проект на AT90USB1286 и попутно изучать usb. Как то у меня все очень медленно продвигается. Я так понимаю сделать usb-устройство на ассемблере задача нетривиальная и решил, что пора переходить на Си, так как есть готовые библиотеки.
Посоветуйте пожалуйста среду разработки и компилятор. И еще буду благодарен за полезные ресурсы по usb. (Пока читаю книгу Агурова "Интерфейс usb. Практика использования и программирования." и втыкаю в atmel'евские appnotes )
|
|
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 30)
|
Feb 24 2011, 20:16
|
Гуру
     
Группа: Свой
Сообщений: 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". Где скачать - поищите сами ...
|
|
|
|
|
Feb 28 2011, 18:55
|
Участник

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

|
ихмо) Codevision - поделка не для usb, помигать светодиодом можно и только. gcc для avr!
|
|
|
|
|
Mar 1 2011, 09:30
|

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

|
Однозначно GNU AVR GCC ! Штука мощная, поддерживаемая! На ней куча людей пишут, выкладывают, проекты! Да и перейти потом на ARM можно без проблем!
|
|
|
|
|
Mar 1 2011, 10:05
|

Гуру
     
Группа: Модераторы
Сообщений: 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)
|
|
|
|
|
Mar 1 2011, 10:34
|
Местный
  
Группа: Свой
Сообщений: 289
Регистрация: 6-12-05
Пользователь №: 11 864

|
Цитата 2) Его визард отучает самостоятельно думать о правильной инициализации периферии. На мой взгляд это наоборот удобная штука. В любых программах нужно стараться максимум использовать готовые библиотеки, так как это ускоряет написание программы и разработку в целом. Если все писать самому то это похоже на изобретение велосипеда. В том-же GCC для авров тоже есть готовые библиотеки и это я считаю только плюс.
|
|
|
|
|
Mar 1 2011, 12:34
|

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

|
хочешь быстро и сразу, пользуйся КодеВижином ! В нем куча готовых библиотек и готовых настроек. А хочешь разобраться и качественно сделать, бери GCC !
|
|
|
|
|
Mar 1 2011, 13:01
|
Местный
  
Группа: Свой
Сообщений: 289
Регистрация: 6-12-05
Пользователь №: 11 864

|
Цитата Удобная-то удобная, но критическое отношение не мешает. В аналогичном визарде от ES Academy (для NXP-шных МК) встречаются ляпы. Если я правильно понял, проект CV поддерживает один-единственный программист, в отличие от GCC и дорогих коммерческих продуктов... А что вы скажете по поводу того что на разных версиях GCC получается разный размер прошивки? Причем прилично. Был размер прошивки 1,8к когда я перекомпилил ту же программу более новой версией GCC получил размер 2,1к естественно она не влезла в контроллер. В GCC меня привлекает только то, что он бесплатный и много под него уже наработок, а как компилятор для микроконтроллеров на мой взгляд он далеко не самый лучший.
|
|
|
|
|
Mar 1 2011, 13:37
|

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

|
Цитата(Сергей Борщ @ Mar 1 2011, 16:05)  1) Это не компилятор С. Это компилятор "языка, похожего на С". 2) Его визард отучает самостоятельно думать о правильной инициализации периферии. 3) правда в этом не виноват ни компилятор, ни его автор - воровать нехорошо. В точку. Поддерживаю. Визард противная вещь, как бы не хвалили его за простоту и оперативность. Все равно знающий человек понимает, что в серьезном проекте даже при настроенной в визарде периферии приходится еще и ручками код править. АВР студио + ВинАвр
--------------------
Шизоидный холерик
|
|
|
|
|
Mar 3 2011, 12:16
|
Местный
  
Группа: Свой
Сообщений: 289
Регистрация: 6-12-05
Пользователь №: 11 864

|
Цитата Только вот ответственность за то дерьмо, которое Вы притащили с визардом и прочими "библиотеками" Вами никакой волшебник не разделит sm.gif. И правильно сделает! То-есть Вы хотите сказать что все библиотеки которые выкладываются производителями чипов дерьмо. А программы нужно писать самому и с нуля и тогда будет все супер?
|
|
|
|
|
Mar 3 2011, 13:45
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(-SANYCH- @ Mar 3 2011, 15:16)  То-есть Вы хотите сказать что все библиотеки которые выкладываются производителями чипов дерьмо. А программы нужно писать самому и с нуля и тогда будет все супер? Нет же вам этого не говорили, просто использование подобных "волшебников" затеняет понимание сущности, и далеко не всегда генерируемый ими код соответствует требованиям решаемой программистом задачи. По аналогии это непонятного качества полуфабрикат в сравнении с приготовленным самостоятельно продуктом.
|
|
|
|
|
Mar 3 2011, 14:03
|
Местный
  
Группа: Свой
Сообщений: 289
Регистрация: 6-12-05
Пользователь №: 11 864

|
Цитата Нет же вам этого не говорили, просто использование подобных "волшебников" затеняет понимание сущности, и далеко не всегда генерируемый ими код соответствует требованиям решаемой программистом задачи. По аналогии это непонятного качества полуфабрикат в сравнении с приготовленным самостоятельно продуктом. Когда человек впервые программирует контроллер да еще при этом учиться программировать то для этого нужно просто помигать светодиодом или сделать что-то элементарное. И когда с помощью "волшебника" генерированный кот работает с первого раза то потом можно этот код модифицировать и смотреть что и зачем. Конечно для профессионалов "волшебники" это ненужная фигня на которую они даже не смотрят (для них это сырой полуфабрикат плохого качества). Вот только я не пойму как эти все волшебники могут затуманить понимание?
|
|
|
|
|
Mar 3 2011, 14:13
|

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

|
QUOTE (-SANYCH- @ Mar 3 2011, 15:16)  То-есть Вы хотите сказать что все библиотеки которые выкладываются производителями чипов дерьмо. Скажем так, совершенно не являются образчиками приличного программирования, по крайней мере мне не разу не удалось увидеть. "Библиотеки от производителей чипов" становятся все более плохими и их единственная реальная цель закрыть пробелы в документации и errata  . Возможности железа не описываются и вместо этого выдаются несколько шаблонов на несколько случаев, причем побочные эффекты и накладные расходы за счет использования тоже не документированы. При этом идеальный с точки зрения производителя пользователь кроме всего прочего привязывается к "библиотеке" и мысля только данными ему производителем "кубиками" со страхом думает о том, что придется не то,что думать не кубиками, но даже кубиками от другого производителя, не говоря уже о том, что-бы полностью представлять и контролировать процесс. QUOTE А программы нужно писать самому и с нуля и тогда будет все супер? Если Вы НЕ понимаете, что Вы используете в качестве библиотек, то "писать самому" это на мой взгляд, преждевременное утверждение  . Соответственно на никакой "супер" надеяться не приходится. Если ПОНИМАЕТЕ, то скорее всего будете использовать "библиотеки" по минимуму, или вообще не использовать. Вот такое противоречие  QUOTE (-SANYCH- @ Mar 3 2011, 17:03)  Когда человек впервые программирует контроллер да еще при этом учиться программировать то для этого нужно просто помигать светодиодом или сделать что-то элементарное. И когда с помощью "волшебника" генерированный кот работает с первого раза то потом можно этот код модифицировать и смотреть что и зачем. По разборке машинного творчества бездумного визарда Вы НИКОГДА не поймете "что и зачем". У него другая логика, логика нагенерить кучу однообразного кода по шаблону примерно годящемуся хоть для мигания светодиодом, хоть для WEB интерфейса. Таким образом вместо СОБСТВЕННОРУЧНО НАПИСАННЫХ И ОСОЗНАННЫХ нескольких строк для мигания светодиодом Вы получаете нечто в чем РАЗОБРАТЬСЯ Вам для начала будет не по силам. В результате имеем мигающий светодиод и полное не понимание того, что там визард наделал и зачем, и как это без него дальше жить.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 3 2011, 14:59
|

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

|
QUOTE (-SANYCH- @ Mar 3 2011, 17:46)  А если собственно ручно написанный код на отрез отказывается работать? Значит надо заставлять. Надо заставлять себя учиться "ходить", а не садиться в инвалидную коляску и заниматься выбором более продвинутых инвалидных колясок. QUOTE Конечно потом они.... "Потом" удручающе часто не наступает  . Если ребенок сразу не научился ходить, говорить, попу подтирать "потом" уже много сложнее.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 3 2011, 16:03
|

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

|
QUOTE (-SANYCH- @ Mar 3 2011, 18:21)  Лично мне хватило два дня для того чтобы спрыгнуть с кодевижена и перейти на иар. Это категорически не попытка какого-то наезда, но если Вы при этом не заметили особой разницы между "похожим на 'C'" языком, и 'C', то это очень странно. И у меня нет никаких других мыслей, кроме той, что для этого надо писать на уж очень ограниченном диалекте языка  . Я тут недавно вынужденно был использовать даже не псевдоcишный компилятор, а просто замерший в прошлом компилятор для M8C, так очень даже ругался  . Не два дня ругался, а больше  . Кстати, предыдущий софт для этой железки был написан с визардом в полный рост - инициализация по многосотбайтным таблицам, более полусотни файлов с потрясающие "нужными" функциями имеющими названия из многих слов, для, например, шевеления пином, записью байта в регистр, чтением байта из регистра и прочим мусором. Отлаживали и отлаживали этот исходник не один год, только железка как-то все зависала и пакетики теряла когда хотела.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 3 2011, 19:39
|

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

|
QUOTE (-SANYCH- @ Mar 3 2011, 22:22)  Время портирования сильно зависит еще от размера проекта. Время портирования не зависит от размера проекта, а только от ФАКТА использования какого либо компиляторо-платформенного расширения по разному  реализованному в компиляторах. Поиск/замена в пределах проекта дело минутное, а иногда и миллисекундное  . QUOTE А без искусственных наворотов часто тяжело обходиться. Без искусственных - легче легкого, надо просто прилично знать язык, дабы отличать превнесенное от стандартного.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|