Comments 65
На мой взгляд главная беда Atmel в том, что SAM-ICE стоит 12,000 рублей, а ST-Link 2,300. На этом я свой выбор для домашних поделок давно закончил)
Не программатор, а отладчик который нормально поддерживается актуальной фирменной IDE, из китая за 100р???
для Atmel AVR JTAG ICE от 392 на aliexpress>
Работает только с AVR Studio 4 и не работает с ARM от AVR. О чем я и говорю.
Кстати, слыхал, что в ST-Link не залочена возможность работы с чужими камнями. Но сам не проверял, к сожалению.
Почему ARM от Atmel так редко встречаются в готовых устройствах или в DIY поделках? В основном же идут разные NEC, STM, SIEMENS, FS и подобное?
STM32F405VGT6 стоит 691,00р
ATSAM4CP16B стоит 1064,50р
Это не говоря о том, что Atmel в свое время сильно буксанули, когда STM снизила ценник.
Ну и конечно не стоит забывать про отладочные платы, мне вот так же как и вам подарили такую отладку, а как быть остальным? Покупать за 12000р отладку атмела или за 3000р отладку STM? Думаю выбор очевиден.
Поставили среду, подключили плату, запустили пример. Причем здесь Arduino?
А если сравнивать, то микроконтроллеры ARM от NXP на голову выше всех (кроме цены).
Согласен, но для многих возможность прямого портирования кода с Arduino покажется важнее
В готовых устройствах?..
Очень хотелось бы надеяться, что нет, не для многих.
Почему ARM от Atmel так редко встречаются в готовых устройствах или в DIY поделках?
Вот я смотрю на вашу табличку — практически по всем пунктам Atmel хуже, при этом он дороже, а доступность у дистрибьюторов ниже (у вас этого в табличке нет, но я у банального Компэла посмотрел, сколько того и другого на складах есть).
Как вы сами думаете, почему так редко?..
Ну и собственно цены на сами камни, вы сравниваете в статье по параметрам STM32 и Atmel. В этой табличке не хватает российских цен, а именно 691 и 848 рублей.
Плюсы Atmel:
- Полностью бесплатная студия без каких-либо ограничений, сделанная на основе удобной и современной Visual Studio.
- Библиотека драйверов-HAL ASF, интегрированная в студию, создающая красивую организованную заготовку, где потроха не торчат наружу, можно добавлять-удалять драйверы, заменять МК и прочее (против STMCubeMX, с ее односторонним порождением заготовок с жуткой простыней вместо main.c)
- Широкая линейка устройств, tiny\mega\xmega\avr32\arm, причем большинство поддерживается ASF.
- Хорошая документация.
- Таки да, ардуино, если говорить про 8-битные контроллеры, для которой можно как минимум посмотреть решения-куски кода для кучи задач.
Минусы:
- Контроллеры в целом дороже аналогичных STM32.
- Программаторы и официальные отладочные платы еще дороже.
- Официальный тулчейн ориентирован на Windows.
Так что, мне например, очень нравится STM32, хотелось бы шире его использовать, прямо шикарное железо за копейки, на смотреть на программную поддержку без слез после Atmel я не могу, увы.
1. Контроллеры в целом дороже аналогичных STM32.
2. Программаторы и официальные отладочные платы еще дороже
в последнее время не всегда.
2 — не умеете вы cube готовить.
3 — зачем? линейки stm32 охватывает практически любые задачи и при этом портирование на много проще. (буквально только что портировал проект с f103 на f030 за полтора часа)
4 — на любителя.
5 — вы программист или как? смотрим примеры для ардуино у портируем на нужную платформу.
Вы, кажется, хотите сказать, что STM32 тоже можно использовать. Так я же не спорю. Только писал-то я о другом немного.
- Тем не менее, для Atmel ARM есть бесплатная официальная IDE с компилятором\ASF\отладкой из коробки, а для STM32 — нет.
- Тем не менее, в Atmel Studio я создаю проект, допустим, HID Keyboard прямо внутри студии и у которого конфиги отдельно, библиотеки отдельно, в main.c только void main () и который сразу работает, а в Cube у меня простыня в main, в которой комметариями выделены места, где надо писать код, чтобы при регенерации заготовки от сохранился (!). Ну и дескрипторы для клавиатуры надо где-то отдельно создать.
- Восьмибитные контроллеры имеют свои преимущества, у Atmel это единая студия и программаторы.
- Причем тут я? Я писал про плюсы Atmel. Не всем легко перенести код на совсем другой контроллер.
2 — честно не знаю как работает atmel studio, но не представляю как можно реализовать автоматическую генерацию, если не задавать областей которые можно править руками, и которые нельзя. если совсем честно — я cubemx пользуюсь только для генерации стартового проекта с минимумом возможностей и дальше пишу руками. на данном этапе простыни не вижу. все раскидано по модулям.
3 — какие?
- Есть, как и ссылки на другие доступные средства разработки. Это не делает эти IDE официальными.
- Меньшее потребление, компактные корпуса вплоть до SOT-23, предсказуемое и фиксированное время выполнения кода (у AVR для каждой инструкции строго известно время выполнения в тактах).
- У Atmel main.c выглядит так:
#include <asf.h>
int main (void)
{
/* Insert system clock initialization code here (sysclk_init()). */
board_init();
/* Insert application code here, after the board has been initialized. */
}
Код библиотек лежит лежит внутри папки ASF, которую править не надо, а конфиги разных модулей — в папке config, и там они не перезаписываются студией. Например, конфиг ADC выглядит так:
#ifndef CONF_ADC_H
#define CONF_ADC_H
/* Refer to the ADC driver for detailed documentation. */
#define CONFIG_ADC_CALLBACK_ENABLE
// #define CONFIG_ADC_CALLBACK_TYPE uint16_t
// #define CONFIG_ADC_INTLVL ADC_CH_INTLVL_LO_gc
#endif /* CONF_ADC_H */
При этом настроек мышью заметно меньше, но зато всё четко разделено — вот тут ASF, вот тут конфиги, вот тут пользовательская логика и код. Нет этой необходимости держать где-то проект от куба, чтобы перегенерировать заготовку, если вдруг это нужно. Лично мне такой подход кажется заметно более "чистым" и красивым.
Да, можно и куб использовать как генератор заготовки, которую затем прибрать, отрефакторить и дальше править только руками...
STM8 — это как раз восьмибитка, о чем и был изначально разговор. А еще есть tiny10 в UDFN8 — 2х2 мм :)
А main.c у куба имеет тенденцию распухать, если включить побольше периферии...
Заготовки появляются, да, только это никак не мешает использовать удобную IDE с интерактивной отладкой вместо блокнота :)
Кстати, появились ли бесплатные версии продуктов?
Keil\IAR так-то денег стоят :) А зачем мне выкидывать хорошую IDE от производителя, если 95% разработки под МК идет под Atmel?
Но на самом, деле эти чипы при большой партии дешевле чем аналогичный STM32 (именно аналогичный, а не тот с которым идет сравнение в статье:) ). Дело в том, что на больших партиях Атмел даёт гораздо бОльшую скидку, нежели ST. Повторюсь, в делах DIY это ему никак не помогает.
При текущей стоимости отладочных плат тех и других — особенно. Почем Атмел не сделал так же, как ST, выпустив платы по себестоимости и со встроенным программатором, непонятно, ведь мог бы подсадить на свои чипы кучу любителей, из которых часть бы стала профессионалами-разработчиками. У STM32 же на момент старта не было почти ничего, ни бесплатных IDE, ни нормального HAL, и тем не менее, взлетело.
До Компела еще не доехало, увы. Зато есть несколько дешевых неродных отладочных плат, хоть какой-то прогресс. С программаторами сложнее, нормальных клонов нет, сам Атмел вроде бы и начал предлагать дешевый ICE за $50 (http://www.digikey.com/product-detail/en/atmel/ATATMEL-ICE-PCBA/ATATMEL-ICE-PCBA-ND/4753383), но всё никак не может отказаться от желания пощипать разработчиков и тут, за $50 — только голая плата, еще кабеля к ней — $20, хочешь с корпусом и коробкой — $120...
Дальше все мое имхо:
Пытался перейти с avr (8-бит) на stm8, но как верно заметили выше, софтовая поддержка просто на нуле. ни одной нормальной IDE (лицензионной, а не взломанной) под стм8 на текущий момент нет. Писать можно во многом, но это извращение, уж простите. Под stm32 дела лучше. Потому и сижу пока на avr, а там где реально необходимо 32 бита, пытаюсь использовать СТМ, но вот, честно говоря, в моем домашнем DIY таких задач крайне мало…
В чем пишете, если не секрет?
Есть смысл попробовать ATSAM в вашем случае, они сейчас не в разы дороже, периферия и возможности в целом сопоставимы, при этом доступны привычные инструменты Atmel. Но да, в наличии на складах их поменьше, даже не все семейства (а их довольно много) есть.
Обычно под некоторое семейство накапливается довольно много всего, опыт, типовые решения и куски схем, собственные библиотеки, свой загрузчик, не всегда дешевые программаторы-отладчики, отладочные платы… А некоторая экономия на стоимости контроллера имеет значение далеко не всегда, часто стоимость устройства многократно выше стоимости контроллера, и не особенно важно, $2 он стоит или $3.5.
2. «Соглашусь, что отладочная плата дорогая, но платить за нее нужно один раз», не понял, зачем её покупать? К ней в комплекте идет дебайгер/программатор? Оно выходит дешевле, чем его брать отдельно?
Если в чипе есть DSP и вообще такой функционал, то почему он не освещен в таблице сравнений?это особенность ядра. а ядро у обоих контроллеров одно.
PS. пардоньте, это ответ к комменту выше.
Atmel ARM в DIY?! «Hello world» в Atmel Studio для Cortex M4