AVR 開発システムを完全な GCC ツール チェーン (すべて最新の安定版) でセットアップするのにかなりの時間を費やしましたが、ほとんどの問題は 1 つを除いて解決しました。
この次のコードは、私が得られないエラーを私に与えます。AVR アセンブリ マニュアルには、sbi 命令は定数式として 0 ~ 7 を受け入れることができると記載されていますが、それでもエラーが発生します。なぜこれが喜ばれるのか、誰かが光を当てることができますか?
#ifndef __AVR_ATmega168__
#define __AVR_ATmega168__
#endif
#include <avr/io.h>
rjmp Init
Init:
ser r16
out DDRB, r16
out DDRD, r16
clr r16
out PORTB, r16
out PORTD, r16
Start:
sbi PORTB, 0
rjmp Start
問題の行は sbi PORTB, 0 です。
コンパイル/アセンブル:
avr-gcc ledon.S -mmcu=atmega168