Что такое isp интерфейс

Что такое isp интерфейс

Разработка приложений для встраиваемых систем (firmware) обычно осуществляется на настольной рабочей станции (компьютер PC, работающий под Windows или Linux), на языке ассемблера и высокоуровневом языке C. С помощью кросс-платформенных инструментов (компилятор, линкер и т. д.) генерируется исполняемый двоичный код, который должен быть выгружен в память целевой платы. В большинстве случаев это энергонезависимая память (non-volatile memory), требующая выполнения специальных процедур для своего программирования.

На самых ранних этапах развития микроконтроллеров и процессоров энергонезависимая память была представлена микросхемами EPROM, EEPROM или FLASH с параллельным интерфейсом, которые для своего перепрограммирования требовали извлечения из сокета целевой системы и установки в сокет программатора (иногда перед этим требовалось стирание с помощью ультрафиолетовой лампы). Сегодня память микроконтроллеров и внешних микросхем памяти может быть перепрограммирована без извлечения из схемы, где они работают. Эта технология называется внутрисхемное (in-ciruit) или внутрисистемное (in-system) программирование, часто обозначаемая аббревиатурой ISP (от in-system programming).

Для реализации ISP требуются следующие составляющие:

1. Программный инструмент, работающий на PC (утилита программирования), который может управлять интерфейсом программирования через любой стандартный порт (сегодня это чаще всего USB). Компьютер, где работает это программное обеспечение, называют еще хостом PC.

2. Адаптер программирования, который позволяет подключиться к интерфейсу программирования целевой платы через любой стандартный порт компьютера PC (сегодня это чаще всего USB, раньше также использовались порты RS-232, принтер порта LPT).

3. Специальный интерфейс программирования наподобие SPI [2], JTAG [3] (иногда используются и другие интерфейсы).

Что такое isp интерфейс. Смотреть фото Что такое isp интерфейс. Смотреть картинку Что такое isp интерфейс. Картинка про Что такое isp интерфейс. Фото Что такое isp интерфейс

Все 3 этих требования должны быть так или иначе реализованы, однако в реальном мире существует множество вариантов реализации. Например, адаптер программирования может быть интегрирован в целевую плату. В этом примере кабель USB будет подключаться напрямую к PC и к целевой плате. Иногда интерфейс программирования доступен через специальные инструкции или регистры микроконтроллера, которые позволяют загрузить в память новое firmware.

Здесь (перевод [1]) представлен обзор различных методов ISP, используемые сегодня с популярными семействами микроконтроллеров AVR и ARM. Эта статья не претендует на полноценный обзор ISP, потому что в мире существует множество семейств микроконтроллеров и процессоров с различными особеностями реализации технологии внутрисхемного программирования.

[Программное обеспечение PC]

Есть множество инструментов (утилит программирования), каждый поддерживает свой набор интерфейсов программирования, адаптеров и целей (микроконтроллеров) для программирования. Довольно важен тот момент, что не все инструменты доступны для каждой операционной системы PC.

Утилита программирования взаимодействует с пользователем либо через командную строку (command line, CLI) или через графический интерфейс (окно диалога с кнопками и галочками, GUI). Каждый из этих методов взаимодействия имеет свои достоинства и недостатки. В то время как CLI лучше всего подходят для автоматизации (очень важно в производстве, когда нужно многократно повторять одну и ту же последовательность операций), интерфейс GUI упрощает ручное изменение различных опций программирования, избавляя от запоминания команд CLI. Некоторые утилиты поддерживают оба метода использования, CLI и GUI. Иногда графический интерфейс служит надстройкой над ниже лежащим интерфейсом командной строки, формируя командную строку из опций графического интерфейса.

Некоторые адаптеры программирования наподобие Zylin ZY1000 (см. ниже) имеют встроенное программное обеспечение программирования, управляемое через web-интерфейс. Это делает возможность программирования практически независимой от используемой операционной системы настольного компьютера PC.

В таблице ниже представлено популярное бесплатное программное обеспечение (некоторые из них с открытым исходным кодом) для программирования встраиваемых систем.

НазваниеOpen
Source
Поддержка
OS
CLIGUIПоддерживаемые
микроконтроллеры
AVRDUDE [4]ДаLinux
Windows
OS X
ДаДа [10]AVR
AVR Studio 4 [5]WindowsДаДаAVR
JTAG-O-MAT [6]ДаLinux
Windows
ДаARM
OpenOCD [7]ДаLinux
Windows
OS X
ДаARM
SAM-PROG [8]Windows?ДаARM
UISP [9]ДаLinux
Windows
ДаAVR

[Порты PC, используемые для ISP]

Адаптеры, использующие для подключения порт принтера LPT, являются самыми простыми. Обычно в них нет ничего, кроме микросхем буфера или преобразователя уровней, подключаемых с одной стороны к сигналам LPT, а с другой стороны к программируемой целевой системе. Иногда в качестве преобразователей уровня используются обычные резисторы. Интерфейс LPT был широко распространен в 80-х и 90-х годах двадцатого века, но эти времена прошли. Сегодня уже трудно найти компьютер PC, на котором был бы интерфейс LPT, однако в продаже все еще можно найти карты расширения для шины PCI, на которых есть интерфейс LPT.

USB намного сложнее, чем параллельный порт LPT или последовательный интерфейс RS-232, однако сегодня уже имеется много микроконтроллеров, аппаратно поддерживающих этот интерфейс, и их ассортимент с каждым днем увеличивается. Таким образом, появляется все больше и больше адаптеров программирования, подключаемых через порт USB, потому что интерфейс USB есть практически на каждом компьютере PC. После того, как компания FTDI предоставила специальные микросхемы [11], которые дают возможность просто реализовать программирование JTAG через USB без необходимости писать для этого какое-либо firmware, цена адаптеров программирования для JTAG, которые работают через USB, значительно упала.

Одним из недостатков USB является ограниченная длина кабеля. Чем короче кабель, тем вся система программирования работает надежнее. Сегодня наиболее продвинутые адаптеры программирования поддерживают подключение через Ethernet, что дает возможность программирования и отладку даже через сеть Интернет.

[AVR ISP]

Есть несколько способов реализации внутрисхемного программирования для программирования внутренней flash-памяти микроконтроллеров AVR. Ниже приведены названия этих интерфейсов по терминологии Atmel:

Примечание: для AVR существуют еще так называемые методы программирования HVSP (высоковольтное последовательное программирование) и HVPP (высоковольтное параллельное программирование), но эти технологии здесь не рассматриваются, потому что они не относятся к внутрисхемному программированию. Высоковольтное прогаммирование часто используется для восстановления фьюзов, в частности HVSP использует устройство AVR fuse doctor [12].

STK200 это простой, недорогой адаптер программирования ISP, подключаемый через параллельный порт принтера LPT. Изначально этот адаптер входил в состав комплекта начинающего разработчика Atmel STK200 starter kit, сейчас этот адаптер компанией Atmel больше не поддерживается. Однако существует множество утилит программирования, поддерживающих этот адаптер, и многие компании все еще представляют клоны этого адаптера. Из-за простоты STK200 и доступности его принципиальной схемы такой адаптер можно собрать самому (ниже приведена одна из таких схем).

Что такое isp интерфейс. Смотреть фото Что такое isp интерфейс. Смотреть картинку Что такое isp интерфейс. Картинка про Что такое isp интерфейс. Фото Что такое isp интерфейс

Сегодня Atmel официально предоставляет 3 адаптера для программирования AVR. Ниже приведен их список в порядке возрастания цены и увеличения возможностей. Все эти адаптеры подключаются через USB.

AVR ISP mkII. Это программатор ISP, поддерживает интерфейсы ISP, PDI и TPI, отладка не поддерживается.

Схема и прошивка программатора AVR ISP mkII компанией Atmel не опубликована, однако в Интернете давно доступны варианты реализации (клоны) этого программатора на основе чипов AT90USB162, ATmega16U2 и ATmega32U4 (см. описание одного из вариантов такой реализации в статье [13]), прошивка для него сделана на основе библиотеки LUFA [14]. Таким образом, Вы сами можете изготовить такой программатор и залить в него готовую прошивку, либо можете скомпилировать эту прошивку для исходного кода.

AVR Dragon. Поддерживает программирование через ISP и отладку по исходному коду через DebugWire.

JTAGICE mkII. Поддерживает программирование через ISP и JTAG, а также отладку по исходному коду через JTAG и DebugWire.

[Альтернативные адаптеры AVR]

1. SP Duo JTAG Programmer site:embedded-creations.com.
2. AVR DUO ICE site:avrfreaks.net.

Эти адаптеры интересны тем, что предоставляют программирование через ISP и JTAG. SP Duo подключается через интерфейс RS-232, и он поставляется со своим собственным firmware, отладка JTAG не поддерживается. AVR DUO ICE подключается через USB, и поддерживает отладку JTAG.

Открытым сообществом разработчиков было сделано несколько попыток использования чипов FT2232 для реализации недорогого адаптера JTAG для AVR, но без особого успеха. Программирование происходит довольно медленно, и отладка JTAG работает ненадежно из-за того, что политика Atmel держит в секрете тонкости реализации технологии отладки AVR.

Следует упомянуть про интересную разработку, которая поддерживает не только программирование через JTAG, но также и отладку.

[ARM ISP]

Внутрисхемное программирование внутренней памяти FLASH микроконтроллеров ARM обычно осуществляется через JTAG. Наиболее простым адаптером JTAG в плане аппаратуры является адаптер Wiggler, который подключается через параллельный порт принтера LPT. Изначально этот адаптер предлагала компания Macraigor Systems, и в Интернет можно найти различные схемы его клонов.

Turtelizer [15] это один из примеров адаптера JTAG, подключаемого через RS-232. Он основан на микроконтроллере ATmega8 или ATmega168. Дизайн и прошивка адаптера Turtelizer опубликованы под лицензией BSD.

Норвежская компания Zylin AS, известная как разработчик плагина Embedded CDT для Eclipse и поставщик пакетов OpenOCD, предоставляет сегодня наиболее подвинутые адаптеры JTAG. Адаптер программирования ZY1000, основанный на открытом программном обеспечении, это в действительности маленькая система Linux со встроенным интерфейсом Ethernet и JTAG, где интегрирован пакет OpenOCD и web-сервер. Все, что Вам нужно для программирования устройств ARM, это только браузер.

[Программирование внешней памяти через ISP]

Из-за Гарвардской архитектуры, где 8-битная шина данных микшируется с 16-битной шиной кода инструкции, выполнение программы всех микроконтроллеров семейства AVR ограничено только внутренней памятью FLASH. Это остается верным даже если доступна внешняя шина памяти. Тем не менее для хранения энергонезависимой памяти данных (non-volatile data memory) может использоваться внешняя память FLASH.

Микроконтроллеры ARM с внешней памяти не ограничены использованием внутренней памяти для памяти программ, для этого может использоваться и внешняя шина. Большое количество микроконтроллеров ARM представляются не только с внутренней памятью FLASH для памяти программ, куда записывается firmware, но также для firmware может записываться и во внешнюю FLASH-память, подключаемую к микроконтроллеру ARM в виде внешней микросхемы.

Существуют как минимум два основных метода для реализации внутрисхемного программирования внешних устройств памяти. Первый основан на технологии пограничного сканирования JTAG (JTAG boundary scan), которая позволяет переключать любой вывод и считывать его состояние у тестируемого микроконтроллера ARM. Если все выводы программирования совмещены с управляемыми выводами микроконтроллера, то JTAG boundary scan может использоваться для генерации сигналов последовательности программирования памяти чипа. Достоинство этого метода в том, что на целевой плате не требуется наличие никакого дополнительного поддерживающего кода, потому что технология JTAG boundary scan в чипе ARM полностью реализована аппаратно. Но, как можно было бы ожидать, это довольно медленный способ программирования.

Второй метод использует интерфейс отладки JTAG, который позволяет CPU выполнять отдельные инструкции. Этот метод программирования внешней памяти чипа позволяет использовать выполняемую по шагам последовательность инструкций. Это значительно быстрее метода boundary scan, но требует, чтобы CPU был инициализирован и запущен в работу на выполнение процедуры программирования. Вариант этого метода может быть использован, когда доступна некоторая область оперативной RAM. Вместо эмуляции отдельных инструкций в RAM выгружается и запускается целый кусок кода, осуществляющий программирование данных, поступающих в буфер RAM через JTAG. Программируемые данные могут поступать и через JTAG, и через дополнительный канал передачи данных, так называемый интерфейс JTAG COMM.

[Использование загрузчика (bootloader)]

Как правило загрузчики получают исполняемый двоичный код через один из внешних интерфейсов микроконтроллера, и записывают этот код в некую встроенную энергонезависимую память (она может находиться на кристалле микроконтроллера или установлена на плате в виде отдельной микросхемы). После того, как код передан и записан, он может быть запущен на выполнение специальной командой или последующим сбросом или включением питания системы. Часто в качестве интерфейса связи с хостом PC загрузчик использует UART, иногда USB и другие интерфейсы.

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

Загрузчики AVR. Многие модели микроконтроллеров AVR поддерживают самопрограммирование, т. е. они могут перезаписывать собственную память программ [17]. Некоторая часть области кода памяти FLASH может быть предоставлена под код загрузчика. Из-за того, что этот код находится в отдельной секции, он может получить доступ на запись к другим секциям памяти FLASH микроконтроллера AVR. Краткий обзор загрузчиков AVR дан в статье [18].

Источник

Устанавливаем ISP-подключение

Что такое ISP-подключение?

На самом деле, вы уже знакомы с этим понятием. ISP, сокращённо с английского «internet service provider», означает «поставщик интернет-услуг» или по-другому называется «интернет-провайдер» (можно просто провайдер). Он же, в свою очередь, является организацией, занимающейся предоставлением такого товара, как выход в глобальную сеть. Это могут быть подключения через домашний телефон или по оптоволоконному кабелю, беспроводные сети, аренда оборудования и многие другие вещи, связанные со Всемирной паутиной. Как вы могли заметить, понятие это вам уже давно знакомо. Просто у него появилось более-менее «научное» название.

Что такое isp интерфейс. Смотреть фото Что такое isp интерфейс. Смотреть картинку Что такое isp интерфейс. Картинка про Что такое isp интерфейс. Фото Что такое isp интерфейс

Каждый из пользователей интернета хоть раз в жизни сталкивался с интернет-провайдерами

Как можно провести интернет?

Практически в любом малом и большом городе имеются интернет-провайдеры. Тот же Ростелеком, например, является поставщиком интернет-услуг. Получается, чтобы вам в дом или квартиру провели сеть, достаточно просто написать заявление в одной из точек продаж. Если вы не знаете адрес, то вам на помощь придут следующие источники информирования:

Ну что ж, теперь вы знаете, как найти провайдера (если по каким-то непонятным причинам он сам до сих пор не нашёл вас). Ещё необходимо ознакомиться с некоторыми подсказками, которые помогут вам сделать всё правильно. Важно подобрать оптимальный тарифный план. Чаще всего, работники организации сами сделают это за вас, подсказывая цены и предоставляемую скорость. Если ваше подключение будет через ADSL, важно знать, какую скорость сможет «потянуть» проведённый кабель. То есть, если вы подключите скорость 70 МБит/с, а кабель поддерживает лишь 20 Мбит/с, то вам нет смысла переплачивать.

Что такое isp интерфейс. Смотреть фото Что такое isp интерфейс. Смотреть картинку Что такое isp интерфейс. Картинка про Что такое isp интерфейс. Фото Что такое isp интерфейс

Также стоит отметить использование роутеров. Чаще всего, провайдеры предлагают свои модемы (с поддержкой Wi-Fi). Но вы можете отказаться и приобрести в магазине совершенно другой (подходит для более опытных пользователей). В домашних условиях такого роутера хватит с головой, поэтому не стоит заморачиваться по этому поводу.

Что такое isp интерфейс. Смотреть фото Что такое isp интерфейс. Смотреть картинку Что такое isp интерфейс. Картинка про Что такое isp интерфейс. Фото Что такое isp интерфейс

Подключение и настройка ISP

Обычно, установка ISP осуществляется сотрудниками организации, которая в дальнейшем будет предоставлять вам интернет-услуги. Поэтому настройка и подключение не должны ложиться на ваши хрупкие плечи. Однако бывают случаи, когда компания предлагает такую «помощь» за отдельную плату (может даже большую). Поэтому, на всякий случай, ознакомьтесь с небольшой инструкцией, которая поможет узнать, как осуществляется установка ISP-подключения.

Что такое isp интерфейс. Смотреть фото Что такое isp интерфейс. Смотреть картинку Что такое isp интерфейс. Картинка про Что такое isp интерфейс. Фото Что такое isp интерфейс

Что такое isp интерфейс. Смотреть фото Что такое isp интерфейс. Смотреть картинку Что такое isp интерфейс. Картинка про Что такое isp интерфейс. Фото Что такое isp интерфейс

Что такое isp интерфейс. Смотреть фото Что такое isp интерфейс. Смотреть картинку Что такое isp интерфейс. Картинка про Что такое isp интерфейс. Фото Что такое isp интерфейс

Заключение

Сегодня вы узнали о том, что такое ISP-подключение и как его настроить. Как видите, это оказалось простым интернет-соединением, которое предоставляет вам интернет-провайдер. Приятного использования, друзья! Делимся в комментариях с другими пользователями информацией о том, услугами какого провайдера пользуетесь вы.

Источник

Электроника для всех

Блог о электронике

AVR. Учебный курс. Трактат о программаторах

Программа для микроконтроллера пишется на любом удобном языке программирования, компилируется в бинарный файл (или файл формата intel HEX) и заливается в микроконтроллер посредством программатора.

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

Что же представляет из себя это устройство?
В простейшем случае программатор это девайс который связывает микроконтроллер и компьютер, позволяя с компа залить файл прошивки в память контроллера. Также нужна прошивающая программа, которая по специальному протоколу загонит данные в микроконтроллер.

Программаторы бывают разные под разные семейства контроллеров существуют свои программаторы. Впрочем, бывают и универсальные. Более того, даже ту же простейшую AVR’ку можно прошить несколькими способами:

Внутрисхемное программирование (ISP)
Самый популярный способ прошивать современные контроллеры. Внутрисхемным данный метод называется потому, что микроконтроллер в этот момент находится в схеме целевого устройства — он может быть даже наглухо туда впаян. Для нужд программатора в этом случае выделяется несколько выводов контроллера (обычно 3..5 в зависимости от контроллера).

Что такое isp интерфейс. Смотреть фото Что такое isp интерфейс. Смотреть картинку Что такое isp интерфейс. Картинка про Что такое isp интерфейс. Фото Что такое isp интерфейс

К этим выводам подключается прошивающий шнур программатора и происходит заливка прошивки. После чего шнур отключается и контроллер начинает работу.
У AVR прошивка заливается по интерфейсу SPI и для работы программатора нужно четыре линии и питание (достаточно только земли, чтобы уравнять потенциалы земель программатора и устройства):

Сам же разъем внутрисхемного программирования представляет собой всего лишь несколько штырьков. Лишь бы на него было удобно надеть разъем. Конфигурация его может быть любой, как тебе удобней.
Однако все же есть один популярный стандарт:

Что такое isp интерфейс. Смотреть фото Что такое isp интерфейс. Смотреть картинку Что такое isp интерфейс. Картинка про Что такое isp интерфейс. Фото Что такое isp интерфейс

Для внутрисхемной прошивки контроллеров AVR существует не один десяток разнообразных программаторов. Отличаются они в первую очередь по скорости работы и типу подключения к компьютеру (COM/LPT/USB). А также бывают безмозглыми или со своим управляющим контроллером.

Безмозглые программаторы, как правило, дешевые, очень простые в изготовлении и наладке. Но при этом обычно работают исключительно через архаичные COM или LPT порты. Которые найти в современном компьютере целая проблема. А еще требуют прямого доступа к портам, что уже в Windows XP может быть проблемой. Плюс бывает зависимость от тактовой частоты процессора компьютера.

Так что твой 3ГГЦ-овый десятиядерный монстр может пролететь, как фанера над Парижем.

Идеальный компьютер для работы с такими программаторами это какой-нибудь PIII-800Mhz с Windows98…XP.
Вот очень краткая подборка проверенных лично безмозглых программаторов:

Что такое isp интерфейс. Смотреть фото Что такое isp интерфейс. Смотреть картинку Что такое isp интерфейс. Картинка про Что такое isp интерфейс. Фото Что такое isp интерфейс

Программаторы с управляющим контроллером лишены многих проблем безмозглых. Они без особых проблем работают через USB. А если собраны на COM порт, то без извращенских методик работы с данными — как честный COM порт. Так что адаптеры COM-USB работают на ура. И детали подобрать можно покрупней, чтобы легче было паять. Но у этих программаторов есть другая проблема — для того чтобы сделать такой программатор нужен другой программатор, чтобы прошить ему управляющий контроллер. Проблема курицы и яйца. Широко получили распространение такие программаторы как:

Внутрисхемное программирование, несмотря на все его удобства, имеет ряд ограничений.
Микроконтроллер должен быть запущен, иначе он не сможет ответить на сигнал программатора. Поэтому если неправильно выставить биты конфигурации (FUSE), например, переключить на внешний кварцевый резонатор, а сам кварц не поставить. То контроллер не сможет запуститься и прошить его внутрисхемно будет уже нельзя. По крайней мере до тех пор пока МК не будет запущен.
Также в битах конфигурации можно отключить режим внутрисхемной прошивки или преваратить вывод RESET в обычный порт ввода-вывода (это справедливо для малых МК, у которых RESET совмещен с портом). Такое действо тоже обрубает программирование по ISP.

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

Параллельное программирование во много раз быстрей последовательного (ISP), но требует подачи на RESET напряжения в 12 вольт. А также для параллельной зашивки требуется уже не 3 линии данных, а восемь + линии управления. Для программирования в этом режиме микроконтроллер вставляется в панельку программатора, а после прошивки переставляется в целевое устройство.

Для радиолюбительской практики он особо не нужен, т.к. ISP программатор решает 99% насущных задач, но тем не менее параллельный программатор может пригодиться. Например, если в результате ошибочных действий были неправильно выставлены FUSE биты и был отрублен режим ISP. Параллельному программатору на настройку FUSE плевать с высокой колокольни. Плюс некоторые старые модели микроконтроллеров могут прошиваться только высоковольтным программатором.
Из параллельных программаторов для AVR на ум приходит только:

А также есть универсальные вроде TurboProg 6, BeeProg, ChipProg++, Fiton которые могут прошивать огромное количество разных микроконтроллеров, но и стоят неслабо. Тысяч по 10-15. Нужны в основном только ремонтникам, т.к. когда не знаешь что тебе завтра притащат на ремонт надо быть готовым ко всему.

Прошивка через JTAG
Вообще JTAG это отладочный интерфейс. Он позволяет пошагово выполнять твою программу прям в кристалле. Но с его помощью можно и программу прошить, или FUSE биты вставить. К сожалению JTAG доступен далеко не во всех микроконтроллерах, только в старших моделях в 40ногих микроконтроллерах. Начиная с Atmega16.

Компания AVR продает фирменный комплект JTAG ICEII для работы с микроконтроллерами по JTAG, но стоит он (как и любой профессиональный инструмент) недешево. Около 10-15тыр. Также есть первая модель JTAG ICE. Ее можно легко изготовить самому, а еще она встроена в мою демоплату Pinboard.

Что такое isp интерфейс. Смотреть фото Что такое isp интерфейс. Смотреть картинку Что такое isp интерфейс. Картинка про Что такое isp интерфейс. Фото Что такое isp интерфейс

Прошивка через Bootloader
Многие микроконтроллеры AVR имеют режим самопрошивки. Т.е. в микроконтроллер изначально, любым указанным выше способом, зашивается спец программка — bootloader. Дальше для перешивки программатор не нужен. Достаточно выполнить сброс микроконтроллера и подать ему специальный сигнал. После чего он входит в режим программирования и через обычный последовательный интерфейс в него заливается прошивка. Подробней описано в статье посвященной бутлоадеру.
Достоинство этого метода еще и в том, что работая через бутлоадер очень сложно закосячить микроконтроллер настолько, что он не будет отвечать вообще. Т.к. настройки FUSE для бутлоадера недоступны.

Бутлоадер также прошит по умолчанию в главный контроллер демоплаты Pinboard чтобы облегчить и обезопасить первые шаги на пути освоения микроконтроллеров.

Pinboard II
Прошивка AVR с помощью демоплаты Pinboard II (для Pinboard 1.1 все похоже)

Спасибо. Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics. Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто. Сейчас идет заключение договора и подготовка к строительству!

А я встрял на три года, как минимум, ежемесячной пахоты над статьями :)))))))))))) Спасибо вам за такой мощный пинок.

89 thoughts on “AVR. Учебный курс. Трактат о программаторах”

А что это делает в учебном курсе? чего не на главной странице?
Здарова, Артем, вот я и зашел, чего то не мог зайти долго…

Я постепенно правлю и переписываю старые статьи, чтобы привести их в более стройный и завершенный вид.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *