=
>
@ ( @ ,
F 5 % 3 5 3 " # + (
F * L ( 9 3 G 5=*4*<3 + ( 6 4 0 % & ) () , ' + ( * *
/
' ! 4>3 ) " # ?
' ' !
< ! = % !
' ! ' ' 4>3 4 @0A0
4 ' '
! !
' ' ' %
) ' " #
4>3
! ! '
4>3 4 @0A0
! ' ' '
! % !
' !
'
' ' ' %
) + 5 % 3
( +
) ) ( '
+ * @ (
" ) +
" * 5 - 3 )
+ ) + +
( ( *
( ) 3 ) +
) + ) +
O )
+
) + ( + O
5 - 3 ) ) (
( - ) + +
+ * ( )
! ? ' (
+ * 5 (
+ + ) ) +
> ? 3 (
+ + ) * +
) ( 3 > * / 13 + >
NL3 - (
' ! ( +
+ + :! ; +
* @ ( - 3 ! + +
! C , *
+ ) ( 3 F 5 % 3
" # + ( 3 ) ( 8 +
% + 3 )
! C NL /41
NL /013 9) 7 NL /<1
( ( ) ! ! +
' ! NL
)
$ +
+ + + 9L>
L + > 3 " # + ( * " = / 13
! : ; (
! 3
! NL*
! + ) +
-! C , *
= ! 8 EO - '
NL - +
! 8 E3 + ) 3 + ( 3
+ C NL ) NL #
+ 8 E /41 NL +
= /01* " = (
- + ! 8 E / 1* F 3
NL )
) 8 E3 )
NL ( !
8 E* $ ) + )
! 3 + >=
! 3
' + +
( ) + +
NL 5 (40 0 !
8 E*
- '
NL ! 8 E + )
+ + ! + & + 3 :
QQ;3 + 3 # + 3 NL /63 3 3 3
01* ; ( )
" = / 1*
'! !
:
"7
'
&'(!$
' !
+ ( + 8 E (
* " "+ 3 '
! )
apt-get* ,
= * / 3 <1 +
! + +
tgz* " ( ! 3
) *
"
+ ) ) 3 )
, ( 3
) + 3 ( ,
)&
+ 4* * * *+74 <*<* * *+74 QQ <*<* * *+74 + 6* * *+74 # + *6* * *+74
# * * * 7
N ! , 3
+ + ( 3 )
* = (
: ( ;&
+
3 3 ) (
3 &
$ ./configure \ --disable-nls \ --disable-werror \ --target=avr \
--program-prefix="avr-" \ --program-suffix="" $ make
# make install
3 :
QQ;3 ) ( 3 &
$ ./configure \
--enable-languages=c,c++ \ --disable-nls \
--disable-libssp \ --with-system-zlib \ --target=avr \
--program-prefix="avr-" \ --program-suffix="" \
--enable-version-specific-runtime-libs $ make
# make install
+
3 3 ) (
3 &
$ ./configure \ --disable-nls \ --target=avr \
--program-prefix="avr-" \ --program-suffix="" $ make
# make install
# +
) 3 ) (
3 &
$ ./configure \
--program-prefix="" \ --program-suffix="" \ --host=avr \
--enable-doc $ make
# make install
#
) 3 ) (
3 &
$ ./configure $ make
# make install
# ! , ( + ) 3 )
7+#!'!
! "
" = + ! ,
C , # :+ ( ;
) ( / 1* =
+ 3 , >=
" = ! , % / 1 +
/ 41 ( - G + *
G + 4 - " = ( )
*
G + * 5 % + +
" =
G + 4* " =
" = / 01*
F " = ) +
) 3 ) +
! /lib/udev/rules.d
99-usbasp-rules ( (
) + + &
# allow users to claim the device
ACTION=="add" SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0",
ATTRS{idProduct}=="05dc", MODE="0664", GROUP="plugdev"
( + + ) )
-+ #*
3
2
) # 3 )
- ( ) + #
+ NL* "
3 + (
) 3 ( 3 ( + ) 8%
+ < 8% ( 3 < 8% 3
+ ( *
5 (40 0 >= , (
) G + 0 G + <* 9
E
! NL + R / 1* =
) + &
#include <avr/io.h>
#define F_CPU 20000000 /* 20MHz */ #include <util/delay.h>
void MCUPort_Init();
int main() {
MCUPort_Init(); while(1)
{
PORTB = 0x55; _delay_ms(200); PORTB = 0xAA; _delay_ms(200); }
return 0; }
void MCUPort_Init() {
DDRB = 0xFF; PORTB = 0xFF; }
+ ) 8% ) + =
5 (40 0* , 3 = +
+ * - ( 3
! 3 ) )
= + 4
( < 8% + *
G + 0*
5 (40 0
G + <* >= , 5 (40 0
) # 8% * 3
) + + &
$ avr-gcc -g -Os -mmcu=attiny2313 -c UART.c
$ avr-gcc -g -mmcu=attiny2313 -o UART.out UART.o
$ avr-gcc -g -mmcu=attiny2313 -Wl,-Map,UART.map -o UART.out UART.o
$ avr-objcopy -j .text -O ihex UART.out UART.hex
9 5 (40 0 (
+ E S5 3
8 " % (40 0 ) + )
) &
$ avrdude -p t2313 -c usbasp -U lfuse:w:0xff:m
8 " % - * 5
8 " % + + )
5 (40 0 / 61* 8% *) E
3 ( 5 (40 0 " =
NL &
$ avrdude -p t2313 -c usbasp -e -U flash:w:UART.hex
G + * @
# NL
@ ( ) 8% ( + 3 <
8% ( . < 8% +
( :G + ;* ) 3 (
# ! ,
! ) 3
, ) +
( : ! 8 E;
+ + +
NL ( + ) *
-( ) + ) ) 3
+ ), #
( ) + ) (
-! ! , (
-( ) ( ! ) ! )
*
" +
+ + NL ( + ) 3
# ! , !
C , :C NL;3 ) )
) , F 5 % 3 " #
+ ( + +
L + > 3 " # + ( *
.
1
/ 1 > *3 ) &??,,,* * 3
0 + 4 *
/41 C NL , + 3
) &??, # * ! * 3
0 + 4 *
/01 NL , + 3 ) &??,,,* * ?
# 3 0 + 4 *
/<1 9) 7 NL 3
) &?? ) 7 * ? - ? 3
0 + 4 *
/ 1 ) 3 5*3 " = 3
) &??,,,*! ) * ? + 3
4 + 4 *
/61 G " = 3 ) &??,,,* * ? ! , ?
+ 3 4 + 4 *
/ 1 G " > > 3
) &??,,,* * ? ! , ? 3
4 + 4 *
/ 1 5) G " - + 3 ) &??,,,* * ? ! , ? +3
/ 1 NL 8 + 3 ) &?? # + * * 3
4 + 4 *
/ 1 ) , ) (, H # I + * 3
) &?? + * ? ?O
)T # U #T 0* 3 4
+ 4 *
/ 1 % - 3 ) &??,,,* * 3
4 + 4 *
/ 41 > = % 3
) &?? +* * 3 4
+ 4 *
/ 01 @ , 3 @*3 " = 3 = 3 ) &??) () , *+ * 3
< + 4 *
/ <1 @ , 3 @*3 + NL
# ! , 3 = 3
) &??) () , *+ * 3
+ 4 *
/ 1 3 4 3 NL + *6* " R $ 3 ) &?? # )* * ? - ? # + 3
4 + 4 *
/ 61 3 4 63 (40 0 ) 3 > *3
) &??,,,* * ? ( ? ? K
? 4 <0* !3
+ 4 *
2
! ;!<@ =* (
$'! ;!! < , (
-O = ) ( O
!(!+! < ) + + ) +
( # * " ) 3 + ) + (
# *
! ;!< , $* % ,
$'! ;!! <
* ) ( + " = O
4* = O
!(!+! <
* " = + + ) ,
! " = *
4* ( , + ?) E (
*