Я начал использовать один из них (доска для разработчиков MBED). Большим преимуществом для меня было то, что я мог программировать на C или C ++, прямое соединение с USB и удобная онлайн-среда разработки (никакой локальной установки инструмента вообще не требовалось!).
http://mbed.org/
Через пять минут после открытия у меня была примерная мигающая программа («Привет, мир» изгнанного мира), выполняющая следующее:
#include "mbed.h"
DigitalOut myled(LED1);
int main()
{
while(1)
{
myled = 1;
wait(0.2);
myled = 0;
wait(0.2);
}
}
Это оно! Выше полная программа!
Он основан на ARM Cortex M3, быстром и большом количестве памяти для встроенных проектов (100 МГц, 256 КБ флэш-памяти и 32 КБ оперативной памяти). У инструментов онлайн-разработки есть очень хорошая библиотека, множество примеров и очень активный форум. Много помощи при подключении устройств к MBED и т. Д.
Несмотря на то, что у меня есть большой опыт работы со встроенными системами (ARM 7/9, Renases M8 / 16/32, Coldfire, Zilog, PIC и т. Д.), Я все же обнаружил, что эта система очень проста в освоении, имея серьезные возможности.
После первоначальной игры с ним на базовом макете я купил базовую доску у этих парней: http://www.embeddedartists.com/products/lpcxpresso/xpr_base.php?PHPSESSID=lj20urpsh9isa0c8ddcfmmn207, Это имеет кучу устройств ввода / вывода (включая миниатюрный OLED и 3-осевой акселерометр). С того же сайта я также купил одну из процессорных плат LCPExpresso, которая является дешевой, с меньшим энергопотреблением и памятью, чем MBED, но идеально подходит для небольших работ (но все же вышибает дерьмо из процессоров PIC / Atmega). Базовая плата поддерживает как LCPExpresso, так и MBED. Приобретая плату процессора LCPExpress, я также получил отладчик JTAG и автономную среду разработки (набор разработчика Code Red на основе GCC / Eclipse). Это намного сложнее, чем онлайновая среда разработки MBED, но это логичное развитие после того, как вы приобрели опыт работы с MBED.
Что касается моей первоначальной идеи, обратите внимание, что контроллер MBED гораздо более эффективен, чем контроллер LPCExpresso, но гораздо проще в использовании и обучении.