Код крайне примитивен:


#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, H8, L:FF









 ,






URL записи