Аппаратное программирование - практическое обучение - PullRequest
4 голосов
/ 10 августа 2009

Кроме Arduino , как еще можно научиться аппаратному программированию на практике? Есть ли в наличии какие-нибудь изящные комплекты, либо предварительно собранные роботы, которые вы можете запрограммировать, чтобы двигаться определенным образом, или делать определенные вещи, или что-нибудь подобное?

Ответы [ 6 ]

5 голосов
/ 10 августа 2009

Atmel AVR и PIC имеют экспериментальные платы, на которых можно использовать припой, обычно они имеют пару кнопок и некоторые источники света, предварительно припаянные к области. Это позволит вам запрограммировать / прошить микропроцессор и поиграть с выходными контактами. Вы можете написать программы на ассемблере или C.

У параллакса есть несколько комплектов. У них есть две линейки продуктов, подходящих для «игры»: Basic Stamp и что-то под названием Propeller . Первый - это небольшой микропроцессор, который запускает программы, написанные на языке Basic (немного отвратительно;)), а второй выполняет что-то, называемое Spin или сборкой (очевидно, после компиляции.)

Я бы выбрал AVR или PIC. Я сделал PIC, но я слышал хорошие вещи о AVR, они, кажется, поставляются с лучшим программным обеспечением.

3 голосов
/ 10 августа 2009

На первый взгляд, Microsoft VPL звучит неплохо, но когда дело доходит до того, чтобы НАУЧИТЬСЯ, как работает аппаратное обеспечение, это ДЛИТЕЛЬНЫЙ способ скрыть эти детали от вас. На самом деле, он в значительной степени предназначен для людей, которые не программируют, и губит кого-то, кто действительно пишет встроенное программное обеспечение. Если вы просто хотите, чтобы вещи происходили, а не вникать в детали, это нормально, но если вы хотите заняться металлом, таким как программирование плат Arduino, это не для вас.

Если вы привыкли к чему-то вроде Arduino, то что-то вроде PIC будет простым переходом. SparcFun Electronics предлагает всевозможные проекты и оборудование типа DIY. Если у вас есть приличный книжный магазин в вашем районе, я бы посоветовал поискать журнал "Circuit Cellar". В нем ежемесячно публикуются статьи с проектами для тех, кто хочет заняться проектами в области аппаратного обеспечения, начиная от доморощенного радио с программным обеспечением до 3D-графики на основе FPGA. (Фактически, Raytracing) Обычно авторы описывают проект в статье и «ПОЧЕМУ» они принимают решения, которые они сделали, описание и схемы аппаратного обеспечения и предоставляют ссылку на исходный код.

Cypress Semiconductor имеет один из самых интересных встраиваемых процессоров на рынке и несколько высококачественных плат для разработки. PSoC включает в себя возможность не только конфигурировать программное обеспечение, но и «включать» аппаратно сконфигурированное программное обеспечение, такое как аналого-цифровые преобразователи, последовательный ввод-вывод, цифро-аналоговый и различные усилители и фильтры. Это ДЕЙСТВИТЕЛЬНО крутая концепция, и функция «сенсорного датчика» PSoC фактически использовалась в нескольких моделях IPod.

Одна вещь в программировании этих маленьких микросхем состоит в том, что между вами и аппаратным обеспечением их мало, вы можете увидеть, как все работает на самом деле. Неважно, говорите ли вы о 8-битном микроконтроллере или четырехъядерном программном обеспечении Pentium, это в значительной степени одно и то же понятие. Вы записываете в регистр отображения памяти какое-то оборудование, например, последовательный контроллер, и оборудование реагирует каким-то образом. Если вы программируете генератор скорости передачи данных в PIC или ПК, это в значительной степени та же идея, вы записываете значение, которое будет использоваться как коэффициент деления от заданных тактовых импульсов для достижения заданной скорости передачи. Числа и имена могут отличаться, но понятия одинаковы. На ПК вам, возможно, придется сопоставить PCI-адрес карты, что добавляет некоторые сложности, но если вы загляните под ОС, вы увидите, что это было сделано путем записи значений в регистры simalar для программирования PIC для использования PIC. разные «страницы» памяти. Стоит ли изучать 8-битный? Что ж, сегодня продажи 8-битных микросхем оцениваются примерно в 5 миллиардов долларов, и прогнозируется, что в будущем этот рынок будет только расти. Я видел одно упоминание о том, что в среднем автомобиле 25 микроконтроллеров. Это не так уж плохо.

2 голосов
/ 10 августа 2009

Я не играл с ним много, но iRobot выглядит довольно круто.

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

0 голосов
/ 15 августа 2009

Мне всегда было любопытно по поводу gumstix . Он кажется более профессиональным, чем Arduino, и нацелен на программиста Linux. Я не могу дать вам реальное предложение, поскольку я никогда не играл с ним, но я бы определенно пошел с одной из этих игрушек, если бы мне пришлось делать это и изучать какое-нибудь крутое аппаратное программирование.

0 голосов
/ 10 августа 2009

Вам следует взглянуть на Microsoft Robotics Developer Studio , которая поддерживает множество различных наборов.

0 голосов
/ 10 августа 2009

Существует .NET Micro Framework.

Он невероятно прост в использовании / настройке, и для этого фреймворка создается много оборудования.

...