Forwarded from learning log
Добрался наконец до работы с atmega под линукс на C
https://www.tonymitchell.ca/posts/setup-avr-toolchain-on-linux/
Здесь, в принципе, все описано
gcc-avr - компилятор
avr-libc - имплементация стандартной библиотеки для AVR https://avr-libc.nongnu.org/user-manual/index.html)
avrdude - тулза для заливки в МК
Код "мигалки"
Команды для компиляции и заливки. Единственное я поменял программатор на usbasp
Здесь -DF_CPU=тактовая частота в Гц,
#tetris_c #avr
https://www.tonymitchell.ca/posts/setup-avr-toolchain-on-linux/
Здесь, в принципе, все описано
gcc-avr - компилятор
avr-libc - имплементация стандартной библиотеки для AVR https://avr-libc.nongnu.org/user-manual/index.html)
avrdude - тулза для заливки в МК
sudo apt install make gcc-avr avr-libc avrdude
Код "мигалки"
#include <avr/io.h>
#include <util/delay.h>
int main()
{
// Set built-in LED pin as output
DDRB |= (1 << DDB5);
while (1) {
PORTB |= (1 << PB5); // LED on
_delay_ms(500);
PORTB &= ~(1 << PB5); // LED off
_delay_ms(500);
}
return 0;
}
Команды для компиляции и заливки. Единственное я поменял программатор на usbasp
avr-gcc blink.c -o blink.elf -mmcu=atmega328p -DF_CPU=16000000UL -Os
avr-objcopy blink.elf -O ihex blink.hex
avrdude -c usbasp -p m328p -U flash:w:"blink.hex":a
Здесь -DF_CPU=тактовая частота в Гц,
#tetris_c #avr
Tony Mitchell
How to setup the AVR toolchain on Linux
Overview
❤🔥9👍1