Начало разработки оборудования

Я рассчитываю начать простую разработку аппаратного обеспечения и, надеюсь, достаточно прогрессировать, чтобы учиться у реверс-инжиниринга.

Я хотел бы начать с микроконтроллера и иметь в виду несколько таких, как Mbed и Arduino. С чем мне идти?

Я думал, может быть, mbed, потому что он имеет функции USB и Ethernet, среди некоторых других, но я действительно не знаю, что имеет Arduino. Будет ли работать автобусный пират (потому что он дешевле)?

Я действительно не хочу программировать в основном; мой текущий контроллер параллакса - боль!

8 ответов

Я не могу рекомендовать Arduino достаточно. Тривиально прост в настройке и программировании, 100% открытый исходный код, вы можете программировать его с использованием C, C++, Wiring, существует множество обучающих программ, и большинство из них хорошо написаны и просты для понимания, вы можете общаться с ними через OSC (это означает, что вы можете отправлять и получать команды по сети через Processing, Quartz Compositor, LibLO и т. д.).

Проверьте эту ссылку 40 проектов Arduino, чтобы получить представление о том, что возможно.

Я действительно рекомендую вам начать с микроконтроллеров Microchip. Они дешевы, простая архитектура и инструменты разработки бесплатны. Вам придется программировать на ассемблере или C (я настоятельно рекомендую ассемблер для этой задачи).

Возьми Arduino.

Глупо легко настроить набор инструментов и начать писать рабочий код. Они дешевы, и все инструменты с открытым исходным кодом. Поскольку в нем используется микросхема DIP с разъемом, вы можете легко заменить его, а также взять запрограммированный чип и вставить его в плату вашего дизайна.

Что касается mbed, вы действительно хотите полагаться на их веб-приложение для компиляции собственного программного обеспечения?

Я настоятельно рекомендую начать работу с mbed от ARM. многие библиотеки уже предоставлены для большинства распространенных приложений (это относительно новое), и у него есть "облачный" компилятор, означающий, что он основан на сети, и, пока у вас есть доступ к Интернету, вам не нужно устанавливать какую-либо дополнительную часть программного обеспечения на вашем компьютере просто подключитесь к сети, напишите свой код C в онлайн-среде IDE, и он скомпилирует его для вас, и вам просто нужно скачать.bin и скопировать его в свой mbed. он чрезвычайно прост в использовании, и сообщество очень полезно.

Выбор микроконтроллера будет зависеть от ряда факторов:

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

Я рекомендую начать с микроконтроллеров PIC, потому что они легко понять программу. Инструменты разработки бесплатны, а чип-программисты дешевы.

Позже, когда вы более знакомы с концепциями, переезжайте в семью ARM, потому что они дешевые и мощные.

Arduino великолепен, прост и дешев, в Интернете есть много документов и примеров, но я предпочитаю MBed, это мощный, более быстрый, больший объем памяти, онлайн-компилятор, сетевой адаптер и официально поддерживаемая многозадачная библиотека.

Arduino в порядке, мне очень нравится atmel, но мне не нравится набор инструкций avr. AVR и Arduino, в частности, очень популярны. LillyPad от sparkfun.com с дополнительным интерфейсом USB к последовательному порту / источнику питания - это хорошая комбинация, не требующая пайки, и вы можете сразу начать играть, один разъем USB, более дешевый. Arduini pro mini похож, но для его использования требуется некоторая пайка (или свисающие провода). Я бы порекомендовал Cordium Armmite Pro, это LPC не Atmel, но Arduino, как и должен сопрягаться с другими периферийными устройствами Arduino, если вы идете по этому пути. Вам определенно не нужен базовый интерпретатор, который поставляется вместе с ним, его легко стереть и использовать загрузчик lpc для загрузки ваших собственных программ (см. Lpcstuff.blogspot.com). Я был / был анти-lpc, но случайно играл с mbed в последний день или два после того, как удалил его сразу же, через несколько минут после того, как я его получил. Синие светодиоды все еще вызывают у меня мигрень, но хорошая новость заключается в том, что вы не привязаны к их веб-разработке в песочнице. Вы можете легко свернуть свои собственные программы, как вы можете с Arduino и Armmite Pro. хорошая вещь в mbed - это монтирование как флешка, и вы копируете свой.bin-файл на устройство и нажимаете кнопку, чтобы загрузить его. не становится намного легче. Еще один sam7s-256. Olimex (обратите внимание, что все эти элементы доступны на сайте sparkfun.com), о чем я говорю, - это заголовочная плата sam7s-h256 или sam7s-h64. Это чип от Atmel Arm. Atmel удобен для разработчиков, как скажет любой пользователь avr, sam-ba теперь работает на linux, что для меня является обязательным требованием, это просто хорошо сделанный чип и плата, готовая для использования во многих случаях. Кронштейны легко обгонят платы Arduino/ AVR, хотя в этих форм-факторах они немного дороже. Семейство msp430 - еще один хороший вариант: получите ez430 напрямую от TI, а три дополнительные платы стоят еще 10 долларов, в основном четыре платы по цене одной или половины одного из указанных выше элементов). Очень хороший набор инструкций, хорошие инструменты (gcc 4.x, llvm). Я бы избегал картинок, конечно, многие люди, включая меня, обрезали себе зубы, с точки зрения общего пользователя, из числа простых в использовании досок по хорошей цене, легко найти и использовать инструменты, группы поддержки, примеры веб-страниц, они просто не могут конкурировать с рукой и авр. И их набор инструкций намного хуже, чем у 8051, что довольно плохо. pic32, которая представляет собой мипс, - это еще одна история, но она не так хорошо упакована и удобна для пользователя, но набор инструкций больше не является главной проблемой.

Другие вопросы по тегам