copy "\WinAVR\examples\demo\makefile" .
name.bin |
|
name.elf |
To be used with AVR Insight |
name.hex |
|
name.lst |
|
name.map |
|
name.o |
|
name.srec |
Motorola S-Records |
name_eeprom.bin |
|
name_eeprom.hex | |
name_eeprom.srec |
D:\WinAVR\bin>avr-gcc --help
Usage: avr-gcc [options] file...
Options:
-pass-exit-codes
Exit with highest error code from a phase
--help
Display this information
--target-help
Display target specific command line options
(Use '-v --help' to display command line options of
sub-processes)
-dumpspecs
Display all of the built in spec strings
-dumpversion
Display the version of the compiler
-dumpmachine
Display the compiler's target processor
-print-search-dirs Display
the directories in the compiler's search path
-print-libgcc-file-name Display the name of the compiler's
companion library
-print-file-name=<lib> Display the full path
to library <lib>
-print-prog-name=<prog> Display the full path to
compiler component <prog>
-print-multi-directory Display the root directory
for versions of libgcc
-print-multi-lib
Display the mapping between command line options and
multiple library search directories
-print-multi-os-directory Display the relative path to OS
libraries
-Wa,<options>
Pass comma-separated <options> on to the assembler
-Wp,<options>
Pass comma-separated <options> on to the preprocessor
-Wl,<options>
Pass comma-separated <options> on to the linker
-Xassembler
<arg> Pass <arg>
on to the assembler
-Xpreprocessor <arg> Pass
<arg> on to the preprocessor
-Xlinker
<arg>
Pass <arg> on to the linker
-save-temps
Do not delete intermediate files
-pipe
Use pipes rather than intermediate files
-time
Time the execution of each subprocess
-specs=<file>
Override built-in specs with the contents of <file>
-std=<standard>
Assume that the input sources are for <standard>
-B
<directory>
Add <directory> to the compiler's search paths
-b
<machine>
Run gcc for target <machine>, if installed
-V
<version>
Run gcc version number <version>, if installed
-v
Display the programs invoked by the compiler
-###
Like -v but options quoted and commands not executed
-E
Preprocess only; do not compile, assemble or link
-S
Compile only; do not assemble or link
-c
Compile and assemble, but do not link
-o
<file>
Place the output into <file>
-x
<language>
Specify the language of the following input files
Permissible languages include: c c++ assembler none
'none' means revert to the default behavior of
guessing the language based on the file's extension
Options starting with -g, -f, -m, -O, -W, or --param are automatically
passed on to the various sub-processes invoked by avr-gcc.
In order to pass
other options on to these processes the -W<letter> options
must be used.
For bug reporting instructions, please see:
<URL:http://gcc.gnu.org/bugs.html>.
D:\WinAVR\bin>
D:\HOME\CC\LQ\AVR>dir
...
2005-06-28
07:48p
12,116 liblq.a
...
D:\HOME\CC\LQ\AVR>avr-ar t liblq.a
vt.o
D:\HOME\CC\LQ\AVR>avr-ar tv liblq.a
rw-rw-rw- 0/0 11340 Jun 28 19:43 2005 vt.o
D:\HOME\CC\LQ\AVR>
avr-ar x liblq.a vt.o
D:\HOME\CC\LQ\AVR>avr-objdump -t liblq.a
In archive liblq.a:
vt.o: file format elf32-avr
SYMBOL TABLE:
00000000 l df *ABS* 00000000 vt.cpp
00000000 l d .text 00000000
00000000 l d .data 00000000
00000000 l d .bss 00000000
0000003f l *ABS* 00000000
__SREG__
0000003e l *ABS* 00000000
__SP_H__
0000003d l *ABS* 00000000
__SP_L__
00000000 l *ABS* 00000000
__tmp_reg__
00000001 l *ABS* 00000000
__zero_reg__
00000005 l O .data 00000004 attriblist
000000b2 l O .bss 00000002
sOperatingsys
00000030 l O .data 000000a2
_ZZ5vtkeyvE7pattern
000000d2 l O .data 00000002
FSYSTEMCASESENSITIVE
000000d4 l O .data 00000002
EPOCHTOTXT_BUFFER_SIZE
000000d6 l O .data 00000004
DAYCOUNT_1970_1_1
00000000 *UND*
00000000 __do_copy_data
00000000 *UND*
00000000 __do_clear_bss
00000000 g O .data 00000002 vt_xmax
00000002 g O .data 00000002 vt_ymax
00000000 g O .bss 00000001
vt_uses_screen
00000001 g O .bss 00000050 screen
00000051 g O .bss 00000050
act_screen
000000a1 g O .bss 00000002
vt_curr_line
000000a3 g O .bss 00000002
vt_curr_col
000000a5 g O .bss 00000002
act_vt_curr_line
000000a7 g O .bss 00000002
act_vt_curr_col
00000004 g O .data 00000001
vt_current_attribute
000000a9 g O .bss 00000002
vt_scrol_ymin
000000ab g O .bss 00000002
vt_scrol_ymax
00000000 g F .text 0000004a _Z8vtcolorshh
0000004a g F .text 00000040 _Z6vtattrh
0000008a g F .text 000000bc _Z5vtclsv
00000000 *UND*
00000000 strcmp
00000edc g F .text 0000013a _Z8xxvtopenv
00000146 g F .text 00000010 _Z8vtcurdisv
00000b4a g F .text 00000344 _Z9vtrefreshv
00000156 g F .text 00000050
_Z10vtsetscrolhh
000001a6 g F .text 0000023a _Z6vtochac
00000000 *UND*
00000000 __mulhi3
00000890 g F .text 0000020a _Z4vtnlv
00000000 *UND*
00000000 __iob
00000000 *UND*
00000000 fputc
000003e0 g F .text 00000068 _Z6vtputsPKc
00000448 g F .text 000000ae _Z8vtdeleolv
000004f6 g F .text 00000074 _Z8vtdelbolv
0000056a g F .text 00000178 _Z7vtcurdnv
000006e2 g F .text 000001ae _Z7vtcurupv
00000a9a g F .text 0000006e _Z8vtcurposjj
00000b08 g F .text 00000042
_Z9vtgcurposPhS_
000000ad g O .bss 00000005
vt_raw_sequence
00000000 *UND*
00000000 printf
00000e8e g F .text 0000002c _Z7vtclosev
00000eba g F .text 00000010
_Z14vtclose_forcedv
00000eca g F .text 00000012 _Z6vtopenv
00001016 g F .text 0000000e _Z7vtiskeyv
00001024 g F .text 0000000e
_Z11vtiskeyfastv
00001032 g F .text 00000034
_Z13getrawkeycodev
00001066 g F .text 000001d2 _Z5vtkeyv
00000000 *UND*
00000000 _Z7getmsecv
00000000 *UND*
00000000 _Z8diffmsecm
00000000 *UND*
00000000 _Z6iswordPKcS0_
00001238 g F .text 00000098
_Z10xxvtcurposii
D:\HOME\CC\LQ\AVR>
C:\HOME\CC\QQ\AVR\QQMAIN>simulavr -d at90s8515 -g
Simulating a at90s8515 device.
MESSAGE: file ../../simulavr-0.1.2.1/src/decoder.c: line 3872:
generating opcode
lookup_table
MESSAGE: file ../../simulavr-0.1.2.1/src/main.c: line 413: Simulating
clock freq
uency of 8000000 Hz
Waiting on port 1212 for gdb client to connect...
Connection opened by host 127.0.0.1, port 1358.
Waiting on port 1212 for gdb client to connect...
ha
= 1 ;
// = 00 00 80 3F
hb = 256 ; // =
00 00 80 3F
hr = hb - ha ; if ( hr.x
!= 255 )
goto Error ; // = 00 00 7F 43
hr = ha + hb ; if ( hr.x
!= 257 )
goto Error ; // = 00 80 80 43
hr = ha - hb ; if ( hr.x
!= -255 )
goto Error ; // = 00 00 7F C3
hr = hb + ha ; if ( hr.x
!= 257 )
goto Error ; // = 00 80 80 43
ca: 0f
2e
mov r0, r31
cc: f0
e0
ldi r31, 0x00 ; 0
ce: ef
2e
mov r14, r31
d0: f0
e0
ldi r31, 0x00 ; 0
d2: ff
2e
mov r15, r31
d4: f0
e8
ldi r31, 0x80 ; 128
d6: 0f
2f
mov r16, r31
d8: ff
e3
ldi r31, 0x3F ; 63
da: 1f
2f
mov r17, r31
dc: f0
2d
mov r31, r0
de: e0 92 80 00
sts 0x0080, r14
e2: f0 92 81 00
sts 0x0081, r15
e6: 00 93 82 00
sts 0x0082, r16
ea: 10 93 83 00
sts 0x0083, r17
ee: 0f
2e
mov r0, r31
f0: f0
e0
ldi r31, 0x00 ; 0
f2: af
2e
mov r10, r31
f4: f0
e0
ldi r31, 0x00 ; 0
f6: bf
2e
mov r11, r31
f8: f0
e8
ldi r31, 0x80 ; 128
fa: cf
2e
mov r12, r31
fc: f3
e4
ldi r31, 0x43 ; 67
fe: df
2e
mov r13, r31
100: f0
2d
mov r31, r0
102: a0 92 7c 00
sts 0x007C, r10
106: b0 92 7d 00
sts 0x007D, r11
10a: c0 92 7e 00
sts 0x007E, r12
10e: d0 92 7f 00
sts 0x007F, r13
112: b8
01
movw r22, r16
114: a7
01
movw r20, r14
116: 8c
e7
ldi r24, 0x7C ; 124
118: 90
e0
ldi r25, 0x00 ; 0
11a: 56
d4
rcall .+2220 ; 0x9c8
<_ZN3upfmiES_>
11c: dc
01
movw r26, r24
11e: cb
01
movw r24, r22
120: 80 93 70 00
sts 0x0070, r24
124: 90 93 71 00
sts 0x0071, r25
128: a0 93 72 00
sts 0x0072, r26
12c: b0 93 73 00
sts 0x0073, r27
ha
= 1 ;
// = 00 00 80 3F
hb = 256 ; // =
00 00 80 3F
hr = hb - ha ; if ( hr.x
!= 255 )
130: 20
e0
ldi r18, 0x00 ; 0 r21r20r19r18 : =
256
132: 30
e0
ldi r19, 0x00 ; 0
134: 4f
e7
ldi r20, 0x7F ; 127
136: 53
e4
ldi r21, 0x43 ; 67
138: bc
01
movw r22, r24
13a: cd
01
movw r24, r26
13c: 82
da
rcall .-2812 ;
0xfffff642 <__eeprom_end+0xff7ef642>
13e: 88
23
and r24, r24
140: 21
f6
brne .-120 ;
0xca <_Z4fun1v+0xc>
142: 80 91 7c 00
lds r24, 0x007C
146: 90 91 7d 00
lds r25, 0x007D
14a: a0 91 7e 00
lds r26, 0x007E
14e: b0 91 7f 00
lds r27, 0x007F
152: ac
01
movw r20, r24
154: bd
01
movw r22, r26
156: 80
e8
ldi r24, 0x80 ; 128
158: 90
e0
ldi r25, 0x00 ; 0
15a: 37
d4
rcall .+2158 ; 0x9ca
<_ZN3upfplES_>
15c: dc
01
movw r26, r24
15e: cb
01
movw r24, r22
160: 80 93 70 00
sts 0x0070, r24
164: 90 93 71 00
sts 0x0071, r25
168: a0 93 72 00
sts 0x0072, r26
16c: b0 93 73 00
sts 0x0073, r27
goto Error ; // = 00 00 7F 43
hr = ha + hb ; if ( hr.x
!= 257 )
170: 20
e0
ldi r18, 0x00 ; 0
172: 30
e8
ldi r19, 0x80 ; 128
174: 40
e8
ldi r20, 0x80 ; 128
176: 53
e4
ldi r21, 0x43 ; 67
178: bc
01
movw r22, r24
17a: cd
01
movw r24, r26
17c: 62
da
rcall .-2876 ;
0xfffff642 <__eeprom_end+0xff7ef642>
17e: 88
23
and r24, r24
180: 09
f0
breq .+2
; 0x184 <_Z4fun1v+0xc6>
182: a3
cf
rjmp .-186 ;
0xca <_Z4fun1v+0xc>
184: 80 91 7c 00
lds r24, 0x007C
188: 90 91 7d 00
lds r25, 0x007D
18c: a0 91 7e 00
lds r26, 0x007E
190: b0 91 7f 00
lds r27, 0x007F
194: ac
01
movw r20, r24
196: bd
01
movw r22, r26
198: 80
e8
ldi r24, 0x80 ; 128
19a: 90
e0
ldi r25, 0x00 ; 0
19c: 15
d4
rcall .+2090 ; 0x9c8
<_ZN3upfmiES_>
19e: dc
01
movw r26, r24 ; return Value to FLoating
Point Accu
1a0: cb
01
movw r24, r22
1a2: 80 93 70 00
sts 0x0070, r24
1a6: 90 93 71 00
sts 0x0071, r25
1aa: a0 93 72 00
sts 0x0072, r26
1ae: b0 93 73 00
sts 0x0073, r27
goto Error ; // = 00 80 80 43
hr = ha - hb ; if ( hr.x
!= -255 )
1b2: 20
e0
ldi r18, 0x00 ; 0
1b4: 30
e0
ldi r19, 0x00 ; 0
1b6: 4f
e7
ldi r20, 0x7F ; 127
1b8: 53
ec
ldi r21, 0xC3 ; 195
1ba: bc
01
movw r22, r24
1bc: cd 01
movw r24, r26
1be: 41
da
rcall .-2942 ;
0xfffff642 <__eeprom_end+0xff7ef642>
1c0: 88
23
and r24, r24
1c2: 09
f0
breq .+2
; 0x1c6 <_Z4fun1v+0x108>
1c4: 82
cf
rjmp .-252 ;
0xca <_Z4fun1v+0xc>
1c6: 80 91 80 00
lds r24, 0x0080
1ca: 90 91 81 00
lds r25, 0x0081
1ce: a0 91 82 00
lds r26, 0x0082
1d2: b0 91 83 00
lds r27, 0x0083 ; LOad
hb to floating point akku
1d6: ac
01
movw r20, r24
1d8: bd
01
movw r22, r26
1da: 8c
e7
ldi r24, 0x7C ; 124 Adresse of ha
1dc: 90
e0
ldi r25, 0x00 ; 0
1de: f5
d3
rcall .+2026 ; 0x9ca
<_ZN3upfplES_>
1e0: dc
01
movw r26, r24
1e2: cb
01
movw r24, r22
1e4: 80 93 70 00
sts 0x0070, r24
1e8: 90 93 71 00
sts 0x0071, r25
1ec: a0 93 72 00
sts 0x0072, r26
1f0: b0 93 73 00
sts 0x0073, r27
goto Error ; // = 00 00 7F C3
hr = hb + ha ; if ( hr.x
!= 257 )
1f4: 20
e0
ldi r18, 0x00 ; 0
1f6: 30
e8
ldi r19, 0x80 ; 128
1f8: 40
e8
ldi r20, 0x80 ; 128
1fa: 53
e4
ldi r21, 0x43 ; 67
1fc: bc
01
movw r22, r24
1fe: cd
01
movw r24, r26
200: 20
da
rcall .-3008 ;
0xfffff642 <__eeprom_end+0xff7ef642>
202: 88
23
and r24, r24
204: 09
f0
breq .+2
; 0x208 <_Z4fun1v+0x14a>
206: 61
cf
rjmp .-318 ;
0xca <_Z4fun1v+0xc>
208: e0 92 80 00
sts 0x0080, r14
20c: f0 92 81 00
sts 0x0081, r15
210: 00 93 82 00
sts 0x0082, r16
214: 10 93 83 00
sts 0x0083, r17
218: 80
e0
ldi r24, 0x00 ; 0
21a: 90
e0
ldi r25, 0x00 ; 0
21c: af
e7
ldi r26, 0x7F ; 127
21e: b3
e4
ldi r27, 0x43 ; 67
220: 80 93 7c 00
sts 0x007C, r24
224: 90 93 7d 00
sts 0x007D, r25
228: a0 93 7e 00
sts 0x007E, r26
22c: b0 93 7f 00
sts 0x007F, r27
230: b8
01
movw r22, r16
232: a7
01
movw r20, r14
234: 8c
e7
ldi r24, 0x7C ; 124
236: 90
e0
ldi r25, 0x00 ; 0
238: c7
d3
rcall .+1934 ; 0x9c8
<_ZN3upfmiES_>
23a: dc
01
movw r26, r24
23c: cb
01
movw r24, r22
23e: 80 93 70 00
sts 0x0070, r24
242: 90 93 71 00
sts 0x0071, r25
246: a0 93 72 00
sts 0x0072, r26
24a: b0 93 73 00
sts 0x0073, r27
goto Error ; // = 00 80 80 43
ha =
1 ; // = 00 00 80 3F
hb = 255 ; // =
00 00 80 3F
hr = hb - ha ; if ( hr.x
!= 254 )
24e: 20
e0
ldi r18, 0x00 ; 0
250: 30
e0
ldi r19, 0x00 ; 0
252: 4e
e7
ldi r20, 0x7E ; 126
254: 53
e4
ldi r21, 0x43 ; 67
256: bc
01
movw r22, r24
258: cd
01
movw r24, r26
25a: f3
d9
rcall .-3098 ;
0xfffff642 <__eeprom_end+0xff7ef642>
25c: 88
23
and r24, r24
25e: 09
f0
breq .+2
; 0x262 <__stack+0x3>
260: 34
cf
rjmp .-408 ;
0xca <_Z4fun1v+0xc>
262: 80 91 7c 00
lds r24, 0x007C
266: 90 91 7d 00
lds r25, 0x007D
26a: a0 91 7e 00
lds r26, 0x007E
26e: b0 91 7f 00
lds r27, 0x007F
272: ac
01
movw r20, r24
274: bd
01
movw r22, r26
276: 80
e8
ldi r24, 0x80 ; 128
278: 90
e0
ldi r25, 0x00 ; 0
27a: a7
d3
rcall .+1870 ; 0x9ca
<_ZN3upfplES_>
27c: dc
01
movw r26, r24
27e: cb
01
movw r24, r22
280: 80 93 70 00
sts 0x0070, r24
284: 90 93 71 00
sts 0x0071, r25
288: a0 93 72 00
sts 0x0072, r26
28c: b0 93 73 00
sts 0x0073, r27
goto Error ; // = 00 00 7E 43
hr = ha + hb ; if ( hr.x
!= 256 )
290: a6
01
movw r20, r12
292: 95
01
movw r18, r10
294: bc
01
movw r22, r24
296: cd
01
movw r24, r26
298: d4
d9
rcall .-3160 ;
0xfffff642 <__eeprom_end+0xff7ef642>
29a: 88
23
and r24, r24
29c: 09
f0
breq .+2
; 0x2a0 <__stack+0x41>
29e: 15
cf
rjmp .-470 ;
0xca <_Z4fun1v+0xc>
2a0: 80 91 7c 00
lds r24, 0x007C
2a4: 90 91 7d 00
lds r25, 0x007D
2a8: a0 91 7e 00
lds r26, 0x007E
2ac: b0 91 7f 00
lds r27, 0x007F
2b0: ac
01
movw r20, r24
2b2: bd
01
movw r22, r26
2b4: 80
e8
ldi r24, 0x80 ; 128
2b6: 90
e0
ldi r25, 0x00 ; 0
2b8: 87
d3
rcall .+1806 ; 0x9c8
<_ZN3upfmiES_>
2ba: dc
01
movw r26, r24
2bc: cb
01
movw r24, r22
2be: 80 93 70 00
sts 0x0070, r24
2c2: 90 93 71 00
sts 0x0071, r25
2c6: a0 93 72 00
sts 0x0072, r26
2ca: b0 93 73 00
sts 0x0073, r27
goto Error ; // = 00 00 80 43
hr = ha - hb ; if ( hr.x
!= -254 )
2ce: 20
e0
ldi r18, 0x00 ; 0
2d0: 30
e0
ldi r19, 0x00 ; 0
2d2: 4e
e7
ldi r20, 0x7E ; 126
2d4: 53
ec
ldi r21, 0xC3 ; 195
2d6: bc
01
movw r22, r24
2d8: cd
01
movw r24, r26
2da: b3
d9
rcall .-3226 ;
0xfffff642 <__eeprom_end+0xff7ef642>
2dc: 88
23
and r24, r24
2de: 09
f0
breq .+2
; 0x2e2 <__stack+0x83>
2e0: f4
ce
rjmp .-536 ;
0xca <_Z4fun1v+0xc>
2e2: 80 91 80 00
lds r24, 0x0080
2e6: 90 91 81 00
lds r25, 0x0081
2ea: a0 91 82 00
lds r26, 0x0082
2ee: b0 91 83 00
lds r27, 0x0083
2f2: ac
01
movw r20, r24
2f4: bd
01
movw r22, r26
2f6: 8c
e7
ldi r24, 0x7C ; 124
2f8: 90
e0
ldi r25, 0x00 ; 0
2fa: 67
d3
rcall .+1742 ; 0x9ca
<_ZN3upfplES_>
2fc: dc
01
movw r26, r24
2fe: cb
01
movw r24, r22
300: 80 93 70 00
sts 0x0070, r24
304: 90 93 71 00
sts 0x0071, r25
308: a0 93 72 00
sts 0x0072, r26
30c: b0 93 73 00
sts 0x0073, r27
goto Error ; // = 00 00 7E C3
hr = hb + ha ; if ( hr.x
!= 256 )
310: a6
01
movw r20, r12
312: 95
01
movw r18, r10
314: bc
01
movw r22, r24
316: cd
01
movw r24, r26
318: 94
d9
rcall .-3288 ;
0xfffff642 <__eeprom_end+0xff7ef642>
31a: 88
23
and r24, r24
31c: 09
f0
breq .+2
; 0x320 <__stack+0xc1>
31e: d5
ce
rjmp .-598 ;
0xca <_Z4fun1v+0xc>
320: e0 92 80 00
sts 0x0080, r14
324: f0 92 81 00
sts 0x0081, r15
328: 00 93 82 00
sts 0x0082, r16
32c: 10 93 83 00
sts 0x0083, r17
330: 0f
2e
mov r0, r31
332: f0
e0
ldi r31, 0x00 ; 0
334: af
2e
mov r10, r31
336: ff
ef
ldi r31, 0xFF ; 255
338: bf
2e
mov r11, r31
33a: ff
e7
ldi r31, 0x7F ; 127
33c: cf
2e
mov r12, r31
33e: f7
e4
ldi r31, 0x47 ; 71
340: df
2e
mov r13, r31
342: f0
2d
mov r31, r0
344: a0 92 7c 00
sts 0x007C, r10
348: b0 92 7d 00
sts 0x007D, r11
34c: c0 92 7e 00
sts 0x007E, r12
350: d0 92 7f 00
sts 0x007F, r13
354: b8
01
movw r22, r16
356: a7
01
movw r20, r14
358: 8c
e7
ldi r24, 0x7C ; 124
35a: 90
e0
ldi r25, 0x00 ; 0
35c: 35
d3
rcall .+1642 ; 0x9c8
<_ZN3upfmiES_>
35e: dc
01
movw r26, r24
360: cb
01
movw r24, r22
362: 80 93 70 00
sts 0x0070, r24
366: 90 93 71 00
sts 0x0071, r25
36a: a0 93 72 00
sts 0x0072, r26
36e: b0 93 73 00
sts 0x0073, r27
goto Error ; // = 00 00 80 43