Линковка завершается ошибкой. Проект для AVR - Atmega AVR микроконтроллер

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Может не совсем по адресу, но к "начинающему" ближе чем к AVR и Linux. Проблема в следующем: пытаюсь скомпилировать небольшую, пробную программку в Linux для AVR (attiny13). Файл

step2.S

:
#include <avr/io.h>
 
sbi DDRB,4
sbi PORTB,2
sbic PINB,2
sbi PORTB,4
sbis PINB,2
cbi PORTB,4
казалось бы фигня, но на этапе линковки возникает ошибка:

$ avr-ld -m avr25 -o step2.elf step2.o

step2.o:step2.S:3: undefined reference to `DDRB' step2.o:step2.S:4: undefined reference to `PORTB' step2.o:step2.S:5: undefined reference to `PINB' step2.o:step2.S:6: undefined reference to `PORTB' step2.o:step2.S:7: undefined reference to `PINB' step2.o:step2.S:8: undefined reference to `PORTB' Может кто чего подскажет как побороть эту хрень. Спасибо.

Решение задачи: «Линковка завершается ошибкой. Проект для AVR»

textual
Листинг программы
Compiling C: main.c
avr-gcc -c -mmcu=attiny2313 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst  -std=gnu99 -MMD -MP -MF .dep/main.o.d main.c -o main.o 
main.c:1: warning: return type of 'main' is not 'int'

Linking: main.elf
avr-gcc -mmcu=attiny2313 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.o  -std=gnu99 -MMD -MP -MF .dep/main.elf.d main.o --output main.elf -Wl,-Map=main.map,--cref     -lm

Creating load file for Flash: main.hex
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock main.elf main.hex

Creating load file for EEPROM: main.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
	--change-section-lma .eeprom=0 --no-change-warnings -O ihex main.elf main.eep || exit 0

Creating Extended Listing: main.lss
avr-objdump -h -S -z main.elf > main.lss

Creating Symbol Table: main.sym
avr-nm -n main.elf > main.sym

Оцени полезность:

5   голосов , оценка 3.6 из 5