GD Star Rating
loading...

Не так давно начал карьеру в качестве эмбедщика (блять, это как-нибудь нормально называется одним словом?). Хочу себе домой макетную плату с микроконтроллером + программатор-отладчик + среду разработки. Для чего? Для обучения, возможно (и надеюсь в дальнейшем) для использования на работе. Осталось выбрать главное – платформу.

Требований несколько. Вменяемая среда разработки. Вменяемый программатор/отладчик. Желательно архитектура, в которой можно разобраться без пол литра. Должен ли это быть DSP или просто микроконтроллер я хуй знаю, хорошо бы это был микроконтроллер с широким выбором периферии, который умножает быстрее своего среднего собрата.

Вот и не знаю с чего начать. Какой фирмы микроконтроллер? Какой отладчик? Какая среда разработки?

С какими-то продуктами я уже конечно сталкивался, и имею некое мнение-представление о них, но вот хочется послушать других людей, с чем они работают, что советуют.

Для привлечения:

image

Админы и сочувствующие посетители hardblog.net посчитали злободневным:психолоия мужчин

Tagged with →  

53 Responses to Не так давно начал карьеру в качестве эмбедщика (блять, это как-нибудь нормально называется одним словом?

  1. DioZZ:

    папа, а с кем ты только что разговаривал? о_О

  2. Peeef:

    AVR (хотя хз, есть мнение что скоро они вымрут и везде только ARMы будут).

  3. Sukon:

    Возьми Arduino, это легко, просто и IDE.

  4. Adoapp:

    : Raspberry не подходит, ибо нужен, как ты говоришь олдскул и лоулевел – АЦП, ЦАП, ШИМ, CAN, никаких линуксов и т.п. Arduino тоже не подходит, так как это все-же больше игрушка и развлечение. А вот остальное, что ты показал – да.

    Чтобы не ебать вам мозги шарадами постараюсь сказать конкретнее, что нужно. Контора, в которой работаю делает станции управления электродвигателями погружных насосов. То есть МК управляют двигателем, делают измерения, реализуют защитную логику и предоставляют некий интерфейс оператору. Никаких протобордов, ардуино и распберри естественно не используется – там своя схемотехника.
    И сейчас там царит немного хаос – несколько разных МК (Техасовский, АРМ, ПИК-овский), древнючие отладчики (глючит, виснет, слетает все), такие же древнючие IDE. Все это знают и хотят перемен, но пока оно как-то работает никто не будет ничего менять (как это всегда бывает), а будут продолжать ставить костыли.
    И вот я, весь такой в белом, возьму макетную плату с пиздатым МК, сделаю на ней какой-нибудь компонент станции и покажу им. Смотрите какой пиздатый МК и пиздатая IDE и как отлаживаться удобно и все такое современное и все работает! Почему бы нам не использовать все это!
    Воот… Ну а если серьезней, то может у меня и не получиться сыграть роль новатора, но зато поработаю над серьезной и интересной (для меня) задачей на “взрослом” МК. Опыт, досуг, все дела.
    Подходящий МК можно найти у любого производителя: Atmel, Texas, Analog Devices, Microchip, что-нибудь ARM-овское, ну и protoboard к нему. Но что выбрать? Какая IDE удобней? Какой взять программатор/отладчик? Вот Atmel-овская IDE как она вам? А Техасовская Code Composer? А может быть что-нибудь стороннее?

    Ух как много слов. Просто я не умею объяснять. Да, и спасибо за блогу робототехники – не знал.

  5. Adoapp:

    : Если лень читать, то:
    1. Подходящий мне МК можно найти у любой фирмы: Atmel, Texas, Analog Devices, Microchip, etc. Protoboard для выбранного МК тоже найти не проблема.
    2. Поэтому все упирается в удобство работы с МК.
    3. А это – удобная IDE, удобная отладка (соответственно удобный программатор/отладчик), ну и желательно понятная архитектура МК, чтобы можно было разобраться с набором команд, с его работой, а не представлять его черным ящиком.

    К сожалению, скачать и попробовать все IDE трудно, купить все МК и все возможные программаторы-отладчики к ним невозможно, прочесть все даташиты хоть и можно, но это не избавит от проблем на практике. Поэтому интересуюсь у вас, кто, что пробовал и что думает.

  6. Peeef:

    : нужен, как ты говоришь олдскул и лоулевел

    Мне кажется эта точка зрения устаревает со скоростью света.
    Во-первых, современный лоулевел уже настолько не лоулевел даже в понятиях десятилетней давности, что гоняться за ним и воротить нос от почти-гигагерцевого проца с 128-256МБ оперативки и всеми прибамбасами за 25 долларов просто потому что … я даже не знаю почему … – это странно. Т.е. пины-то у Raspberry есть, и низкоуровневый доступ к ним тоже никто не запрещает. Если создатели не идиоты, все АЦП-ЦАП-ШИМ на эти пины выведены, хочешь – хоть ассемблер пиши. Вот ты расчехлишь такую хрень, залогинишься на нее через Х, прямо там все отдебугишь – по-моему эффектно. Повторить необходимую часть Raspberry на своей схемотехнике в своей конфигурации затем не должно составлять труда для разбирающегося в теме товарища.

    С другой стороны, если вам действительно там нужен слабенький проц, который легко припаять и который возможно будет экономить батарейку, тогда целься на AVR, у них вон attiny есть 🙂

    IDE по-моему можно любой взять, начиная от Эклипса какого-нибудь, кончая специфическим софтвером от производителя аля AVRStudio – выглядят они все почти одинаково и при необходимости конфятся как надо. Такого IDE, в котором можно было бы кнопкой “run” сразу загнать прогу в МК и запустить в дебаг режиме я правда не видел – везде какой-нибудь легкий геморрой да присутствует. Правда я коммерческих продуктов не смотрел. Про АРМы слышал, что Keil Studio некий хорош.

    У mbed программирование миленько сделано – тупо бросаешь скомпиленный.bin в USB mass storage и он работает, но это не родное свойство МК, а бутлоадер какой-нибудь или лишний чип на плате, насколько я догадываюсь. У последних Atmega тоже по умолчанию установлен бутлоадер который через УСБ программировать позволяет спец тулом. У виденных мной MSP и PIC-ов обычно программер нужен отдельный, что есть неудобно.

  7. Sukon:

    : лучшая IDE – vim
    лучший отладчик – gdb

    у меня всё.

    (нет, не всё: это не самый лучший отладчик вообще, но весьма удобный метод во-первых работать портабельно, во-вторых автоматизировать отладку скриптами и макросами)

  8. Xuaapp:

    Плюс ягодки в том, что внутрях ARM со всеми плюшками, а в линукс можно подглядывать, когда не знаешь куда двигаться дальше. Пишется всё на обычном С в любой приятной тебе IDE. Вобщем, имхо супер-вариант!

  9. LanTunes:

    : зашел написать.. ну вы в курсе..

  10. Letno:

    Хипстеры-теоретики тебе полную хуйню насоветовали.

    Если у тебя нет опыта, то близко к 100% получится хуже тех изделий что было изготовлено до тебя.
    Самое сложное это сделать стабильное железо. Защищенный от всяких воздействий конструктив. Макетка, которая работает только на столе – никому не интересна.

    Если есть желание поковыряться, то для коммерческого железостроения без альтернатив, для твоих задач, это ARM Cortex-M3. Рекомендую NXP (хотя ST может быть дешевле). Обязателен отладчик. Можно пиратский MT-Link SWD.
    Среды Keil или IAR (я пользуюсь первой с родным ARM’овским компилятором RealView). Если ты красноглаз и упорот, то можно писать под gcc. Потенциально это лучше, но под коммерческие среды есть куча примеров и сообщества. Под gcc выше входной порог.

  11. Xuaapp:

    : отсюда вывод – брать Raspberry Pi. Имхо это самый простой и дешёвый способ узнать ARM со всех сторон от и до.

  12. Letno:

    : вот ты как такой вывод сделал то?
    Нет там ни ЦАП ни АЦП, других полезных интерфейсов тоже нет. Да и линупс это не-рилтайм система с большим квантом времени для приложений.

  13. Xuaapp:

    : линукс снести и использовать как подсказку.

  14. Peeef:

    : Бери mbed [~Arm Cortex M3, NXP] или Raspberry [ARM11].
    : Бери Raspberry
    : тыгыдым тыгыдым, ТЕБЕ ПОЛНУЮ ХУЙНЮ НАСОВЕТОВАЛИ, НЕ СЛУШАЙ ИХ!!! Бери ARM Cortex M3!

  15. Letno:

    : охуенный совет – “или”. ARM11 требует операционную систему. Это процессор, а не микроконтроллер (микроЭВМ).
    Также процессор Raspberry выполнен в BGA корпусе. Это тянет за собой резкое удорожание разработки и изготовления плат на малых партиях. Наборы разработчиков в реальных изделиях никто из приличных производителей не использует.
    Позавчера, к примеру, пришли мои платы по сверхсрочному заказу – 23 дня делали – 8 слоёв. Обошлось за десять плат – 72 тыр.

  16. Letno:

    : и? после этого аппаратные интерфейсы что-ли появятся?

  17. Letno:

    хипстеры атакуют

  18. Peeef:

    : охуенный совет — “или”.

    А что, “или” как-то ограничивает право выбора? Первым был упомянут mbed, да, т.к. он какбе микроконтроллер. Но зажмуриться на этом и молчать про клевый-свежак-Raspberry как-то тупо, т.к. на нем можно нахреначить по сути почти всё то же самое, операционка никому еще не мешала. Вопрос лишь в том, что позволяют делать его пины (а их там немало выведено) из того что нужно автору поста.

    Также процессор Raspberry выполнен в BGA корпусе.

    Не поверишь, но про то что “припаять сложнее” уже тоже выше написано.

  19. Xuaapp:

    : нет, но потреннироваться можно и это будет явно легче, чем докупать кучу железа. Те же программатор/отладчик, например.

  20. Letno:

    : нет ты не понимаешь. Архитектуры ARM9, ARM11, Cortex Ax это апликейшн процессоры. Созданы для использования с операционными системами. Ядра сложнее. По длине мануалов – в несколько раз.
    Если тебе нужны линуксы, винЦЕ и т.д – тренируйся на обычном домашнем ПК.
    А по условию задачи – не нужны.
    Также в тех жирных армах что я использовал, были лицензионные ограничения. Документация только под NDA, а часть библиотек только в компилированном виде, без исходников. В Raspberry об этом тоже упоминается.

  21. Xuaapp:

    : оок, таких подробностей я не знал. Сразу надо было об этом и детально (:

  22. Sukon:

    : Ну зачем ему что-то читать? У него байте через UART сигают так, что он их не замечает даже.

  23. Adoapp:

    : Черт! Я достучался до твоего сердца, парень!

    Согласен, АРМ хорош и Keil и IAR тоже вроде бы неплохие (я что-то из них пробовал давно – вроде негативных впечатлений не осталось). Но хотелось бы услышать почему без альтернатив? Почему, допустим, не те же Техасы или Атмелы?

    Да и еще. Я правильно понимаю, что всяких отладчиков (в том числе JTAG-овских) хуева туча? Почему MT–Link? Я не имею ничего против, просто хочу сделать осознанный выбор.

  24. Peeef:

    : Атмел в последнее время кстати тоже немало ARMов производит.

  25. Letno:

    : ой как лениво расписывать.

    Определимся с терминологией. Процессор… ну эт надеюсь понятно. Микроконтроллер (по-советски однокристальная микро-ЭВМ) – самодостаточная хреновина. Содержит всё необходимое. Просто добавь питания.

    В массовом выражении самые крутые это японцы. Всякие тошибы-хитачи-эпсон хер на всех клали и делают свои процессоры. Но делают в основном только для себя. Могут производить безумными тиражами и очень длительные периоды. Периодически пытаются производить не только для себя, как например консорциум Renesas. Но выходит обычно неконкурентноспособно. Хотя мои бывшие итальянские партнеры использовали Renesas, но это довольно крупный завод.

    Одна из древнейших архитектур – Интел 8081. Производится уже лет 30 и не думает умирать, так как старых изделий производится много. У архитектуры простое для понимания CISC-ядро. Писали и пишут для него чаще всего на Ассемблере, так как ресурсы микроконтроллера просто смешные. Чего стоит только дефолтная 8-битная шина адреса ОЗУ и 16-битная для ПЗУ. Но развитые битовые операции и сложные команды, свойственные CISС-ядру, позволяют неплохо писать на Ассемблере. Например популярная команда – “декремент регистра и если не ноль то переход”.
    По лицензии много кто производит.

    Майкрочип. Архитектура близкая по ущерности к х81 только не CISС а RISС. Раньше брали низкими ценами. Писали и пишут в основном на Ассемблере, хотя для старших линеек пишут и на Си. Контора славится своей отличными примерами.

    Атмел AVR. Разработали для своего времени клевое ядро. Оптимизированное под язык Си. При продвижении на рынок хвастали что теряют в производительности только 15% если писать на Си. Но ассемблер был тоже очень приятный. Главная фишка – вместо регистра-аккумулятора у них был “аккумуляторный файл”. То есть большинство операций было доступно для 32 регистров. Еще приятной фишкой было то можно было (как и в новых майкрочипах) память программ модифицировать программно. Но все также программу нельзя было исполнять из ОЗУ. В кризис 2008го они взвинтили резко цены в разы и похоже сливают свою родную архитектуру.

    Техас. позиционировывались как сверхмалопотреблящие камни. Как по-мне то это был развод чистой воды. просто контроллер имел очень слабые порты GPIO и за счет этого снижалось потребление. Вернее потребление формально выносилось за пределы камня.

    ARM7TDMI если на большинстве контроллеров можно было эффективно и коммерчески успешно писать только на Ассемблере, AVR на Си, то ARM замахнулся на Си++ и операционные системы. Хитрое CISС-ядро с отдельным набором регистров для каждого из 5 (?) режимов работы. С возможностью исполнять код в ОЗУ (полезно для объектно-ориентированного программирования), очень широкая периферия в каждом камне делали его очень вкусным. Хотя архитектуре уже под 20 лет. Англичане позиционируют себя как софтовую компанию. То есть пишут ядра и продают всем подряд, но сами в железе не делают. То есть армы от атмела техаса и др мало чем отличаются.

    ARM Cortex (можно было не выделять отдельным пунктом) развитие идей. Более дешевое ядро за счет разработки под более мелкие технологичные нормы. Векторный контроллер прерываний теперь часть ядра. Более развитая периферия. Каждый пин теперь может формировать прерывание и тд

  26. Letno:

    : jtag филипс разработал как технологию граничного сканирования. Для внутрисхемного тестирования аппаратуры (гугл). Потом уже придумали что можно его расширить и использовать для внутрисхемной отладки.
    Ничего не мешало сделать это в качестве стандарта.
    Но гадские производители делают несовместимые отладчики или даже закрывают спецификации. По этому то что должно стоит копейки – стоит несколько сотен баксов. Конечно проще стрясти с потребителя деньги за нечто железное чем за софтовое.
    Универсальных отладчиков не так уж и много. Часто их продают вместе с компиляторами. Отдельно стоят не меньше 300 баксов. Например j-link. А мт-линк это его пиратский клон.
    Стандартный джейтаг отладчик имеет крупный и неудобный разъем аж на 20 пинов. Он мало кому нравился.
    В новых ядрах арма есть поддержка нового 3х проводного отладчика SWD. Покупать стоит именно этот. соответственно и новые камни кортекс.

  27. Letno:

    у арма RISC-ядро, конечно же.

  28. Adoapp:

    : Спасибо. Кратко и по делу. Кстати, а у Analog Devices есть чо? Или они заточены сугубо для сигнальной обработки например?

  29. Sukon:

    : конечно же! и байты не проебываются еще никогда.

  30. Letno:

    : да, и для автомобильной техники.
    Техас ещё силён в DSP. В ВУЗах очень популярны TMS320 так как есть модуль для маткада (или матлаба?)
    Есть ещё новый ARM Cortex-M4.
    Но я с DSP никогда не занимался. В обзор их не включил.

  31. Adoapp:

    : Как-раз столкнулся с ТМС320 и он мне не понравился. Какая-то архитектура ебанутая. Про АРМ вот почитал немного и смог сразу что-то осознанное на асме сделать, а в этом без пол-литра не разберешься.

    И с документацией у Техаса вообще полный пиздец. Вся информация размазана небольшими полу-непонятными кусками по десятку даташитов. Все приходится выискивать, кое-как собирать воедино и все-равно с многими вещами приходится разбираться экспериментальным путем. Я того рот ебал.

  32. Adoapp:

    : Хотя с другой стороны у них довольно большой выбор продуктов, да и эти ТМС-ы так то вообще по параметрам мощные и периферии дохрена.

  33. Adoapp:

    : Блин, там так дохуя этих 320-ых. если что я про 320F28xx

  34. Letno:

    : ну ты разберись в начале что тебе нужно. dsp или обычный контроллер.
    Но на Ассемблере под АРМ никто не пишет. Хотя толстый беркус считает иначе.

  35. Sukon:

    : Мы пишем. Ибо некоторые вещи приходится оптимизировать руками. Надеюсь, на новых ядрах это будет уже не так актуально.

  36. Letno:

    : но у вы пишете же наверное только ассемблерные вставки для прикладного софта. Скелет же на сях.
    Всё писать на ассемблере под арм это мозги вывихнешь.

  37. Sukon:

    : Естественно.

  38. O2rre:

    : GCC для популярных ARM-ов вроде уже собранный есть, от Code Sourcery. Ща их купил Mentor и там как-то мутно все стало, но раньше было вполне удобно.

  39. O2rre:

    : Операционная система нужна и в контроллере, если нужны треды, шедулер, и вся эта рожь.

  40. O2rre:

    : Писать всё на ассемблере безблагодатно.

  41. Adoapp:

    Да, а какие есть магазины? Хорошо бы у нас, но можно и буржуйские с доставкой.

  42. Adoapp:

    : Треды и шедулер можно реализовать операционкой в не скажу сколько, но не много строк кода и целый ЛИНУКС тут не нужен.

  43. Letno:

    : по условию задачи ОС вряд ли нужна.

    Для моих задач были нужны только “взрослые” ОС.
    Мелкие оси для слабых процессоров без mmu стоит использовать если стоит цель разработать не одно устройство, а целую линейку похожих устройств, где будет важно очень быстро реагировать на изменения рынка. Либо если стоит цель продавать устройство для сторонних разработчиков.

  44. Letno:

    : вероятно автор имел ввиду что-то типа http://ru.wikipedia.org/wiki/FreeRTOS

  45. O2rre:

    : Ну я и не говорил, что нужен линукс.

  46. O2rre:

    : Не могу ниче сказать насчет обсуждаемого случая, т.к. нет никаких подробностей. Но обычно мелкие rtos нужны, чтобы не изобретать велосипед, и не писать в стопицотдвадцатьвосьмой раз то, что уже давно написано. Нужны нити и вытесняющая многозадачность – возьми готовое.

  47. Peeef:

    : Если тебе специфические компоненты, то Mouser, Digikey, Elfa, Farnell.
    Если полуфабрикатную продукцию для развлечений и девелопмента, неплохой список кандидатов найдешь здесь или здесь.

    Про “у нас” сейчас тебе кто-нибудь другой напишет, я не в курсе.

  48. Peeef:

    :.. (хотя там по ссылкам походу есть даже пара российских магазинов).

  49. Adoapp:

    : Да, не нужна. Это я просто подискутировать.

  50. Adoapp:

    Скажите пожалуйста в Фарнеле кто-нибудь что-нибудь заказывал? Интересуют способы доставки, цены доставки, сроки, и как хорошо с ними вообще иметь дело? На крайний случай можно позвонить в поддержку, но я сначала лучше тут спрошу.

  51. Adoapp:

    : Как-то не по-русски написал. Голова забита… Хех…

  52. Adoapp:

    Эй! Есть тут кто? Неохота посты плодить. АААААУУУУУ!

    Я тут разбираюсь с доставкой из-за бугра. Есть пару вопросов.
    1. Если пересылать обычной почтой (RoyalMail->EMS), то что с растаможиванием? Если товаров немного, на сумму менее 1000 евро и весом менее 30 кг, гарантирует ли это то, что растаможивать не придется?
    2. И вообще в чем заключается растаможка? Просто оплатить пошлину на почте или курьеру мне не трудно, а вот куда-то ехать, что-то заполнять, забирать с каких-то складов… Куда вообще ехать? В каждом городе есть таможенное отделение?
    3. Реальна ли опасность, что посылку признают “коммерческой”? Так то она для личного использования, но вдруг они там просто монетку кидают.

Добавить комментарий