Как стать автором
Обновить

Комментарии 65

На мой взгляд главная беда Atmel в том, что SAM-ICE стоит 12,000 рублей, а ST-Link 2,300. На этом я свой выбор для домашних поделок давно закончил)

НЛО прилетело и опубликовало эту надпись здесь

Не программатор, а отладчик который нормально поддерживается актуальной фирменной IDE, из китая за 100р???

НЛО прилетело и опубликовало эту надпись здесь
для Atmel AVR JTAG ICE от 392 на aliexpress>

Работает только с AVR Studio 4 и не работает с ARM от AVR. О чем я и говорю.

НЛО прилетело и опубликовало эту надпись здесь

У самого дома валяются два похожих свистка для AVR. Брал для интереса, не один с новым Студио подружить не удалось. Самое нормально, что было у Atmel это AVR Dragon. Особенно как только появился. Функционально и не дорого) Теперь только STM32 и Altera...

НЛО прилетело и опубликовало эту надпись здесь

Xilinx хорошо, спору нет. На работе много пришлось работать с Virtex-4 PowerPC 405. Но для дома немного дороговат комплект...

AVR Dragon кажись имел ограничение до 32кБ.

В самом начале — да, но оно давно снято официально.

да кому нужен SAM-ICE? Клон j-link прекрасно работает со обоими.
Кстати, слыхал, что в ST-Link не залочена возможность работы с чужими камнями. Но сам не проверял, к сожалению.
Почему ARM от Atmel так редко встречаются в готовых устройствах или в DIY поделках? В основном же идут разные NEC, STM, SIEMENS, FS и подобное?

STM32F405VGT6 стоит 691,00р
ATSAM4CP16B стоит 1064,50р
Это не говоря о том, что Atmel в свое время сильно буксанули, когда STM снизила ценник.
Ну и конечно не стоит забывать про отладочные платы, мне вот так же как и вам подарили такую отладку, а как быть остальным? Покупать за 12000р отладку атмела или за 3000р отладку STM? Думаю выбор очевиден.
Согласен, но для многих возможность прямого портирования кода с Arduino покажется важнее. Гики-хипстеры, знаете таких?
Дак они используют esp или maple. Тем более покупать камень за 1к руб чтобы портировать на него что то из ардуино — ИМХО — это бред, В общем я таких не знаю. А тех кого знаю — выбирают STM32 или Analog Device, но они не хипстеры и вообще на ардуину смотрят больше как на конструктор для детей.
Три раза просмотрел статью, но вот именно «прямого портирования кода с Arduino» как раз и не увидел.
Поставили среду, подключили плату, запустили пример. Причем здесь Arduino?
В данном случае был показан именно пример Hello World. Портирование осуществляется в IDE несколькими кликами.
Можете попробовать портировать MarlinFirmware например в пару кликов? Или речь только про Arduino-проекты в вакууме без залезания в потроха avr?
Если бы автор написал про Arduino Due (Cortex-M3) или хотя бы упоминал где-то, то много вопросов отпало бы. Цена 850р., поддержка среды, скриптов и шилдов Arduino + вся мощь ARM Cortex-M3 (32 бита, частота, куча портов и интерфейсов). Увы, не толерантно к 5В, прошивается дольше чем Uno (флэша много). Но когда для прототипа не достаточно Uno, то выручает Due или Discovery / Nucleo.
А если сравнивать, то микроконтроллеры ARM от NXP на голову выше всех (кроме цены).
Согласен, но для многих возможность прямого портирования кода с Arduino покажется важнее


В готовых устройствах?..

Очень хотелось бы надеяться, что нет, не для многих.
Почему ARM от Atmel так редко встречаются в готовых устройствах или в DIY поделках?


Вот я смотрю на вашу табличку — практически по всем пунктам Atmel хуже, при этом он дороже, а доступность у дистрибьюторов ниже (у вас этого в табличке нет, но я у банального Компэла посмотрел, сколько того и другого на складах есть).

Как вы сами думаете, почему так редко?..

Ну и собственно цены на сами камни, вы сравниваете в статье по параметрам STM32 и Atmel. В этой табличке не хватает российских цен, а именно 691 и 848 рублей.

Добавил
так же stm32f40x ограничиваться не стоит. как минимум F427 будет еще на на пол головы выше при сравнимой цене.
НЛО прилетело и опубликовало эту надпись здесь
дело привычки на самом деле.
А какая «крутая» вещь есть в данной ARM from Atmel? Такая что заставит пользователя побежать покупать Atmega, плюнув на STM32 и на материальные убытки.

Плюсы Atmel:


  1. Полностью бесплатная студия без каких-либо ограничений, сделанная на основе удобной и современной Visual Studio.
  2. Библиотека драйверов-HAL ASF, интегрированная в студию, создающая красивую организованную заготовку, где потроха не торчат наружу, можно добавлять-удалять драйверы, заменять МК и прочее (против STMCubeMX, с ее односторонним порождением заготовок с жуткой простыней вместо main.c)
  3. Широкая линейка устройств, tiny\mega\xmega\avr32\arm, причем большинство поддерживается ASF.
  4. Хорошая документация.
  5. Таки да, ардуино, если говорить про 8-битные контроллеры, для которой можно как минимум посмотреть решения-куски кода для кучи задач.

Минусы:


  1. Контроллеры в целом дороже аналогичных STM32.
  2. Программаторы и официальные отладочные платы еще дороже.
  3. Официальный тулчейн ориентирован на Windows.

Так что, мне например, очень нравится STM32, хотелось бы шире его использовать, прямо шикарное железо за копейки, на смотреть на программную поддержку без слез после Atmel я не могу, увы.

1. Контроллеры в целом дороже аналогичных STM32.
2. Программаторы и официальные отладочные платы еще дороже

в последнее время не всегда.
1 — это cortex. а для cortex есть gcc, так что никакие avr studio не нужны.
2 — не умеете вы cube готовить.
3 — зачем? линейки stm32 охватывает практически любые задачи и при этом портирование на много проще. (буквально только что портировал проект с f103 на f030 за полтора часа)
4 — на любителя.
5 — вы программист или как? смотрим примеры для ардуино у портируем на нужную платформу.

Вы, кажется, хотите сказать, что STM32 тоже можно использовать. Так я же не спорю. Только писал-то я о другом немного.


  1. Тем не менее, для Atmel ARM есть бесплатная официальная IDE с компилятором\ASF\отладкой из коробки, а для STM32 — нет.
  2. Тем не менее, в Atmel Studio я создаю проект, допустим, HID Keyboard прямо внутри студии и у которого конфиги отдельно, библиотеки отдельно, в main.c только void main () и который сразу работает, а в Cube у меня простыня в main, в которой комметариями выделены места, где надо писать код, чтобы при регенерации заготовки от сохранился (!). Ну и дескрипторы для клавиатуры надо где-то отдельно создать.
  3. Восьмибитные контроллеры имеют свои преимущества, у Atmel это единая студия и программаторы.
  4. Причем тут я? Я писал про плюсы Atmel. Не всем легко перенести код на совсем другой контроллер.
1 — coide и sw4stm32 есть на страничке продукта stm32
2 — честно не знаю как работает atmel studio, но не представляю как можно реализовать автоматическую генерацию, если не задавать областей которые можно править руками, и которые нельзя. если совсем честно — я cubemx пользуюсь только для генерации стартового проекта с минимумом возможностей и дальше пишу руками. на данном этапе простыни не вижу. все раскидано по модулям.
3 — какие?
  1. Есть, как и ссылки на другие доступные средства разработки. Это не делает эти IDE официальными.
  2. Меньшее потребление, компактные корпуса вплоть до SOT-23, предсказуемое и фиксированное время выполнения кода (у AVR для каждой инструкции строго известно время выполнения в тактах).
  3. У 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 у куба имеет тенденцию распухать, если включить побольше периферии...

НЛО прилетело и опубликовало эту надпись здесь
сейчас скажут, что этот корпус не годен для сборки на коленке, и отчасти будут правы. однако я не думаю что на этапе прототипа или в домашнем баловстве будет нужен такой корпус.
Плюсы 1 и 2 это скорее для новичков желающих освоить новый микроконтроллер. С ростом опыта и накопления наработок появляются красивые заготовки, а студии выкидываются.

Заготовки появляются, да, только это никак не мешает использовать удобную IDE с интерактивной отладкой вместо блокнота :)

Конечно, поэтому никто и не отменял универсальные IAR, KEIL, туже VS + gcc + gdb. А привязанные к производителю IDE я предпочитаю выкидывать на мороз сразу после ознакомления с примерами.
справедливости ради что у кейла что у IAR редактор кода мне откровенно не нравится, как я не настраивал подсветку через 6 часов тупления в код, все это сливается в неразличимую кашу, да и функционал редактора не сказать, чтоб сильно радовал… Но общий функционал, конечно вне конкуренции и с этим небольшим неудобством редактора можно смириться.
Кстати, появились ли бесплатные версии продуктов?

Keil\IAR так-то денег стоят :) А зачем мне выкидывать хорошую IDE от производителя, если 95% разработки под МК идет под Atmel?

При текущей доступности армовских чипов на российских складах, в DIY у Атмела шансов просто нет. Да и описанный в статье камень — довольно старый, с технической точки зрения Атмел сильно уступает ST в категориях М3 и М4.
Но на самом, деле эти чипы при большой партии дешевле чем аналогичный 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...

СТ первые год-два свои отладки просто тупо слала нахаляву всем желающим. Вот так просто. Заходишь на сайт, заполняешь заявление из десятка пунктов и опа — получите по почте стм дискавери. Хоть для стм8, хоть для стм32. С камнем и отладчиком. Немного затрат и огромная DIY армия ваша.
Многое уже написали, немного добавлю. Выше сказано было, что Атмел пропустил выход СТМ на рынок, одна из причин текущей популярности стм еще и в этом. Камни stm8 и stm32 стоили в 3-5 раз дешевле Атмела при превосходящих в разы параметрах. Потом, конечно, цены подняли (где-то через полгода-год) но народ уже успел крепко подсесть. Еще плюсы у stm -меньшее энергопотребление, что очень актуально для портативных устройств. несмотря на то, что у вас в таблице «минимальное потребление» Атмел выигрывает, надо очень внимательно смотреть в спецификацию, что он может при этом минимальном потреблении.
Дальше все мое имхо:
Пытался перейти с avr (8-бит) на stm8, но как верно заметили выше, софтовая поддержка просто на нуле. ни одной нормальной IDE (лицензионной, а не взломанной) под стм8 на текущий момент нет. Писать можно во многом, но это извращение, уж простите. Под stm32 дела лучше. Потому и сижу пока на avr, а там где реально необходимо 32 бита, пытаюсь использовать СТМ, но вот, честно говоря, в моем домашнем DIY таких задач крайне мало…
НЛО прилетело и опубликовало эту надпись здесь
Про железо никто не спорит, камин очень вкусные, и по энергопотреблению точно в лидерах. Но я не могу себя заставить писать под него в, утрированно, блокноте:(:( IDE от атмел крутая… но народ и в 4 студии до сих пор работает, и ничего. Дело привычки, видимо. И да, платили бы мне за это деньги — писал бы в блокноте и отлаживал в уме, ну а для хобби — увы, нет.
В чем пишете, если не секрет?
НЛО прилетело и опубликовало эту надпись здесь
iar и есть блокнот
НЛО прилетело и опубликовало эту надпись здесь
да, ничего лишнего, и ничго нужного. куча лишних телодвижений для получения результата. заставляет вести проект параллельно в двух IDE. точнее в IDE и в IAR (который все же блокнот)
НЛО прилетело и опубликовало эту надпись здесь
за ~450р можно получить десяток stm32f030. там уже имеется gcc+eclipse
НЛО прилетело и опубликовало эту надпись здесь

Есть смысл попробовать ATSAM в вашем случае, они сейчас не в разы дороже, периферия и возможности в целом сопоставимы, при этом доступны привычные инструменты Atmel. Но да, в наличии на складах их поменьше, даже не все семейства (а их довольно много) есть.

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

Обычно под некоторое семейство накапливается довольно много всего, опыт, типовые решения и куски схем, собственные библиотеки, свой загрузчик, не всегда дешевые программаторы-отладчики, отладочные платы… А некоторая экономия на стоимости контроллера имеет значение далеко не всегда, часто стоимость устройства многократно выше стоимости контроллера, и не особенно важно, $2 он стоит или $3.5.

А еще не все забыли головняк с внезапным снятием с производства или несовместимым обновлением ревизий от атмела.
1. «с поддержкой DSP-инструкций» — это как? Если в чипе есть DSP и вообще такой функционал, то почему он не освещен в таблице сравнений?
2. «Соглашусь, что отладочная плата дорогая, но платить за нее нужно один раз», не понял, зачем её покупать? К ней в комплекте идет дебайгер/программатор? Оно выходит дешевле, чем его брать отдельно?
Если в чипе есть DSP и вообще такой функционал, то почему он не освещен в таблице сравнений?
это особенность ядра. а ядро у обоих контроллеров одно.
PS. пардоньте, это ответ к комменту выше.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории