На первый взгляд, 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 микроконтроллеров. Это не так уж плохо.