Софт-Портал

скачать программу для прошивки ардуино img-1

скачать программу для прошивки ардуино

Рейтинг: 4.5/5.0 (1654 проголосовавших)

Категория: Программы

Описание

ArduinoBoardFioProgramming Начало работы с Arduino

Прошивка Arduino Fio

В микроконтроллер ATmega328P, входящий в состав Arduino Fio, уже прошит загрузчик. который позволяет загружать в устройство программы без использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500 (справка. C заголовочные файлы ).

Загрузить новый скетч в Arduino Fio можно двумя способами: с помощью специального кабеля USB-to-serial от FTDI (или аналогичного адаптера USB-to-serial), либо по беспроводному интерфейсу (с помощью двух радиопередатчиков XBee). Если вы впервые слышите об XBee-модулях, то перед тем, как использовать их для беспроводной прошивки, желательно в общих чертах ознакомится с принципом их работы. В этом вам поможет небольшая вводная статья .

Прошить память контроллера ATmega328P можно и поверх загрузчика, используя внешний программатор; подробнее об этом читайте в этой статье .

Прошивка через кабель

Как и все остальные модели Ардуино, Arduino Fio можно прошить из среды программирования Arduino IDE (скачать ). Если вы впервые столкнулись с Ардуино, см. страницу Начало работы. справку и примеры .

В Arduino Fio нет встроенного преобразователя интерфейсов USB-UART. Поэтому, если вы хотите прошить его через USB, вам потребуется специальный адаптер. Для этой цели подойдет любое из этих устройств:


кабель FTDI 3.3V, можно найти на сайте Adafruit.com


Адаптер Sparkfun's FTDI Basic Breakout.
Имеет такую же распиновку, как и кабель FTDI

Перед прошивкой Arduino Fio с помощью кабеля FTDI или адаптера с соответствующей распиновкой, необходимо подключить к ним планку из 6 контактов типа "папа", как показано на рисунках ниже:

Примечание. если на программирующем модуле (подключенном к ПК) в качестве адреса получателя (DL) вы зададите значение FFFF, то он перепрошьет все Arduino Fio в пределах сети PAN ID. Поэтому, чтобы прошить только один Fio, не затрагивая другие включенные устройства, необходимо на программирующем модуле присвоить параметру DL значение параметра MY того XBee-модуля, который подключен к целевому Arduino Fio.

Изменение настроек последовательного порта (только под Windows)

Если вы работаете под Windows, то вам нужно внести небольшие изменения в настройках драйвера. Для этого в Диспетчере устройств выберите USB COM порт. Затем щелкните по нему правой кнопкой и выберите Свойства. Перейдите на вкладку Параметры порта и щелкните по кнопке Дополнительно. . далее установите галочку напротив пункта " Set RTS On Close " и нажмите ОК для применения настроек .

Как сконфигурировать XBee-модуль

Сконфигурировать радиомодем можно с помощью терминала, специального приложения X-CTU под Windows или с помощью утилиты Fio XBee Config Tool. Это модифицированная версия программы Shigeru Kobayashi XBeeConfigTool .

Конфигурирование с помощью Arduino Fio XbeeConfigTool
  1. Выберите необходимый последовательный порт
  2. Выберите необходимый режим (Programmer - программирующий модуль; Fio - модуль, установленный на Ардуино)
  3. Выберите скорость передачи данных (57600 бит/с)
  4. Установите идентификатор сети PAN ID (например, 1234 - идентификатор должен быть одинаковым на обоих модулях)
  5. Задайте правильный адрес MY ID (например, 1 - для конечных устройств, 0 - для программирующего устройства)
  6. Нажмите кнопку Configure для внесения заданной конфигурации в XBee-модуль

Конфигурирование радиомодемов с помощью терминала

Если вы предпочитаете задавать настройки вручную, то их можно внести с помощью любого терминала, работающего с последовательным портом, например CoolTerm. Подключите адаптер к компьютеру и в своем любимом терминале откройте соответствующий последовательный порт на скорости 9600 бит/с.

В настройках терминала в качестве символа конца строки задайте только один символ возврата каретки (ASCI 0x0D). Затем откройте порт и введите:

XBee-модуль выдаст ответ:

Для программирующего радио-модема (который и впоследствии будет подключаться к компьютеру), введите:

Для радио-модема, который будет установлен на Arduino Fio, введите:

XBee-модуль выдаст ответ:

Вот и все! Теперь для беспроводной прошивки скетчей в Ардуино достаточно подключить к Arduino Fio соответствующий ему XBee-модуль, а в XBee-адаптере оставить программирующий XBee-модуль.

Отправка скетчей из среды Arduino IDE в память Fio

Загрузка программ в память Fio происходит точно так же, как и в других платах Arduino.

  1. Выберите в меню Tools/Board/Arduino Fio либо Tools/Board/Arduino Pro или Pro Mini (8MHz)
  2. Выберите необходимый последовательный порт в меню Tools/Serial Port
  3. Напишите программу и нажмите кнопку Upload

Во время прошивки на Arduino Fio должен загореться зеленый светодиод RSSI. Если же вы используете XBeeExplorer, то в процессе прошивки будут также мигать светодиоды TX и RX.

Если Arduino Fio не отвечает, то для устранения вероятной ошибки попробуйте следующее:

  1. Убедитесь, что на Fio подано питание. Если у вас нет аккумулятора - можно организовать питание от USB.
  2. Убедитесь, что переключатель стоит в позиции ON
  3. Проверьте конфигурации радио-модемов. Не пропустили ли вы какой-нибудь параметр? Это распространенная ошибка при использовании терминала в процессе конфигурации.

Если вы все же сомневаетесь, проверьте работоспособность Fio, попробовав прошить его через обычный последовательный интерфейс (как было описано выше).

Другие статьи

Скачать программу для прошивки ардуино

Arduino. Эмуляция в программе Proteus

В прошлой статье мы с вами рассмотрели, чем Ардуино отличается от МК AVR, какие бывают типы Ардуино, а также научились устанавливать драйвер последовательного порта CH340G на Ардуино. Как я уже говорил, в наших статьях мы будем рассматривать китайские варианты Ардуино, собранные на микросхеме CH340G.

На оригинальных Ардуино используются уже совсем другие микросхемы последовательного порта.

Что эта за микросхема CH340G, и для чего она установлена на плату? Если говорить упрощенно, это своего рода встроенный программатор для связи Ардуино с ПК. Плюсы такого решения в том, что нам достаточно просто подключить Ардуино к ПК стандартным USB кабелем и можно будет залить “скетч”. То есть прошить Ардуинку программой. Скетч - это просто код программы, который мы можем по USB кабелю залить в микросхему на нашей плате Ардуино. Тупо устанавливаем дрова, цепляем Ардуинку через USB-кабель, пишем программу, заливаем ее в один клик и ВСЕ! Красота!

Следующий вопрос который придет в голову всем кто имел дело с МК AVR: "А можно ли прошить Ардуино ISP программатором, типа USBASP (ниже на фото) или подобного?" Напомню, что с помощью этого программатора мы прошивали МК AVR.

Конечно можно! Для этого на Ардуинке есть специальные выводы для прошивки МК, на которой она собрана:

Распиновка выглядит вот так:

Ну а далее действуем как обычно: шьем наш МК. Как это сделать, можно прочитать в этой статье.

В одной из предыдущих статей, посвященных МК AVR, мы рассмотрели, как можно провести эмуляцию схемы на МК AVR в программе Proteus. но можно ли это провести с платой Ардуино? Да, можно. Для этого нужно просто установить в папку с библиотеками программы Proteus, библиотеку для работы с Ардуино. Прикрепляю этот файлик. Его нам надо вставить в вашу библиотеку Proteus.

Дело в том что в Ардуино мы можем залить в программе Proteus не скетч, а прошивку. Да-да, тот самый "HEX" файл. Делается это точно также, как мы и заливали в наш виртуальный МК AVR файл прошивки. Для того, чтобы не тратить лишнее время, мы не будем сами писать код скетча, а воспользуемся одним из готовых примеров.

Получение HEX-файл в Arduino-среде

Для того, чтобы получить HEX-файлик для прошивки нашего виртуального Ардуино, нам надо сделать следующие шаги.

Скачать саму Ардуино программку. Как я уже сказал, от свежести этой программы мало что меняется. Я использую версию 1.6.7. Скачать можно здесь.

Предположим, у нас уже есть код программки, которую будем лить в Ардуинку. Я же воспользуюсь готовым кодом. Для этого беру готовую программку Blink.

Вот она открылась в новом окошке:

Затем нам нужно откомпилировать наш код.

Конструктор Bootloader`а для Arduino

Микроконтроллеры Atmega обычно программируются через интерфейс ISP (SPI),но для этого необходимо,хоть и недорогой,но всетаки программатор. Данный способ для подключения использует 5 проводов (SCK, MISO, MOSI, reset, GND).

Но используя специальный загрузчик, зашитый в нижнюю область памяти микроконтроллера можно прошивать через последовательный порт используя выводы (RX, TX ,reset, GND) - Так прошиваются платы Arduino, на которых установлена микросхема переходник USB-RS232. Загрузчик активируется командой сброса на выводе reset микроконтроллера и ждет очень небольшой промежуток времени, если передача по последовтельному порту не началась, то управление переходит на нулевой адрес микроконтроллера, где находится основная программа.

В младших моделях м/к загрузчик занимает всего 512 байт. В Arduino Duemilanove он был 2048 байт.

Для работы загрузчика необходимо установить правильные фьюзы. а так же сам загрузчик должен откомпилирован на нужную частоту внутреннего задающего генератора или внешнего кварца- вся эта процедура отнимает времени. особенно для новичка.

Данный конструктор автоматически создает загрузчик для микроконтроллера. указывает фьюзы для прошивки, а так же генерирует пример блока для вставки в файл board.txt в среде Arduino IDE. Загрузчик можно создать для работы на конкретный кварц или внутренний задающий генератор(например на 8 мгц или 1 мгц). Занижение рабочей частоты ведет к понижению энергопотребления, к сожалению это уменьшает максимальную скорость загрузки.

В конструкторе используется загрузчик optiboot .

Настройка Arduino IDE.

Если Вы хотите добавить среду Arduino нестандартный микроконтроллер (Atmega16 или Atmega32 ) или использовать не стандартный кварц (не на 16 мгц). то необходимо в файл boards.txt ,который находится в папке arduino\hardware\arduino/ добавить дополнительную секцию, которую создаст конструктор.

Для конфигурации загрузчика необходимо для начала выбрать Ваш микроконтроллер и указать задающий генератор:

Внешний кварц - Используя внешний кварц,подключаемый к выводам XTAL м/к. Так же необходима установка конденсаторов на 22pF ,подключенных на GND.

Внутренний генератор - внутренний генератор м/к ,который,в зависимости от модели м/к может работать на 1,2,4,8 мгц.При этом освобождаются выводы XTAL м/к для своих целей.

Watchdog - Внутренний неточный генератор на 256 кгц для системы Watchdog.Доступен не на всех м/к.

Загрузчик может использовать программный последовательный порт,который может назначен на другие выводы м/к (В стадии тестирования). Обратите внимание, что при некоторых частотах программный UART включается принудительно.

На низких частотах. например с использованием Watchdog, возможны с проблемы с загрузкой прошивки, если у вас нет хорошего программатора( который умеет понижать частоту), то использовать низкую частоту не рекомендую. Понижение частоты возможно на программаторе USBasp с avrdude с ключем -B

После того, как Вы выберете необходимые опции и нажмете создать HEX конструктор выдаст команды для прошивки через утилиту avrdude ,а так же ссылки на статьи. как прошить загрузчик через плату Arduino или USBasp.

Кстати,данными командами можно и не пользоватся,если вы уже добавили блок в board.txt и скопировали загрузчик в папку \hardware\arduino\bootloaders\optiboot\ а затем выбрав в меню Сервис - записать загрузчик.

Внимание. Конструктор работает в тестовом режиме и необходима проверка фьюзов в калькуляторе. При обнаружении ошибок просьба связаться с администрацией сайта. воспользовшись форумом или темой на arduino.ru

Прошивка любого Hex-файла в Arduino - Подручные Записки

104-Прошивка любого Hex-файла в Arduino при помощи штатного загрузчика (Bootloader).

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

Нас, прежде всего, интересуют три платы Arduino:
Arduino Uno – как самый распространенный вариант
Arduino Nano – компактный вариант, удобный для применения в небольших конструкциях
Arduino Pro Mini – дешевый компактный вариант без встроенного USB-UART преобразователя (для работы с ним понадобится внешний USB-UART преобразователь), но удобный в случае применения сети устройств.

Во всех вышеописанных платах используется микроконтроллер ATmega328 (в более старых версиях ATmega168).

ATmega48_88_168_328.pdf — Даташит на ATmega48A-48PA-88A-88PA-168A-168PA-328-328P

Одной из главных причин выбора платы Arduino для проекта робота была возможность записывать прошивку устройства в МК не применяя программатора и каких либо дополнительных устройств. Все что нужно для прошивки микроконтроллера Arduino – это стандартный USB шнур (который входит в комплект Arduino).

Это значит, если Вы имеете Ардуину – Вы имеете любое устройство ZiChip!

Запись программы в МК через USB происходит через специальный загрузчик (Bootloader), который записан в МК при изготовлении платы. Вообще, загрузчик предназначен для работы со своим специальным программным обеспечением Arduino IDE, но в случае, когда необходимо прошить в Ардуину что-то постороннее (свой Hex-файл), есть программки позволяющее это реализовать.

XLoader.zip — Программа для записи Hex-файла в Arduino

Программка имеет аскетичный интерфейс и работать с ней предельно просто:
— подключаем Arduino в USB-порт (отдельного питания не нужно)
— выбираем Hex файл
— выбираем тип Вашего Arduino
— выбираем COM порт, который создался при подключении Arduino к USB (скорость порта автоматически подставится при выборе типа Arduino)
— жмем Upload

Это все! Ничего сложного. Прошивка через несколько секунд будет записана в МК и автоматически запустится. Один минус – программа никак не сообщает о том, что прошивка уже записана, но это можно увидеть по прекращению мерцания светодиодов RXD и TXD на Ардуине.

XLoader использует для записи прошивки AVR Dude и в качестве протокола программирования используется STK500. Но, похоже, в настройках AVR Dude, произведена коррекция, так как использование стандартного AVR Dude с такими же настройками не дает результатов.

При разработке ПО для микроконтроллера производится очень много прошивок и всегда нужно стремиться автоматизировать этот процесс после сборки проекта — это экономит время и нервы. В данном случае автоматизация усложнена, так как программа не показывает командную строку для AVR Dude (разве что подбирать опытным путем), но некоторое упрощение процесса возможно. Делается это следующим способом – после первой прошивки не закрываем окно программы (COM порт после прошивки программа отпускает) и после следующей сборки проекта просто жмем кнопку «Upload». Конечно, сборка должна осуществляться в один и тот же Hex-файл.

ArduinoUploader.zip — Программа для записи Hex-файла в Arduino

Как и предыдущая, программка имеет простой интерфейс.
Процесс прошивки тот же:
— подключаем Arduino в USB-порт (отдельного питания не нужно)
— выбираем Hex файл
— выбираем тип Вашего Arduino
— выбираем COM порт
— жмем Upload

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

При попытке прошить Arduino Nano программа отказывалась видеть МК. Причиной стала неправильная установка скорости COM порта. По умолчанию скорость стоит 19200, а нужно 57600. Скорость порта в программе не задается явно, она прописывается в строчке «AVR Dude Params» — поменяйте в ней значение 19200 на 57600.

Автоматизация ARP Uploader.
ARP Uploader как и XLoader работает через AVR Dude, но, в отличие от XLoader, показывает командную строку. Это дает возможность использовать AVR Dude напрямую в Make или Bat файле.

Дополнительные материалы.
Драйвера Arduino.

Считаю не лишним напомнить, что для связи Arduino с компьютером в последнем должны присутствовать драйвера. Оставляю здесь архив с драйверами для Arduino (включая и старые драйвера в Old_Arduino_Drivers.zip и драйвера для FTDI-чипа в папке «FTDI USB Drivers»

Arduino_drivers.zip — Драйвера для Arduino

Стали появляться недорогие китайские Ардуины с драйвером CH340G
Driver CH340G.zip — Драйвер для преобразователя USB-UART

Если Вы решите собрать свою плату Arduino (а сложного там ничего нет, фактически, это голый ATmega328 или ATmega168), Вам понадобится загрузчик Bootloader который должен содержать МК для работы со средой (или программками для заливки Hex-файлов). Конечно, Вам для записи Hex-файлов в чистый МК понадобится программатор и придется выставить фьюзы.

ATmegaBOOT_168_atmega328.hex — Bootloader для ATmega328
Для правильной работы нужно установить фьюзы следующим образом Low: FF High: DA Ext: 05

ATmegaBOOT_168_diecimila.hex — Bootloader для ATmega168
Фьюзы Low: FF High: DD Ext: 00

Cхемы вышеописанных Ардуин.
Arduino_Uno_Rev3-schematic.pdf — Схема Arduino Uno
ArduinoNano30Schematic.pdf — Схема Arduino Nano
Arduino-Pro-Mini-schematic.pdf — Схема Arduino Pro Mini

Фьюзы установленные по умолчанию в Arduino (только с ATmega328)
Arduino Uno
Low Fuse 0xFF
High Fuse 0xDE
Extended Fuse 0x05

Arduino Duemilanove or Nano w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

Arduino BT w/ ATmega328
Low Fuse 0xFF
High Fuse 0xD8
Extended Fuse 0x05

LilyPad Arduino w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

(Visited 25 343 times, 70 visits today)

QR Code - Take this post Mobile!

Use this unique QR (Quick Response) code with your smart device. The code will save the url of this webpage to the device for mobile sharing and storage.

Прошиваем Arduino программатором USBASP, Маленький блог скромного айтишника

Прошиваем Arduino программатором USBASP

При замене чипа на arduino или при изготовлении самодельной Arduino часто возникает необходимость в прошивке чистого чипа Atmega328/168. У многих возникают с этим проблемы, опишу процесс по пунктам.

Для прошивки нам понадобится сама Arduino с распаянным / установленным чипом и программатор USBASP.

Из софта нужны будут следующие файлы:

Загрузчик (Bootloader) ATmegaBOOT_168_atmega328 (скачать)

Программа для прошивки и установки правильных fuse битов. я использую AVRDUDE_PROG, это таже AVRDUDE только с GUI интерфейсом. (скачать)

Теперь подключаемся к Arduino по IСSP.

Замыкаем JP3 на USBASP, так как частота нового контроллера слишком мала.

Открываем AVRDUDE_PROG, и сразу переключаемся на вкладку FUSES выставляем все как на картинке

В примере на картинке FUSES установленны для ARDUINO NANO 328!

Вот список для остальных контроллеров:

Фьюзы установленные по умолчанию в Arduino (только с ATmega328)
Arduino Uno
Low Fuse 0xFF
High Fuse 0xDE
Extended Fuse 0x05

Arduino Duemilanove or Nano w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

Arduino BT w/ ATmega328
Low Fuse 0xFF
High Fuse 0xD8
Extended Fuse 0x05

LilyPad Arduino w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

После прошивки FUSES прошиваем загрузчик.

Навигация по записям