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

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


microcontrollers

Розбіжності

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

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

Both sides previous revision Попередня ревізія
Наступна ревізія
Попередня ревізія
Остання ревізія Both sides next revision
microcontrollers [2015/06/21 00:08]
wombat USBasp
microcontrollers [2015/11/17 22:16]
wombat Arduino
Рядок 20: Рядок 20:
 http://​www.fischl.de/​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/​ | пример]])) устанавливают режим работы микроконтроллера,​ поэтому их можно записать при первом программировании,​ а затем изменять только основную программу.
  
microcontrollers.txt · В останнє змінено: 2015/11/25 00:27 by wombat