Поскольку вы, кажется, опрашиваете мнение, вот мои $ .02. Работаю ли я над ARM или AVR, имеет значение (и, следовательно, мне все равно), в основном, исходя из того, что я пытаюсь сделать. Есть случаи, когда AVR имеет смысл, и есть случаи, когда ARM имеет смысл. В общем, существует также компромисс между, скажем, AVR и PIC.
Во-первых, хотя я, вероятно, столкнусь с трудностями из-за этого, «сильный контингент в семье Ардуино» является чем-то вроде вокального меньшинства. Большинство людей из arduino (пользователей), с которыми я сталкивался, предпочитают относиться к своему оборудованию так же, как к скрипту на python, чтобы сделать что-то забавное, часто с более низким уровнем понимания сложностей, чем они. будет, когда они будут делать "из NumPy импорта Foo". Несмотря на то, что Arduino делает что-то полезное, есть и много места для критики.
Я думаю, что стоит взглянуть на AVR, кроме экосистемы Arduino. Контингент Arduino также получил большую выгоду от причин, которые сделали AVR чем-то вроде стандарта defacto для любителей вещей - мантии, которую он все больше захватывает от PIC еще до появления arduino. Прямыми конкурентами AVR будут PIC и, в некоторой степени, MSP430, который набирает обороты во многом благодаря активному маркетинговому движению TI в сочетании с инструментами субсидирования.
экосистема
Как уже упоминалось в других ответах, AVR - это единственное семейство, которое имеет чистый, стандартизированный способ добраться от нуля до Привет мира, используя бесплатные инструменты. Порт avr-gcc, части, составляющие цепочку инструментов winavr, множество схем программистов с различной сложностью и возможностями, но все же связанных с полномочиями, полученными благодаря поддержке avrdude, значительно упрощают разработку инструментария.
Экосистема PIC - это кошмар, с любым количеством компиляторов, инструментов программирования, ассемблеров, что у вас есть. Многие из них не совместимы друг с другом. Большинство из них платные. Не все из них хороши. Что еще более важно, не существует стандарта де-факто. Альтернативы свободного / открытого исходного кода (скажем, SDCC) оставляют желать лучшего, но более того, они не смогли получить статус стандарта defacto, как avr-gcc и company. Даже с разработанной программной цепочкой вам, по крайней мере, придется инвестировать в какого-то программиста. PICkit может стоить около 20 $ или около того, но когда вам нужно выяснить, как купить его онлайн (кредитные карты, международные перевозки, форекс), это может стать преградой для любителей. Там не хорошо,
MSP430 немного лучше, в основном потому, что он более новый (по крайней мере, с точки зрения популярности) - там гораздо меньше шума, чтобы с ним бороться. TI поставляет вам образцы микросхем с эффективностью, которую я не видел больше нигде. mspgcc находится в хорошем состоянии, и есть даже программное обеспечение для отладки с открытым исходным кодом, которое нетрудно найти или настроить. Проблема, однако, заключается в том, что он не такой дружелюбный, как AVR. У вас все еще есть проблема Программиста, которая стоит дороже, чем то, что вам нужно было бы купить для PIC. Работа от источника питания 3,3 В создает ощутимый барьер для людей, привыкших к 5-вольтовой логике. И он не масштабируется в DIP - есть доступные младшие, но не после того, как вы достигнете более четких фишек.
Простота использования
DIP против SMD, я думаю, является более важным отличием, чем это часто приписывают. Микросхема DIP может использоваться на макетах, платах общего назначения, как бы они ни назывались, где бы вы ни жили, и так далее. Микросхема SMD обязательно требует изготовления или приобретения адаптерных плат, которые не всегда легко найти в нужном размере или форме.
Качество таблицы данных, примечания по применению и их удобочитаемость также имеют значение. Atmel, кажется, справляется с этим немного лучше. Конечно, это очень субъективная оценка.
AVR могут использовать внутренний RC, в то время как PIC часто не используют. Им нужен кристалл, что делает его немного рискованным в сочетании с недостатком уверенности.
AVR также казались более дружественными к системному программированию по сравнению с PIC несколько лет назад, хотя я мог очень легко ошибаться там.
AVR против ARM
Ваш вопрос, однако, был связан с AVR против ARM. Как я уже говорил в начале, AVR и ARM занимают разные места в спектре. Если у вас есть что-то, что вы можете сделать с AVR, то зачем вам это делать с ARM? ARM более дороги, требуют большего количества деталей, потребляют больше энергии, делают более сложный код, требуют более дорогих процессов изготовления. Пайка 100-контактного TQFP обходится дороже, чем пайка 40-контактного DIP / SOIC, в зависимости от того, как вы измеряете стоимость. Это может не сработать, если вы производите большие объемы и используете технологии производства, дружественные к этому, но если вы делаете это, то разница в цене станет еще более привлекательной, если вы выберете более дешевое решение.
В качестве контроллера для общего взлома по всему дому или что-то еще, я бы сказал, AVR проще в использовании, потому что: - Более стандартизированный с точки зрения любителей, больше кода, который я могу повторно использовать из Интернета, потому что не так много вариации компилятора и вариации между именами регистров и API среди членов семьи. (Попробуйте перенести код LPC ARM на аппаратное обеспечение ATMEL ARM, вы поймете, что я имею в виду). Код по своей сути становится все более сложным (да. Действительно). - Набор инструментов требует дополнительной работы для настройки. - Делает интерфейс немного легче. ARM обычно опускают вас до логики 3 на 3 или 1 на 8, что затрудняет взаимодействие с другими игрушками. - Дешевле. - Получить чип ARM в местном магазине бытовой техники - не вариант для меня, где я живу, получить AVR.