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

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


microcontrollers

Розбіжності

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

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

Both sides previous revision Попередня ревізія
microcontrollers [2015/11/17 20:16]
wombat Arduino
microcontrollers [2015/11/24 22:27] (поточний)
wombat Ссылки
Рядок 1: Рядок 1:
 +====== Программирование микроконтроллеров ======
 +
 +
 +===== Программатор =====
 +
 +==== AVR910 ====
 +
 +
 +[[http://​prottoss.com/​projects/​AVR910.usb.prog/​avr910_usb_programmer.htm| Программатор от PROTTOSS]]
 +
 +[[http://​avr.ru/​tools/​linux/​prottoss | Работа с программатором от Prottoss в Linux]]
 +
 +
 +
 +[[http://​electronix.ru/​forum/​index.php?​s=7a78d36a043e334fc8708f2e38b8e081&​showtopic=74181&​view=findpost&​p=732924 | Альтернативные прошивки для AVR910 by PROTTOSS, AVR-Doper, USBasp]]
 +
 +
 +==== 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.txt · В останнє змінено: 2015/11/24 22:27 by wombat