Программирование attiny13 usbasp arduino ide

Программирование Attiny13 с помощью IDE Arduino Uno. Руководство

В этом кратком руководстве мы расскажем как можно быстро запрограммировать микроконтроллер Attiny13 с помощью Ардуино.

1. Перевод Ардуино в программатор AVRISP

(AVR — это семейство микроконтроллеров. ISP означает «внутрисистемное программирование»)

Откройте Arduino IDE -> Файл -> Примеры -> ArduinoISP -> ArduinoISP и загрузите в Arduino.

2. Установка платы для ATtiny13 в IDE Arduino

Для установки платы в Arduino IDE откройте Arduino IDE -> Файл -> Настройки, перейдите к URL-адресам Дополнительные ссылки для Менеджера плат и вставьте нижеприведенную ссылку:

Затем нажмите ОК

Далее откройте Arduino IDE -> Инструменты -> Платы -> Менеджер плат. Найдите MicroCore и нажмите «Установка».

3. Подключение Attiny13 к Ардуино

  • ATtiny13A, вывод 1 -> Arduino 10
  • ATtiny13A, вывод 5 -> Arduino 11
  • ATtiny13A, вывод 6 -> Arduino 12
  • ATtiny13A, вывод 7 -> Arduino 13
  • ATtiny13A вывод 8 -> 5в
  • ATtiny13A, вывод 4 -> Земля (GND)

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

4. Настройки Arduino IDE для Attiny13

Перейдите в Arduino IDE -> Инструменты и выберите:

  • Плата: ATtiny13
  • BOD: 4,3 В
  • Тактовая частота: внутренняя частота 1,2 МГц.
  • LTO компилятора: Включить
  • Порт: (порт Arduino)
  • Программатор: Arduino как ISP

5. Запись загрузчика

(Вам нужно сделать это только один раз для конкретной Attiny13)

Перейдите в Arduino IDE -> Инструменты -> Записать загрузчик

В консоли вы можете увидеть ошибку, но не обращайте на нее внимания.

Для примера и проверки загрузите стандартный скетч мигания светодиода:

Перейдите к: Arduino IDE -> Скетч -> Загрузить через программатор

Если вы все сделали правильно, то светодиод должен мигать с интервалом в 1 секунду.

Источник

Programming ATtiny MCUs with USBasp and Arduino IDE © GPL3+

Getting started with ATtiny microcontrollers

Microchip ATtiny
Choose the one you like: https://en.wikipedia.org/wiki/ATtiny_microcontroller_comparison_chart
× 1
USBasp programmer
This programmer is open source — a lot of producers manufacture their own versions that you can buy online.
× 1

Programming bare microcontrollers and using external programmers may be intimidating, but ATtinys are a great start. Here I want to provide a comprehensive beginner’s guide to get started with programming ATtinys, using the USBasp programmer and Arduino IDE.

  • Microcontrollers (MCUs) : small computers on integrated circuit (IC) chips that typically contain a microprocessor, memory, an oscillator, ADC converters, and IO peripherals.
  • Microprocessors : contain the arithmetic, logic, and control circuitry required to perform the functions of a computer’s central processing unit.
  • Development boards : printed circuit boards containing a microcontroller and supporting components, such as additional oscillators, a USB port, a power jack, buttons, and so on. Oftentimes development boards contain a built-in programmer — another microcontroller used for flashing the program onto the main microcontroller.

For example, an Arduino Uno development board contains an Atmel ATmega328 microcontroller (which inside has an 8-bit AVR RISC microprocessor), and also an ATmega16U2 microcontroller which is by default used as a programmer. A typical use for a development board is to test the microcontroller and prototype some functionalities — and once you’re done prototyping, you can design your own device with just the microcontroller and the needed components.

Atmel manufactures ATmegas and ATtinys. ATtinys, as the name suggests, have fewer features, fewer I/O pins, and less memory than ATmegas — but they are still used in plenty applications, both industrial and educational. And you can program them with the Arduino programming language through the Arduino IDE — although don’t expect all the libraries to work — some of them rely on hardware that ATtinys are simply not equipped with.

USBasp is an open source USB programmer for Atmel AVR controllers designed by Thomas Fischl with an ATmega8 microcontroller on board. This programmer is open source — a lot of producers manufacture their own versions that you can buy online.

On Linux and MacOS this step should not be necessary. On Windows, install Zadig and after plugging the USBasp programmer into a USB port of your computer, choose the install the libusbK (v3.1.0.0) driver (libusb-win32 did not work for me). If USBasp does not show up in the drop down menu, try selecting “List All Devices” from the Options menu.

Источник

Прошивка и программирование ATtiny13 при помощи Arduino UPD 17.03.2016

Всем привет. Уже давно появился способ программировать маленькие, дешёвые, экономичные к питанию и доступные микроконтроллеры ATtiny13A.

Вот собственно всё то что ниже, только в видео формате:

Сегодня расскажу, как я зашиваю Arduino’вские скетчи в ATtiny13A.

Итак, для начала нам нужно скачать вот этот архив (взято и совсем чуть-чуть доделано отсюда), положить файлы по адресу «\Documents\Arduino\hardware\». Должно получится что-то типа «C:\Users\Администратор\Documents\Arduino\hardware\attiny13\avr\cores\core13».

Перезапускаем Arduino IDE если она запущена на данный момент, это нужно для того, чтобы среда добавила новый микроконтроллер в список плат.

Обязательно проверяем, правильно ли у нас выбрано «расположение папки со скетчами» (посмотреть можно во вкладке «Файл/Настройки»):

Туда нам будет нужно распаковать архив с ядром для ATtiny13.

Теперь прошьём в дуинку ArduinoISP из примеров Arduino IDE:

Потом подключаем ATtiny13 к Arduino, как показано на картинке:

Потом нужно изменить тип программатора на Arduino as ISP, как показано на скриншоте:

Теперь мы можем выбрать, на какой частоте может работать микроконтроллер ATtiny13.
С завода ATtiny13 работает на частоте в 1.2 МГц, то есть микроконтроллер тактируется от внутренней RC- цепочки на частоте в 9.6 МГц и включён делитель на 8, поэтому я указал частоту в 1.2 МГц как дефолтную:

Как видим, доступные частоты — 1.2 МГц, 4.8 МГц и 9.6 МГц. Для изменения частоты нам нужно нажать на кнопку «Записать загрузчик», которая располагается в вкладке «Сервис».

Что же среда делает при нажатии на кнопку «Записать загрузчик»?

Arduino IDE в данном случае просто выставляет нужные фьюзы микроконтроллера.
К примеру, мне нужно, чтобы ATtiny13 работал на частоте в 4.8 мГц, я выбираю нужную мне частоту и только один раз жму кнопку «Записать загрузчик» — всё. Теперь микроконтроллер будет всегда работать на заданной частоте, если будет нужно изменить частоту опять — проделываем описанную выше процедуру.

Сразу скажу, что рост частоты приведёт за собой рост потребления контроллера, чем чаще переключаются транзисторы в микроконтроллере тем больше он потребляет.
Для каких-то там мигалок, я считаю, выполнение 1.2 миллиона инструкций будет с лихвой, да и на такой частоте микроконтроллер потребляет около 1 миллиампера, вот можете посмотреть скрин из даташита:

Минимальное рабочее напряжение, при котором ATtiny13 сохраняет работоспособность — 1.8 В, причем гарантировано будет работать, в данном случае, только на частоте в 1.2 МГц.

Итак, зашьем для начала почти родной начинающим ардуинщикам пример blink, ну как же без него?

Как вы уже заметили, скетч стал заметно легче, чем для Arduino Uno. Это связано с тем, что урезаны большинство Arduino’вских функций ну и они немного больше оптимизированные.

поддерживаются следующие функции:

pinMode()
digitalWrite()
digitalRead()
analogRead()
analogReference(INTERNAL) / (EXTERNAL)
shiftOut()
pulseIn()
analogWrite()
millis()
micros()
delay()
delayMicroseconds()

Итак, как мы только что увидели, нам доступно всего 1024 байта. Мало ли это? Ну, смотря для каких задач. Если, например, для каких-то там мигалок, пищалок или индикаторов, думаю, будет вполне достаточно, хотя можно даже что-то посерьёзней сварганить, особенно если познакомится с AVR-Cи.

Распиновка микроконтроллера из даташита:

К примеру, PB4 — это то же, что и pin 4, или просто 4.
Аналоговые входы — все, на которых пишет ADC*, например PB4 — это есть ADC2, то есть для того, чтобы считать напряжение, пишем analogRead(A2); или просто analogRead(2);, аппаратный ШИМ поддерживают только порты 0 и 1.

UPD0: добавил ссылку как экономить место на микроконтроллере и как моделировать Arduino в программе Proteus:

Источник

Программаторы, ISP, фьюзы

Загрузка прошивки

В этом уроке мы рассмотрим загрузку прошивки в ардуино через внешние “программаторы”. Давайте вспомним, о чем уже говорили в одном из первых уроков: загрузка прошивки в Arduino возможна двумя способами:

  • “Напрямую” во flash память микроконтроллера при помощи ISP (In System Programming) внутрисистемного программатора.
  • При помощи загрузчика (bootloader), который живёт в конце Flash памяти МК, принимает программный код по протоколу TTL (UART) и записывает его во Flash память.

Загрузчик (bootloader)

Загрузчик живёт в самом конце Flash памяти МК и позволяет записывать прошивку, отправляемую через UART. Загрузчик стартует при подаче питания на МК, ждёт некоторое время (вдруг кто-то начнёт слать код прошивки по UART), затем передаёт управление основной программе. И так происходит каждый каждый раз при старте МК.

  • Загрузчик позволяет прошивать МК через UART;
  • Загрузчик замедляет запуск МК, т.к. при каждом запуске ждёт некоторое время для потенциальной загрузки прошивки;
  • Загрузчик занимает место во Flash памяти. Стандартный старый для Arduino NANO занимает около 2 кБ, что весьма существенно!
  • Именно загрузчик мигает светодиодом на 13 пине при включении, как индикация работы.

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

Помимо записи прошивки во flash память, программатор позволяет:

  • Считывать содержимое Flash памяти (скачать прошивку на компьютер)
  • Полностью очищать чип от всех данных и настроек
  • Записывать и читать загрузчик
  • Считывать/записывать EEPROM память
  • Читать и настраивать фьюзы (fuses, fuse-bits) и лок биты.

Программатор – ваш единственный друг при работе с “голым” микроконтроллером, то есть для его низкоуровневой настройки и загрузки прошивки.

USB-TTL (UART)

Этот способ реализован прямо на платах Arduino при помощи USB-TTL (USB-UART) преобразователя, именно поэтому мы можем подключить плату к компьютеру и загрузить код. USB-TTL позволяет только загрузку данных во flash, остальные возможности (как у ISP программатора) ему недоступны. В то же время он ограничен только возможностями загрузчика, но в этом уроке мы рассматриваем только стандартные. Также USB-TTL мост позволяет микроконтроллеру общаться с компьютером по последовательному соединению (тот самый Serial и монитор com порта). Есть платы без бортового USB-TTL, например Arduino Pro Mini. Для работы с ними нужно купить внешний USB-TTL преобразователь. Также загрузка прошивки через UART возможна и в “голый” микроконтроллер при условии наличия там загрузчика, который запишет принятый код во flash. Про запись загрузчика мы поговорим ниже. UART “загружатор” подключается к пинам RX и TX Ардуино (или микроконтроллера), RX->TX и TX->RX, также обязательно подключается земля GND. Если у прошиваемой платы нет своего питания, то подключается и питание. Загрузчик отрабатывает при запуске МК, поэтому непосредственно перед загрузкой прошивки МК должен быть сброшен (перезагружен), и для этого на платах USB-UART есть вывод DTR (Data Terminal Ready), который подключается к пину RST Reset и собственно выполняет сброс перед перед загрузкой прошивки. На платах Pro Mini есть отдельный пин DTR.

USB-TTL Arduino
DTR DTR
RX TX
TX RX
GND GND
VCC/5V/3.3V VCC

Китайцы выпускают USB-TTL модули в широком ассортименте, но в целом они все одинаковые по своей сути. Ссылка на результат поиска на aliexpress, и ссылка на все USB-TTL в моём любимом магазине WAVGAT. Что использую я? В основном платку на CP2102. Перед заказом модуля обязательно убедитесь в том, что у него есть выход DTR, иначе этот модуль можно будет использовать только для “общения” с контроллером через COM порт. Для работы с таким преобразователем нужно установить драйвер для чипа, на базе которого собран модуль, это может быть CP2102, CH340/341, FT232, PL2303 и другие. Прошивка загружается как обычно: выбираем порт, на котором сидит преобразователь, версию загрузчика и жмём загрузить, всё! Важный момент: на некоторых китайских версиях плат Arduino Pro Mini не распаян пин DTR, т.е. он не идёт на RST и автоматический сброс перед загрузкой прошивки не выполняется. В этом случае сброс нужно производить вручную, кнопкой RST, непосредственно перед загрузкой прошивки… Загрузка прошивки посредством загрузчика (bootloader) возможна с любого UART устройства, даже через Bluetooth. Но об этом мы поговорим в отдельном уроке.

ISP программатор

USBasp

Дешёвые ISP программаторы также есть в ассортименте у китайцев, рекомендую брать USBasp как самый распространенный. Поискать на алиэкспресс, мне нравится версия в корпусе. USBasp имеет не очень удобный выход 10-пин на шлейфе, поэтому рекомендуется купить также переходник 10-пин на 6-пин, который позволяет сразу подключаться к ISP header’у, который есть на большинстве плат Arduino. Внимание! Очень часто встречается брак в виде непропая контактов, поэтому во избежание проблем рекомендуется пропаять переходник и отмыть флюс (зубная щётка + бензин калоша).

  • Подключить usbasp к компьютеру
  • Скачать и установить драйвера на usbasp (скачать с моего сайта, скачать с Яндекс диска, ещё есть тут и тут)
  • Открыть диспетчер устройств и убедиться, что программатор определился системой
  • Открыть Arduino IDE
  • Выбрать usbasp в Инструменты > Программатор

Решение проблем

Решение большинства проблем с загрузкой через программатор (независимо от того, что написано в логе ошибки):

  • Вытащить и обратно вставить usbasp в usb порт
  • Вставить в другой usb порт
  • Переустановить драйвер на usbasp
  • Проверить качество соединения USBasp с МК
  • Перепаять переходник и отмыть флюс

Для прошивки микроконтроллера, тактирующегося низкой частотой (менее 1 МГц внутренний клок):

  • USBasp: на плате есть перемычка JP3, которая включает режим низкой скорости загрузки. В новых версиях прошивки для USBasp скорость выбирается автоматически, но китайцы продают старую версию. Как прошить новую – ищите в интернете.

Основные ошибки в логе Arduino IDE

avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor=’www.fischl.de’ product=’USBasp’ Причина – компьютер не видит USB ASP

  • Проверить и сменить USB порт
  • Попытаться переустановить драйвер
  • Проверить пайку USB разъема на плате программатора
  • Проверить наличие и целостность элементов вблизи usb разъема программатора, кварцевый резонатор
  • Возможно программатор криво прошит – при возможности попытаться перепрошить
  • Возможно микроконтроллер на плате программатора – брак или же мертв, попытаться заменить и прошить

avrdude: error: program enable: target doesn’t answer. Причина – usbasp не видит подключаемый микроконтроллер

  • Проверить правильность и целостность соединения с МК
  • Попытаться снизить частоту прошивки, джампером или же указав более низкую скорость в среде программирования
  • Проверить пайку разъема 10 pin и переходника 10 pin – 6 pin
  • Возможно прошиваемый микроконтроллер попался с браком, или же мертв.

Arduino as ISP

Почти любая другая плата Arduino может стать ISP программатором, для этого нужно просто загрузить в неё скетч ArduinoISP:

  • Открыть скетч Файл > Примеры > 11. ArduinoISP > ArduinoISP
  • Всё! Ваша Arduino теперь стала ISP программатором
  • Подключаем к ней другую Arduino или голый чип по схеме ниже
  • Выбираем Arduino as ISP в Инструменты > Программатор
  • И можем писать загрузчики, фьюзы или загружать прошивку напрямую во Flash

ISP программатор подключается к четырем пинам микроконтроллера, не считая питания: один из пинов передает сброс, остальные – для передачи данных. Чтобы плата-программатор не сбрасывалась при загрузке, на неё нужно:

    Либо поставить поставить конденсатор ёмкостью

10 мкФ между RST и GND (рекомендуется)

  • Либо просто закоротить пины RST и 5V проводом
  • По использованию других плат Arduino в качестве программатора читай на официальном сайте.

    Решение проблем

    Для прошивки микроконтроллера, тактирующегося низкой частотой (менее 1 МГц внутренний клок):

    • Arduino ISP: нужно изменить частоту загрузки прошивки в скетче Arduino ISP и снова прошить его в ардуино-программатор (см. строку в скетче 45 и ниже);

    Работа в Arduino IDE

    Прошивка загрузчика

    Из Arduino IDE при помощи ISP программатора мы можем записать другой загрузчик (по факту загрузчик + фьюзы) и загрузить скетч, а также настроить/прошить фьюзы и лок-биты, но не очень удобным способом. Когда мы выбираем плату в Инструменты > Плата и загрузчик в Инструменты > Плата (загрузчик, bootloader), Arduino IDE автоматически делает “активным” нужный загрузчик. Нажимая Инструменты > Записать загрузчик мы прошиваем загрузчик, соответствующий выбранной плате и её настройкам. Также одновременно с загрузчиком прошиваются фьюзы и лок-биты, соответствующие выбранной плате в Arduino IDE. Как и где их поменять, смотрите чуть ниже. Рассмотрим на примере записи загрузчика для atmega328, стоящей на китайской плате Arduino NANO. На данный момент китайцы прошивают в МК старую версию загрузчика, которая называется old bootloader в меню платы. Оригинальные платы идут с более современным загрузчиком, поэтому при работе с китайскими платами нам приходится выбирать old bootloader для загрузки прошивки через бортовой usb порт. Подключим usbasp по схеме выше, выберем его как программатор в Инструменты > Программатор, выберем плату Arduino NANO, загрузчик для atmega328 (первый в списке). Нажмём записать загрузчик. Всё! Теперь плату можно шить через бортовой usb порт, выбирая первый загрузчик. Он кстати легче, быстрее “прошивает” и сама прошивка быстрее “запускается”.

    Как убрать загрузчик?

    В стандартном “ядре” Arduino не предусмотрен вариант “без загрузчика”. Для того, чтобы вручную убрать поддержку загрузчика, нужно уметь работать с boards.txt и фьюзами: нужно будет изменить фьюз BOOTRST и подправить максимальный размер скетча. Есть более простой вариант – найти и установить ядро, в котором реализован выбор загрузчика с вариантом “без загрузчика”, например для ATmega328 это miniCore и наше GyverCore. Нужно установить поддержку ядра по рассмотренной ранее инструкции, выбрать плату, указать вариант “без загрузчика” и нажать “Записать загрузчик”. В МК будут прошиты соответствующие фьюзы.

    Загрузка скетча

    В Arduino IDE можно зашить скетч через программатор, для этого надо нажать Скетч > Загрузить через программатор. Это очень удобно в том случае, когда МК используется без загрузчика, или просто голый МК.

    Фьюзы

    Конфигуратор платы в Arduino IDE устроен следующим образом: каждой плате в Инструменты > Плата соответствует свой набор настроек, включая фьюзы, которые прошиваются вместе с загрузчиком . Некоторые из них:

    • Загрузчик (путь к файлу)
    • Скорость загрузки (через загрузчик)
    • Объем доступной flash и sram памяти
    • Весь набор фьюзов и лок-биты

    Файл конфигурации называется boards.txt и найти его можно в папке с ядром Arduino: C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt. Документацию на boards.txt можно почитать здесь. При желании можно вывести нужные фьюзы через калькулятор (читайте выше), изменить их в boards.txt (главное не запутаться, для какой выбранной конфигурации платы делается изменение) и прошить в МК, нажав Инструменты > Записать загрузчик.

    • Фьюзы подписаны как low/high/extended fuses, можно вставлять полученное в калькуляторе значение.
    • Локбиты работают следующим образом: unlock_bits это локбиты, которые прошьются до записи загрузчика (при нажатии на кнопку Записать загрузчик). А вот после прошивки загрузчика будут автоматически прошиты lock_bits, которые и определят доступ к памяти контроллера во время его работы. Чтобы защитить прошивку от чтения – ставим lock_bits 0x3C.

    Такая работа с фьюзами максимально неудобна, но есть и другие варианты:

    • Ядро GyverCore для atmega328, в нем мы сделали кучу готовых настроек фьюзов прямо в настройках платы, читайте в уроке про GyverCore. Несколько загрузчиков, включая вариант без загрузчика, выбор источника тактирования и другие настройки в один клик мышкой.
    • Программа AVRdudeprog, про нее поговорим ниже

    Фьюзы (Pro)

    Фьюзы (фьюз-биты) являются низкоуровневыми настройками микроконтроллера, которые хранятся в специальном месте в памяти и могут быть изменены только при помощи ISP программатора. Это такие настройки как выбор источника тактирования, размер области памяти под загрузчик, настройка отсечки по напряжению и прочее. Фьюз-биты собраны по 8 штук в байты (т.н. байты конфигурации), как типичный регистр микроконтроллера AVR. Таких байтов может быть несколько, они называются low fuses, high fuses, extended fuses. Для конфигурации байтов рекомендуется использовать калькулятор фьюзов (например, вот такой), в котором просто ставятся галочки на нужных битах, и на выходе получается готовый байт в hex виде. Рассмотрим на примере ATmega328p:

    Важный момент: в AVR биты у нас инверсные, то есть 1 это выкл, 0 это вкл. Расставляя галочки в калькуляторе, мы формируем байт, галочка стоит – бит включен, но в результирующем байте включенные биты являются нулями. Об этом стоит задумываться при ручном составлении фьюз-байта, при использовании калькулятора можете об этом даже не вспоминать. Что позволяют настроить биты?

    • CKSEL0CKSEL3 – выбор источника и частоты тактирования (уточняй в даташите на свой МК, какая конфигурация за что отвечает)
    • SUT0SUT1 – задержка старта МК после перезагрузки
    • CKOUT – дублирование тактирования на один из пинов (см. в даташите на какой)
    • CKDIV8 – делит тактовую частоту на 8
    • BOOTRST – если включен, МК запускается с загрузчика
    • BOOTSZ0BOOTSZ1 – задаёт размер сектора загрузчика
    • EESAVE – защита EEPROM от стирания во время выполнения полной очистки чипа
    • WDTON – если включить, то Watchdog будет принудительно включен без возможности отключения
    • SPIEN – опасный бит , при его отключении пропадает возможность прошивки через ISP, и возможность выключить этот бит в том числе*
    • DWEN – вкл/выкл отладочный интерфейс DebugWire. На других моделях бывает и JTAG, и его бит – JTAGEN
    • RSTDISBL – опасный бит , при его включении можно использовать ногу RST как обычный цифровой пин, но пропадает возможность прошивки через ISP и выключить этот бит как следствие*
    • BODLEVEL0BODLEVEL3 – настройка контроля напряжения (МК сбросится при падении ниже установленного напряжения)

    * – прошивка возможна при помощи высоковольтного программатора

    Лок-биты (Pro)

    Лок-биты (lock-bits) позволяют управлять доступом к памяти микроконтроллера, что обычно используется для защиты устройства от копирования. Лок-биты собраны опять же в конфигурационный лок-байт, который содержит: BOOTLOCK01, BOOTLOCK02, BOOTLOCK11, BOOTLOCK12, LOCKBIT1, LOCKBIT2 (для ATmega328). Калькулятор лок-битов можно использовать этот. BOOTLOCK биты позволяют запретить самому МК запись (самопрограммирование) во flash память (область программы и область загрузчика)

    А вот локбиты LOCKBIT позволяют запретить запись и чтение flash и EEPROM памяти извне, при помощи программатора, т.е. полностью защитить прошивку от скачивания и копирования:

    Таким образом включив LOCKBIT1 (лок-байт будет 0x3E) мы запретим внешнюю запись во Flash и EEPROM память, т.е. при помощи ISP программатора, а включив LOCKBIT1 и LOCKBIT2 (лок-байт: 0x3C) полностью заблокируем заодно и чтение данных из памяти микроконтроллера. Повторюсь, всё описанное выше относится к ATmega328p, для других моделей МК читайте в соответствующих даташитах.

    Avrdudeprog

    Avrdudeprog – утилита от русского программиста, являющаяся удобной оболочкой для avrdudue. Скачать AVRDUDE_PROG можно с официального сайта (прямая ссылка на загрузку, на всякий случай зеркало на моём ЯД и FTP этого сайта). В рамках этого урока, программа умеет следующее:

    • Чтение/запись/очистка flash памяти
    • Чтение/запись/очистка eeprom памяти
    • Полная очистка чипа
    • Калькулятор фьюзов и локбитов (чтение/запись)

    Более подробный обзор на avrdudeprog можно посмотреть здесь . Давайте посмотрим на калькулятор фьюзов. Выбираем свой микроконтроллер и программатор (можно добавить другие модели микроконтроллеров и программаторов, читай тут). Переходим во вкладку Fuses, нажимаем прочитать. При успешном чтении увидим текущий набор настроек своего чипа. Можно их поменять и загрузить. Важно! Галку инверсные биты не трогаем! Лок-биты и отключение RST заблокирует микроконтроллер, не трогайте их, если такой цели нет! Можно загружать прошивку или загрузчик из .hex файла, указав путь к ней на первой вкладке в окне Flash. Очень удобная утилита для низкоуровневой работы с МК.

    Видео



    Источник

    Adblock
    detector