Код крайне примитивен:
#include <stdbool.h>
#include <avr/io.h>
int main(void)
{
DDRB |= 1 << 7;
while (true)
{
volatile long int i;
for (i = 0; i < 50000; i++)
;
PORTB |= 1 << 7;
for (i = 0; i < 50000; i++)
;
PORTB &= ~(1 << 7);
}
return 0;
}
Если собираю и заливаю из arduino ide, то все ок.
Если собираю avr-gcc и заливаю через usbasp, то не работает. Сам usbasp рабочий.
Собираю так:
avr-gcc -mmcu=atmega2560 -o test.elf test2.c
avr-objcopy -O binary test.elf test.bin
avrdude -c usbasp -p atmega2560 -U flash:w:test.bin
Я как-то в непонимании, что я делаю не так
UPD: заливка прошивки проходит нормально, но светодиод не мигает.
UPD2: fuses E:FD, H:D8, L:FF