Pull to refresh

Comments 57

А что вы думаете про семейство AVR32 — AP7000X и т.п?
Вот про AVR32 с удовольствием бы послушал!
Говорят, что что неплохая архитектура, но меня пугает уход от «стандарта» и, как я понял, платки не очень юзер-френдли по цене (всеже не для новичков имхо)

Там MIPS внутри. Штука может и неплохая, но сильно специфичная.
Ничем не лучше ARM, но при этом вещь в себе и поэтому мало кому нужна. Вряд ли оно станет популярным когда либо.
Изучал вариант перехода с 8-битных AVR на AVR32 — это абсолютно другая вещь, подразумевает изучение с нуля. А в таком случае намного эффективнее перейти на ARM и быть в общем тренде.
Я тут думаю по UC3A3 семейства — и вполне нормально получается, правда за студию и документацию компании надо отрезать яйца
Только дисплей не ЛСД ;)

По своему опыту общения с STM32VL-DISCOVERY могу мало что сказать о железной начинке, кроме того, что очень удобно тыкнуть в USB-порт устройство и прошивать-смотреть на мигающие диоды. Зато программы для него писать легко (относительно) — множество библиотек для работы с периферией, куча стартапов (бутлоадеров может быть?), даже можно к Eclipse CDE прикрутить тулчейн на основе gcc и в makefile запихнуть вызов программатора… красота. Иногда, правда, неприятно удивляет предельная лаконичность документации, которая, впрочем, нивелируется большим объемом информации об STM32 и Cortex в рунете и на англоязычных ресурсах. Цена платы небольшая, так что для экспериментов подойдет.
спасибо, поправил)

+еще обратите внимание поправил не stm32VL, а stm32L — контроллер стоит посерьезней, на борту дисплей, слайдер, и вот так и не понял USB у контроллера есть, но выведен ли на плату

думаю, сейчас есть смысл брать именно эту плату, а не VL
За что купил — за то и продаю, опыт общения с микроконтроллерами у меня ограничивается только этой железкой (чего не скажешь о периферийных устройствах, будь они прокляты). Для моих нужд больше не нужно в принципе, отладка только слегка усложняется. Не думаю, что программирование одного сильно отличается от другого, тем более что ядро одно и то же, частота только поболе будет да оперативки в два раза больше (майн гот, куда столько?!). Тулчейн так точно один и тот же подойдет.

Смотря на код товарища для AVR 8-bit не нашел особых трудностей и там. По большому счету, там оно даже проще. Но он-то стреляный воробей, а вот об ощущениях новичка хотелось бы узнать побольше.
Ага 8-ми битки считаются попроще, да и переферии когда меньше проще. Я скорее хотел сказать, что 32-х поинтереснее) И сейчас уже не так сложны в освоении.
А что скажете про ChipKIT? Я встречал под него даже открытый SDK где-то на code.google.com
Фишка Дурины в том, что её в принципе можно замутить не только на AVR, просто переписав базовые библиотеки на свой лад. Но родные библиотеки Дурины, не фонтан, и в комунити распространено использование сторонних библиотек, в котором вы будете ограничены, тк они платформенно специфичны.
Так, что если вы по какой-то причине выбрали Дурину, то лучше брать платы на AVR!
А где, собственно, можно заказать эти железки по тем ценам, что указаны?
А Компэл работает только с юр. лицами, правильно?
Но есть Терраэлектронника, которая работает с ними и вроде продает в розницу физ лицам (от 500 рублей).
  • Терра STM32L-DISCOVERY (1 шт.) стоит — 685.78 руб., от 6 шт. — по 548.62 руб.
  • Компэл STM32L-DISCOVERY (1 шт.) стоит — 685.78 руб., от 5 шт. — по 466.33 руб.
  • Платан STM32L-DISCOVERY (1 шт.) стоит — 710.00 руб., от 5 шт — по 703.00 руб.
  • Чип-Дип STM32L-DISCOVERY (1 шт.) стоит — 630.00 руб., от 3 шт. — по 560.00 руб.

Кто ещё какие магазины знает?
Терра — это вроде бы то ли дочка Компэла, то ли дистрибьютер главный, в общем, у них весьма тесные и интимные связи, можно считать, что это одно и то же.
Чёт ценники за год подросли
Понимаете какая штука, важную роль играет ещё то, чего хочет новичёк!

Хочет ли он стать профессиональным КОДЕРом или быстро решить ряд эпизодических задач.
Смотря на подрастающее поколение я заметил такую закономерность, что если нуб начал с покупки книги по архитектуре avr\pic и простейшего программатора на рассыпухе. То он сначала как лох радуется своим мигающим лампочкам и кнопочкам, а потом становится таки КОДЕРом, и ему уже совершенно всёравно на каком языке писать под какую платформу. Решения кодера, лаконичны, стабильны и востребованы рынком.

Если человек, начинает с какой-нибудь дурины, или иной платформы с набором перефирии, высокоуровневым языком и 100500 библиотеками на все случаи жизни. Он быстро на ней осваивается, решая крутые задачи, и обзывая pic-ов и avr-щиков лохами. Но при этом забывая, задачи то решает не он, а платформа, о внутренней работе которой он и понятия не имеет. Таким образом он попадает в рабство к платформе. А отладив прототип своего бесценного устройства, он всё равно сталкнётся с необходимостью обратиться к профессионалам, которые переделают его чуть более чем полностью.

В общем, если вам ещё нет 25, не поленитесь, лишняя профессия в жизни не помешает, а тех кому за 30 уже не переделать, не вылечить в дурдомах не перевоспитать :-)
Кодинг, он видимо как и занятия музыкой, производит в мозгу какие-то необратимые изменения, так что в какой бы области не работал кодер, и сколько бы ему не было лет, у него всегда гораздо более широкие представления о границах возможного…

Я не в коей мере не говорю что платформы это плохо, вопрос лишь о том что человеку лучше изучать и с чего начать и что он хочет получить.
Я не так давно использовал Ардурину, что бы сделать некий испытательный стенд, что бы сотрудники в Китае его воспроизвели и использовали. Никакие не инженеры и не программисты, они даже сами научились его модифицировать под новые задачи. Это конечно дало им какой то личностный рост, и вместо бухать и б#ядствовать, кое кто теперь насилует румбу через ком порт и тащится погоняя её пультом от телевизора. Но программировать avr ему лень никогда не позволит.

Это как творчество под травой, оно с начало прёт, а потом человек забывает, как это бывает вообще!
Если нужно что-то сделать срочно, то да кончено, цель оправдывает средства и лучше использовать те навыки программирования что у вас уже имеются, и исходя из этого выбирать себе платформу.
Но если вы просто ищите чем бы себя занять то pic или avr + азы электроники, не простой, но реальный путь раздвинуть границы собственной лени.
Гопники-байтоёбы на хабре, все в машину!
Еще один немаловажный момент. Рано или поздно придется переходить от отладочной платы к разводке собственных плат для устройств с нуля. Здесь новичка подстерегает психологическое препятствие в виде 100-ногого арма. Пока меня не закидали ссылками на «лазерный утюг», позволяющий делать дорожки 0,1 мм в домашних условиях, подчеркну, препятствие скорее именно психологическое. С AVR гораздо проще, почти все они есть в DIP-корпусах.
Бешено плюсую.

Главные критерии выбора для новичка должны быть:

1. Много мануалов на все случаи жизни (т.е. популярнрое и массовое семейство которому уже лет 8. Т.е. всякие AVR и PIC)
2. Легко развести плату и запаять не имея джедайских навыков ЛУТ/ФР технологий.
3. Легко купить поблизости.

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

Ну, а когда хорошо знаешь одно семейство смена платформы занимает ну от силы несколько часов. Опа и пишешь уже под другой контроллер.
Есть много простых корпусов на 32 ноги, не дип конечно, но паять их не сложно дома (говорю по себе), единственное придется по двум сторонам — а это не так просто.
А я вот успешно начал изучать работу с микроконтроллерами с intel8051 семейством
А неплохо, кстати. Очень простой и дубовый контроллер. Глаза от периферии не разбегаются. Все просто и понятно. Документации вагон. Примеров и схем тоже.

Правда с программаторами там тяжко. Новые С51 дорогие и редкие, да еще хер припаяешь. А старые по цене грязи, но прошивать их геморно.
Если не сложно, опишите когда это было и какими средствами пользовались.
Было в начале этого года. Если под средствами понимаются технические(программаторы и прочее) то подсказать не могу, занимался только теорией и разработкой в эмуляторах. Если интересует литература, то могу посоветовать Фрунзе «Микроконтроллеры это просто» и «The Intel8051 Microcontroller Architecture, Programming and Applications»
А с DaVinci (DM644x) кто-нибудь дело имел??
LPC Expresso редкостное барахло т.к. работает только через свою закрытую среду Code Red на базе эклипса. Не поддерживается IAR и Keil можно конечно через ряд витьеватых костылей привязать, но это будет совсем не то.

Ну и у LPC младшие кортексы LPC11xx и LPC13xxx вчистую сливают STM32 почти по всем пунктам. А ныне еще и по цене преимущество потеряли.
Тут палка о двух концах — либо быстро и удобно, либо ковыряйся и сжигай всё подряд :) Это по собственному опыту)

Для простых задач отлично подходят прокатанные модели — Arduino. Нужно сливать воду в туалете через интернет? Поливать цветы? Кормить кота по расписанию? Включать свет по движению? Да — это просто! Вставил шилд, взял/написал код — работает!

Со своим же утюгом и разводкой — куда сложнее: изготовление макета, лужка, дебаг, прошивка, etc…

Второй важный аспект — наличие коммунити по выбранной платформе — без примеров и помощи никуда.
>> По той же самой причине отсек все 32-х разрядные архитектуры кроме ARM + с ними еще начинаются проблемы с примерами, и они постепенно вымирают.

MIPS вымирает? Ни за что не поверю.
Если я правильно понял, то MIPS конкурирует с Cortex A-серии, но не М.

Я имел ввиду именно вытиснение М серией своих близких конкурентов, в более мощных архитектур и правда все не так однозначно.
У MIPS же есть M14K. Хотя Cortex-M, конечно, попопсовее, с ним больше народу работает.
Я в этом деле профан, никогда не имел дело с микроконтроллерами, но мне очень интересно. Хочу попытаться, поковырять. Посоветуйте мне что-нибудь дешевое, сердитое и чтобы я мог спокойно работать под GNU/Linux, без всяких виртуальных машин.
Если заказать квик-стик, то под него есть отличная среда разработки(на базе эклипс) под линукс на сайте фрискейла.
Бери Arduino. Девайс заводится сразу, благо есть Arduino IDE под Linux, примеров туева хуча, документация нормальная.
интересная статья, но всеже и правда интерсно, если начинать что закзаывать и в какой комплектации?
В самом конце статьи написаны 2 варианта, котоые мне кажутся самыми оптимальными на данный момент. Кроме этих плат ничего заказывать не придется.
просто я полный профан в железе, а покодить под него хочется…
Писал по своему кругозору, 8051 никогда не щупал. Если бы кто-нибудь написал про их приемущества как архитектуры для новичков и привел пример удобной и дешевой отладки — все было бы уже в топике)
Мне кажется, что главным преимуществом этой архитектуры являются то, что это одна их первых архитектур МК. Думаю что было бы неплохо, если не потрогать руками, то хотя бы знать эту архитектуру в общих чертах.
У системы команд MCS-51 (8051), на мой взгляд, есть еще преимущества (кроме тех, что уже перечислили):

экономный расход кода, система команд хорошо оптимизирована под компиляторы C (плюс по сравнению с AVR и ARM7). Простая для освоения система команд ассемблера. Правда, при сегодняшнем развитии памяти в чипах это уже не так актуально.
строгие тайминги выполнения команд (плюс по сравнению с ARM7), можно точно рассчитать время выполнения кода.
возможность задавать приоритеты прерываний (плюс по сравнению с AVR).

Основной недостаток — невысокое быстродействие, и из-за ограничений архитектуры недостаточный потенциал для модификации и развития. Как следствие — MCS-51 медленно умирает. Только что-то умирает она удивительно долго (уже 31 год!..), и вполне себе может пережить AVR и ARM7 =).
Для начинающих лучше всего Ардуино, имхо.
Ардуино — это только засер неокрепших мозгов, без приобретения полезного опыта. После этой платформы человек ничего сделать не сможет — ни свои наработки в серьезных проектах применить, ни развиваться дальше. Потом останется либо все бросить, либо полностью переучиваться на нормальные среды программирования типа IAR или GCC.
Новичкам в программировании сразу начинать с голого C на микроконтроллерах — вот это настоящий засёр мозгов. У человека же ничерта не будет получаться, и он в отчаянии бросит слишком сложную для него науку. Попробуйте начать учить китайский язык при помощи китайских фильмов с русскими субтитрами — именно это вы предлагаете делать нубам.
В обучении нужно идти от простого к сложному, а не сразу от сложного к ещё более сложному.
Ерунда, я с этого и начинал.
Это прибавляет веры в себя. Главное на этом на долго не зависать и все)
из опыта работы могу сказать что при работе с STM32F1xx программатор не нужен даже.
можно просто развести плату и ножки нулевого UARTа (через буфер если цеплять к COM порту или через USB2COM контроллер CP2103 если к USB и COM порта нет ) можно программировать через специальную программу-программатор (под WinXP работала точно, и под Slackware на Wine работала тоже)
таким образом для старта даже программатор не нужен.

еще по поводу даставаемости комплектов разработчика можно подсказать Стартеркит.ру — там много плат разных интересных, которые вполне за разумные деньги продаются (как то даже заказывали у них кит на STM32F107, кажется)
AVR — простые в освоении контроллеры, довольно дешевые программаторы и отладчики (драгон — 2100р), удобная и широкая периферия, но дорогие. Итого: подходят для мелких партий «я тыт дома на коленка сотворил».
PIC — древние и довольно медленные контроллеры, про программаторы похожи на AVR, немного менее удобные в освоении, немного хуже периферия. Но дешевле и ассортимент больше. ИМХО, идеальные контроллеры для производства больших партий, ибо под нужный девайс можно подобрать подходящий PIC и сэкономить свои полбакса на экземпляр (что при партии от 10000 выходит вполне оправданным).
STM8 — довольно перспективный контроллер, якобы под замену AVR. Дешевые отладчики, но несколько неудобоваримая документация, впрочем, было бы желание… довольно дешевые.
Cortex — для более серьезных задач, дороже (хотя есть и дешевые нулевые), но есть и с ethernet и так далее — и весьма быстрые.

Общий подход, ИМХО, должен быть таким — не контроллер подбирать под возвожности освоения, а контроллер подбирать под оптимальность его использования в той или иной задаче.

Если надо сделать три хреновины, то вообще пофигу, на чем и как, хоть мигалку на Cortex-M3. Если есть необходимость или вероятность потом это выдавать в производство — то освоение нового контроллера — вопрос времени, знания английского и способностей, и надо контроллер подбирать под задачу, а не делать ШИМ регулятор одного вентилятора на ATMEGA8. :)
ой, немного не туда, хотел в корень ответить. сорри.
Да, забыл совсем
MSP430 — идеальный контроллер тогда, когда нужно микропотребление. Есть в ассортименте, например, контроллеры, которые умеют работать с ЖК панелями напрямую (для брелочков автосигнализаций, например).
Да, MSP430 забыт незаслуженно, у него еще есть удобные инструменты отладки и разработки.
Не увидел смысла начианать с этой архитектуры, не лучше ли с чего-то более стандартного и попсового.

Для микропотребления есть много разных микроконтроллеров, мы тут говорим про архитектуры!

Если есть желания, напишите по-подробней про отладки и приемущества — добавлю в пост
Если посмотреть цифры по потреблению в моей статье про армы, видно что не так уж MSP430 и рвет по потреблению. Вернее да, на 1 мгц отрыв есть, но все очень мееедлееннннооо… АРМ тупо сделает работу в 20 раз быстрее, и моментально заснет, и этим ликвидирует тот жалкий отрыв по потреблению что есть сейчас.
Я свое первое устройство отлаживал на этой плате. Не знаю, сколько она стоит — досталась бесплатно.
Работе с микроконтроллерами я учился в МЭИ на кафедре ВМСС. Нам читали курсы по 8051 а потом давали руками поиграть с PIC-ами. Во время летней практики даже сидел у нач.рука и паял программатор :)
На работе сначала был uPSD3234. Потом на LPC2138 сделал специальный модуль памяти, который до сих про входит в комплектацию продающихся устройств.
Сейчас работаю с LPC2478 и планирую переходить на LPC17XX.
Что касается самого процесса, то мы в своей работе перешли на .Net Micro Framework. Правда, не советую начинать с этого. Управляемый код скрывает тонкости работы с МК также как большой .Net для x86/x64 скрывает огромную проделанную работу на CPP.
Вместо KWIKSTICK нужно читать Kinetis KwikStik?
1 купить Arduino Uno c AVR за 1000р на плате практически ничего нет, зато в продаже множество плат расширения и огромное сообщество
2 купить...

Для особо ленивых есть еще вариант: Arduino M0 или Arduino Zero (последний дороговат, аж $42.90).
С одной стороны имеем ARM Cortex M0, с другой стороны, можно не уходить с привычной среды разработки и из привычного аппаратно-программного окружения.

Sign up to leave a comment.

Articles

Change theme settings