Користувальницькі налаштування

Налаштування сайту


microcontrollers

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
microcontrollers [2015/05/17 15:47] – створено wombatmicrocontrollers [2015/11/24 22:27] (поточний) – Ссылки wombat
Рядок 16: Рядок 16:
  
  
 +==== USBasp ====
 +
 +http://www.fischl.de/usbasp/
 +
 +==== PonyProg ====
 +
 +[[ponyprog| PonyProg]]
 +
 +
 +==== Arduino ====
 +
 +[[arduino|Arduino]] -- это очень популярная платформа для разработки устройств на базе микроконтроллеров AVR (в разных моделях встречаются микроконтроллеры ATMega328P, ATmega32U4, ATtiny85 и другие).
 +
 +
 +
 +===== Программное обеспечение =====
 +
 +Типичный набор инструментов для разработки программ на языке C для микроконтроллеров семейства AVR включает следующее:
 +
 +  * Компилятор avr-gcc
 +  * Библиотеку C для AVR -- avr-libc
 +  * Программатор avrdude
 +
 +В операционной системе Debian GNU/Linux всё это есть в официальных репозиториях, поэтому установка стандартна:
 +
 +  sudo apt-get install gcc-avr avr-libc avrdude
 +
 +===== Последовательность действий =====
 +
 +Для того, чтобы загрузить собственную программу в микроконтроллер, необходимо:
 +
 +**1.** [[avr-examples|Написать программу]] на языке C
 +
 +**2.** Скомпилировать её командой
 +
 +  avr-gcc -g -Os -mmcu=atmega16 program.c -o program.bin
 +
 +Здесь в параметре ''-mmcu'' указывается модель микроконтроллера. Список допустимых значений этого параметра можно узнать, выполнив ''avr-gcc --target-help''
 +
 +**3.** Сконвертировать в HEX-файл, подходящий для программатора:
 +
 +  avr-objcopy -j .text -j .data -O ihex program.bin programk.hex
 +
 +**4.** Записать в микроконтроллер:
 +
 +  avrdude -c avr910 -P /dev/ttyACM0 -p m16 -U flash:w:program.hex:i -U lfuse:w:0xee:m -U hfuse:w:0xd9:m
 +
 +Здесь параметры обозначают следующее:
 +
 +''-c avr910'' -- модель программатора
 +
 +''-P /dev/ttyACM0'' -- последовательный порт, через который подключён программатор
 +
 +''-p m16'' -- модель микроконтроллера ATMega16
 +
 +Эта команда записывает в микроконтроллер саму программу в HEX-формате (''program.hex'') и т.н. FUSE-биты, состоящие из младшего байта (''lfuse'') и старшего байта (''hfuse''). FUSE-биты((Существуют удобные калькуляторы FUSE-битов для разных микроконтроллеров -- [[http://www.engbedded.com/fusecalc/ | пример]])) устанавливают режим работы микроконтроллера, поэтому их можно записать при первом программировании, а затем изменять только основную программу.
 +
 +====== Ссылки ======
 +
 +[[https://learn.adafruit.com/usbtinyisp/avrdude | Using the USBtinyISP programmer with AVRDUDE]]
 +
 +[[http://ladyada.net/learn/avr/programmers.html | AVR Tutorial: Choosing a programmer]]
 +
 +[[http://ladyada.net/learn/avr/avrdude.html | AVR Tutorial: Starting out with avrdude]]
 +
 +[[http://www.evilmadscientist.com/2007/using-avr-microcontrollers-minimalist-target-boards/ | Using AVR microcontrollers: Minimalist target boards]]
  
  
microcontrollers.1431877622.txt.bz2 · Востаннє змінено: повз wombat