GERTBOARD GertDuino
Плата расширения GertDuino для микрокомпьютера Raspberry Pi предоставляет тот же функционал что и Arduino UNO с некоторыми дополнительными функциями. На плате GertDuino расположены: микроконтроллер ATmega328, питание от 5В, 16 МГц кварц и разъемы на 100% совместимые с Arduino UNO. Также на плате присутствует кнопка сброса, две пользовательских кнопки и 6 светодиодов. Gerduino так же имеет преобразователь уровней RS232, который служит для преобразования сигналов из UART в RS232 стандартные напряжения (и для инвертирования их в это же стандарт).
Так же на плате GertDuino установлена микросхема ATmega48 MCU, которая предназначена для использования в качестве часов реального времени (RTC) и/или ИК-интерфейса расположенного на внешней стороне платы. Однако, она так же может быть использована в других, свободно программируемых, пользовательских приложениях что дает в распоряжение не одно, а два Atmega устройства. I2C интерфейс Atmega48 постоянно подключен к интерфейсу I2C на Raspberry Pi. BCM2835 не имеют встроенного IRDA интерфейса. Протокол может быть реализована с использованием стандартных GPIO контактов, но это является очень большой нагрузкой для CPU. Для поддержки IRDA ATmega-48 имеет TSSOP4038 IRD устройства, подключенного к контакту D3. Это устройство поддерживает наиболее общий протокол IRDA: 38 кГц ИК-сигнала.
Вы можете запрограммировать микроконтроллеры ATmega328 или ATmega48 от Raspberry Pi. Все соединения между платой GertDuino и Raspberry Pi защищены от 5В сигналов. ATmega328 и Atemegа48 имеют точно такие же выводы с такой же функциональностью. Устройства отличаются только объемом памяти. Так, что все что было написано о ATmega328 действительно и для для ATmega48, но если вы делаете ошибки при программировании с Atmege328, микросхема может быть легко заменена. Однако это невозможно в случае с ATmega48. Поэтому настоятельно рекомендуется быть очень осторожными и не повредите любой из портов ввода / вывода. Также Вы можете отключить плату от Raspberry Pi и использовать ее автономно.
Среда разработкиПрежде чем приступить к программированию устройства, Вы должны иметь кросс компилятор. Кросс компилятор - компилятор, который работает на одном типе процессора, но генерирует код для различного типа. В данном случае компилятор работает на Raspberry Pi (ARM11 устройство), но создает код для устройств Atmel.
Так же Вы можете написать программу на стационарном компьютере с помощью Atmel Studio, но Вы должны будете перенести скомпилированный .hex файл на Raspberry Pi прежде чем вы можете запрограммировать устройства ATmega.
Альтернативой является, приобретение отладчика JTAG-ICE, что дает определенные преимущества при отладке.