Оскільки ви, здається, опитуєтесь на думку, ось мій $ 02. Незалежно від того, чи працюю я над ARM чи AVR (і, отже, мені все одно), головним чином, виходячи з того, що я намагаюся зробити. Є випадки використання, коли AVR має сенс, і є такі, коли ARM робить. Загалом, є також компроміс між, скажімо, AVR та PIC.
По-перше, хоча я, мабуть, зіткнуться з проблемою, сказавши це, "сильний контингент в сім'ї Ардуїно" є чимось голосовим меншиною. Більшість ардуїно-фолк (користувачів), на які я натрапив, - це ті, хто скоріше поводитиметься зі своїм обладнанням так само, як вони би підхопили сценарій пітона, щоб зробити щось кумедне, часто з нижчим рівнем розуміння дотепностей, ніж вони коли б вони робили "з numpy import foo". Хоча в ардуїнському способі здійснення справ є певна заслуга, є також цілий простір для критики.
Я думаю, що варто дивитись на AVR, окрім екосистеми Arduino. Контингент Arduino також отримав велику користь із причин, які зробили AVR чимось дефактозним стандартом для речей-любителів - мантію, яку вона все частіше переймає від PIC ще до появи ардуїно. Прямими конкурентами AVR були б PIC і, до певної міри, MSP430, який набирає тяги завдяки значною мірою сильним маркетинговим поштовхом TI у поєднанні з інструментами субсидування.
Екосистема
Як вже згадувалося в інших відповідях, AVR - це та сім'я, яка має чистий, стандартизований спосіб дістатися з нуля в світ привіт за допомогою безкоштовних інструментів. Порт avr-gcc, фрагменти, які створюють ланцюжок інструментів winavr, безліч схем програмістів з різною складністю та особливостями, але все-таки пов'язані повноваженнями, отриманими завдяки підтримці avrdude, роблять це набагато простіше, ніж розбиратися з розробкою ланцюжка інструментів.
Екосистема PIC - це кошмар, у якому є будь-яка кількість компіляторів, програм програмування, асемблерів. Багато з них не сумісні між собою. Більшість із них платні. Не всі вони хороші. Що ще важливіше, немає стандартів дефакто. Безкоштовні альтернативи з відкритим кодом (скажімо, SDCC) залишають бажати кращого, але більше того, не вдалося набути статусу стандарту дефакто, як у avr-gcc та компанії. Навіть з розробленою ланцюжком програмного забезпечення вам, принаймні, доведеться вкладати гроші в програміста. PICkit може просто коштувати 20 доларів або близько того, але коли вам доведеться розібратися, як його придбати в Інтернеті (Кредитні картки, міжнародна доставка, форекс клопоти), це може стати виправдачем угод для любителів. Немає хорошого,
MSP430 незначно кращий, головним чином тому, що його новіший (принаймні, за популярністю) - З цим суперечити набагато менше шуму. TI доставляє вам зразки ІС з ефективністю, я більше ніде не бачив. mspgcc знаходиться в нормі, і є навіть програмне забезпечення для налагодження з відкритим кодом, яке не важко знайти або налаштувати. Проблема, однак, полягає в тому, що це не так приємно для любителів, як AVR. У вас все ще є проблема програміста, який коштує дорожче, ніж те, що вам потрібно придбати для PIC. Операція живлення 3,3 В ставить сприйнятий бар'єр для людей, які звикли до 5 В логіки. І це не масштабується в DIP - Є доступні низькі кінці, але не один раз ви досягнете більш свіжих фішок.
Простота використання
Думаю, DIP проти SMD є більш важливою відмінністю, ніж це часто приписують. ІМП DIP можна використовувати на дошках, дошках загального призначення, незалежно від того, як вони називаються, де ви живете, тощо. Для інтелектуального розширення SMD необхідний запуск виготовлення або придбання адаптерних плат, які не завжди легко підійти за потрібним розміром або формою.
Якість даних, примітки до програми та читабельність їх також має значення. Атмель, здається, робить у цьому дещо кращу роботу. Звичайно, це високо суб'єктивна оцінка.
AVR можуть використовувати внутрішній RC, тоді як PIC часто не мають. Їм потрібен кристал, завдяки чому він злегка тьмяний у поєднанні з невизначеністю впевненості.
AVR також здавалися більш прихильними до системного програмування порівняно з PIC декілька років тому, хоча я там дуже легко можу помилитися.
AVR проти ARM
Однак ваше запитання стосувалося AVR vs ARM. Як я вже говорив на початку, AVR і ARM займають різні простори в спектрі. Якщо у вас є щось, що ви можете зробити з AVR, то чому б ви хотіли робити це з ARM? ARM коштують дорожче, вимагають більшої кількості деталей, споживають більше енергії, роблять складніший код, потребують більш дорогих процесів виготовлення. Пайка 100-контактного TQFP дорожче, ніж пайка 40-контактного DIP / SOIC, залежно від того, як ви вимірюєте вартість. Це може не спричинити, якщо ви виробляєте великі обсяги і використовуєте приємні для цього технології виробництва, але якщо ви це робите, то різниця в ціні стане ще більш вимушеною, щоб піти з більш дешевим рішенням.
Як контролер для загального хакерства навколо будинку чи що у вас є, я б сказав, що AVR простіший у використанні, оскільки: - Більш стандартизований з точки зору любителя, більше коду, який я можу повторно використовувати в Інтернеті, оскільки їх не так багато варіації компілятора та варіації між іменами регістрів та API серед членів сім'ї. (Спробуйте перенести код ARM LPC на апаратне забезпечення ATMEL ARM, ви побачите, що я маю на увазі) - Код стає по суті складнішим (Це дійсно. Дійсно). - ланцюжок інструментів виконує додаткову роботу з налаштування. - Полегшує взаємодію трохи легше. Зброєні броньовики, як правило, знижують вас до 3v3 або 1v8 Logic, що робить взаємодію з іншими іграшками трохи проблематичною. - Дешевше - отримання чіпа ARM у місцевому магазині обладнання не є для мене варіантом, де я живу, отримати AVR.