Оглавление:

Среда развития гетто: 5 шагов
Среда развития гетто: 5 шагов

Видео: Среда развития гетто: 5 шагов

Видео: Среда развития гетто: 5 шагов
Видео: Пять этапов превращения в гетто на примере Мурино 2024, Ноябрь
Anonim
Среда развития гетто
Среда развития гетто

Некоторое время назад я опубликовал быстрый и грязный "дешевый" метод для начала программирования микросхем Atmel серии AVR: Ghetto Programmer (версия 1.0). С тех пор я вампировал, переделывал и иным образом улучшал свою настройку. Подумал, что было бы неплохо задокументировать это. Цель заключалась в том, чтобы получить гибкую, компактную, портативную, пригодную для использования где угодно, среду прототипирования микроконтроллеров на основе AVR. На дешевом (иш). Итак, без лишних слов, вот Ghetto Development Environment (GDE) (версия 1.2).

Шаг 1: комплект

Комплект
Комплект

В базовый комплект входят: USB-программатор. Потому что вы хотите иметь возможность программировать микроконтроллеры со своего ноутбука где угодно. И потому, что USB - очень удобный источник + 5в. Программных кредлов. По одной для каждого типа фишек, с которыми вы играете. Для меня это означает один с 8 контактами (ATtiny13, 15), один с 20 контактами (ATtiny 2313) и один с 28 контактами (ATmega8). Мигалки. Когда что-то не так с вашим кодом, ничто так не проясняет ситуацию, как включение лампочек для диагностики. Плюс к этому программа светодиодного мигалки - это «Hello World» микроконтроллеров. Макетная плата. В конце концов, это комплект разработчика.

Шаг 2: USB-программатор

Программатор USB
Программатор USB
Программатор USB
Программатор USB

В Ghetto Programmer (v.1.0) я использовал программатор параллельного порта. Это здорово, потому что это просто, дешево и быстро. Но у моего ноутбука нет параллельного порта. Я немного поигрался с созданием программаторов последовательного порта, но, честно говоря, они такие же сложные, как версия USB, и даже последовательных портов становится мало. Действительно, у моего ноутбука действительно есть только USB. Итак, USB есть. Если оглянуться вокруг, то можно сказать, что программатор USBTiny довольно прост и работает с бесплатными инструментами GNU / AVR-GCC. Сделайте это сами или купите комплект? Способ DIY хорош, если вы уже можете запрограммировать ATTiny2313 (с параллельным программатором) и иметь кристалл 12 МГц. USBTiny Page излагает основы. Он заканчивает программный кабель параллельным портом, но я бы закончил его стандартным 6-контактным разъемом, если бы начинал заново. (Почему? Потому что это стандарт.) Вот его распиновка, а на изображении ниже показано расположение кабелей. PD3 - MISOPD5 - ResetPD6 - SCKPD7 - MOSII Если вы делаете свой собственный, пожалуйста, поучитесь на моем опыте и поместите его в красивую пластиковую коробку. Если вы этого не сделаете, он в конце концов выйдет из строя, когда кристалл 12 МГц сломается. Вот почему я сейчас использую … Быстрый и элегантный способ - это комплект Ladyada USBtinyISP. Это обойдется вам в 22 доллара, но вы получите красивую печатную плату, предварительно запрограммированный ATTiny2313 и чистую коробку с хорошими кабелями. Необработанные детали в любом случае стоят 15-16 долларов, и вам не нужно звонить в Digikey, а затем беспокоиться о программировании своего собственного 2313. На то, чтобы спаять все вместе, требуется 30 минут - 1 час. Разориться. Поверьте мне. (Никакой принадлежности, довольный клиент) И только что увидел эту ссылку: Учебное пособие по AVR от Ladyada, которое мне кажется довольно хорошим. (И обратите внимание, что дизайн Ladyada и оригинальный USBTiny используют разные коды идентификаторов продуктов USB - вам нужно будет найти строки идентификаторов и повторно скомпилировать avrGCC, если вы переключаетесь между ними. Я думаю, что инструкции на соответствующих веб-страницах.)

Если вы работаете в системе Ubuntu Linux и используете программатор USBTiny, вот команды, которые запустят всю цепочку инструментов: sudo apt-get install build-essential avr-libc binutils-avr gcc-avr avrdude (проверено на Hardy Heron) Если у вас есть архитектура AMD64, вам также могут понадобиться: byacc libusb-dev flex bison libc6-dev и затем для компиляции AVRdude вручную: (wget https://download.savannah.gnu.org/releases/avrdude/ avrdude-5.5.tar.gz tar xvzf avrdude-5.5.tar.gz cd avrdude-5.5 ## Патч, необходимый для AMD64: wget https://savannah.nongnu.org/patch/download.php?file_id=14754 patch -p1 <avrdude-5.5.usbtiny.64bit.patch./configure make && make install sudo avrdude -p attiny2313 -c usbtiny ## to test) Если вы видите что-то вроде «avrdude: устройство AVR инициализировано и готово принять инструкции», значит, вы ' повторно сделано. Ах да, и благодарим Вендела Оская за схему распиновки стандартного программатора.

Шаг 3: колыбель программирования

Колыбель программирования
Колыбель программирования
Колыбель программирования
Колыбель программирования
Колыбель программирования
Колыбель программирования

В Ghetto Programmer v.1.0 я использовал подставку для программирования с нестандартным штыревым входом и с гнездовыми штыревыми выводами, в которые можно было вставлять что-то. Нестандартные контакты - плохая идея, потому что вы не сможете использовать свою подставку с чужим программатором, и наоборот. Женские разъемы для контактов были забавными, потому что в них можно было напрямую подключать светодиоды, но когда я начинал делать что-то более сложное, я все равно в конце концов вставлял их в макетную плату. С новой подставкой я вырезал посредника. Меньше ручной проводки = лучше, но самым большим преимуществом этой конструкции подставки является то, что вы можете подключить подставку практически к любому месту, где вы можете подключить микросхему AVR. Это оказывается огромным. Вместо того, чтобы создавать схемы ISP в вашем роботе или что-то еще, вы просто вставляете эту подставку в гнездо IC. Затем вы можете программировать / перепрограммировать мозг вашего робота по схеме. Когда вы закончите разработку, подключите AVR напрямую, и вы перейдете к следующему. Сделать подставку достаточно просто - все, что вам нужно сделать, это подключить контакты 6-контактного разъема к нужным местам на фишки. На этот раз я использовал травленые печатные платы. Вы также можете подключить все это вручную на монтажной плате. Подставка ATTiny13 / 15 сделана с 8-контактным гнездом для закрепления проводов. Я люблю это. Микросхему легко вставить в красивые круглые отверстия, а длинные ножки обеспечивают дополнительный зазор на макетной плате. Я сделал следы на печатной плате от руки с помощью Sharpie. Подставка ATTiny2313 была создана с использованием технологии Eagle и лазерного переноса тонера на бумагу. Я не смог найти никаких 20-контактных разъемов для кабельной обмотки, поэтому мне пришлось прибегнуть к 20-контактному обычному разъему, припаянному к 2 10-контактным разъемам. В итоге получается люлька с более короткими ножками, но это работает. Схема и PDF-файл, который я использовал для схемы, приведены ниже. На обоих мне пришлось вручную протянуть дополнительную линию. Такова жизнь.

Шаг 4: мигалки

Мигалки
Мигалки
Мигалки
Мигалки

Сама простота. Я бы вообще не стал упоминать о них, если бы они не были такими чертовски удобными.

Припаяйте резистор (150–220 Ом - хорошее значение) прямо к отрицательному выводу некоторых светодиодов. Он загорится примерно от 2 до 6 В без перегорания. А резистор помогает запомнить, какая сторона отрицательная. Прикрепите их туда, где вы хотите знать, что есть электричество. Выясните, не перегорел ли этот транзистор. Превратите хороший аккумулятор в ночник-долгожитель. Используйте интерфейс с мигающим кодом, чтобы считывать значения с микропроцессора (медленно). Или сделайте 8 из них, и у вас будет однобайтовый дисплей (плюс активный ингредиент в глазах сайлонов). Сделайте их. Сделайте много. Сделайте их сейчас.

Шаг 5: Конец

Конец
Конец

Так что эта «система» отвечает почти всем моим потребностям в разработке. Он модульный, масштабируемый, компактный и портативный.

Например, я разработал процедуры для прокрутки сообщений на 4-значном дисплее (вводная страница) в самолете по дороге на свадьбу друга. Делает хороший ледокол с бортпроводниками. Этот потенциометр -> АЦП -> ШИМ-управляемый амперметр был макетирован, закодирован и отлажен полностью между моим диваном и обеденным столом, и очищается примерно за 2 минуты, когда приходят друзья. (Это часть установки будильника того, что будет счетчиком.) Иногда я использую настройку для работы, когда мне хочется поиграть. Добавьте небольшой пакетик с вкусностями (конденсаторы и резисторы, соединительный провод, транзисторы, пьезодинамик, фотодиоды, микрофоны, маленькие моторы и т. Д.), И вы так далеко опередите МакГайвера, что это даже не смешно.

Рекомендуемые: