daily_automated

This commit is contained in:
paolo.iocco
2023-03-13 09:01:12 +00:00
parent f29dcc4188
commit ab2532ebf2
4626 changed files with 369211 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
main.o: main.c main.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\io.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\sfr_defs.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\inttypes.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\lib\gcc\avr\4.8.1\include\stdint.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\stdint.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\iom48.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\iomx8.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\portpins.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\common.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\version.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\fuse.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\lock.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay_basic.h \
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\math.h
main.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\io.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\sfr_defs.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\inttypes.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\lib\gcc\avr\4.8.1\include\stdint.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\stdint.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\iom48.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\iomx8.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\portpins.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\common.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\version.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\fuse.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\avr\lock.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay_basic.h:
e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\math.h:

View File

@@ -0,0 +1,45 @@
/* ******************************************************** *
*
* Simple Template for ATMEL Microcontroller *
* -------------------------------------------------------- *
* Created on: 25.07.2016
* Author: Paolo Iocco
* ******************************************************** */
/* ******************************************************** *
ATtiny 88 / Mega 168 / Mega 328 Pin map
+-\/-+
/Reset PC6 1|o |28 PC5 ADC5
RXD PD0 2| |27 PC4 ADC4
TXD PD1 3| |26 PC3 ADC3
PD2 4| |25 PC2 ADC2
OC2B PD3 5| |24 PC1 ADC1
PD4 6| |23 PC0 ADC0
VCC 7| |22 GND
GND 8| |21 AREF
OSC1 PB6 9| |20 VCC
OSC2 PB7 10| |19 PB5 SCK
OC0B PD5 11| |18 PB4 MISO
AIN0 OC0A PD6 12| |17 PB3 OC2A MOSI
AIN1 PD7 13| |16 PB2 OC1B
PB0 14| |15 PB1 OC1A
+----+
* ******************************************************** */
#include "main.h"
#include <avr/io.h>
#include <util/delay.h>
int main (void)
{
unsigned char zwischenspeicher;
DDRB = 0b00000100;
while(1)
{
zwischenspeicher = PORTB;
zwischenspeicher = zwischenspeicher ^ 0b00000100;
PORTB = zwischenspeicher;
_delay_ms(500);
}
return 0;
}

View File

@@ -0,0 +1 @@
:00000001FF

Binary file not shown.

View File

@@ -0,0 +1,18 @@
/* ******************************************************** *
* *
* Simple Template for ATMEL Microcontroller *
* -------------------------------------------------------- *
* Created on: 25.07.2016 *
* Author: Paolo Iocco *
* ******************************************************** */
#ifndef MAIN_H_
#define MAIN_H_
#include <avr/io.h>
#ifndef F_CPU
#define F_CPU 1000000L
#endif
#endif /* MAIN_H_ */

View File

@@ -0,0 +1,8 @@
:1000000019C020C01FC01EC01DC01CC01BC01AC00C
:1000100019C018C017C016C015C014C013C012C034
:1000200011C010C00FC00EC00DC00CC00BC00AC064
:1000300009C008C011241FBECFEFD2E0DEBFCDBF84
:1000400002D011C0DDCF84E084B994E085B1892766
:1000500085B92FE936E881E0215030408040E1F752
:0A00600000C00000F3CFF894FFCFBA
:00000001FF

View File

@@ -0,0 +1,118 @@
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000000 00800100 0000006a 000000de 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 0000006a 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .comment 00000011 00000000 00000000 000000de 2**0
CONTENTS, READONLY
3 .debug_aranges 00000020 00000000 00000000 000000ef 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_info 00000119 00000000 00000000 0000010f 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_abbrev 000000d1 00000000 00000000 00000228 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_line 000000d9 00000000 00000000 000002f9 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_frame 00000024 00000000 00000000 000003d4 2**2
CONTENTS, READONLY, DEBUGGING
8 .debug_str 00000132 00000000 00000000 000003f8 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_loc 0000001f 00000000 00000000 0000052a 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_ranges 00000010 00000000 00000000 00000549 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 19 c0 rjmp .+50 ; 0x34 <__ctors_end>
2: 20 c0 rjmp .+64 ; 0x44 <__bad_interrupt>
4: 1f c0 rjmp .+62 ; 0x44 <__bad_interrupt>
6: 1e c0 rjmp .+60 ; 0x44 <__bad_interrupt>
8: 1d c0 rjmp .+58 ; 0x44 <__bad_interrupt>
a: 1c c0 rjmp .+56 ; 0x44 <__bad_interrupt>
c: 1b c0 rjmp .+54 ; 0x44 <__bad_interrupt>
e: 1a c0 rjmp .+52 ; 0x44 <__bad_interrupt>
10: 19 c0 rjmp .+50 ; 0x44 <__bad_interrupt>
12: 18 c0 rjmp .+48 ; 0x44 <__bad_interrupt>
14: 17 c0 rjmp .+46 ; 0x44 <__bad_interrupt>
16: 16 c0 rjmp .+44 ; 0x44 <__bad_interrupt>
18: 15 c0 rjmp .+42 ; 0x44 <__bad_interrupt>
1a: 14 c0 rjmp .+40 ; 0x44 <__bad_interrupt>
1c: 13 c0 rjmp .+38 ; 0x44 <__bad_interrupt>
1e: 12 c0 rjmp .+36 ; 0x44 <__bad_interrupt>
20: 11 c0 rjmp .+34 ; 0x44 <__bad_interrupt>
22: 10 c0 rjmp .+32 ; 0x44 <__bad_interrupt>
24: 0f c0 rjmp .+30 ; 0x44 <__bad_interrupt>
26: 0e c0 rjmp .+28 ; 0x44 <__bad_interrupt>
28: 0d c0 rjmp .+26 ; 0x44 <__bad_interrupt>
2a: 0c c0 rjmp .+24 ; 0x44 <__bad_interrupt>
2c: 0b c0 rjmp .+22 ; 0x44 <__bad_interrupt>
2e: 0a c0 rjmp .+20 ; 0x44 <__bad_interrupt>
30: 09 c0 rjmp .+18 ; 0x44 <__bad_interrupt>
32: 08 c0 rjmp .+16 ; 0x44 <__bad_interrupt>
00000034 <__ctors_end>:
34: 11 24 eor r1, r1
36: 1f be out 0x3f, r1 ; 63
38: cf ef ldi r28, 0xFF ; 255
3a: d2 e0 ldi r29, 0x02 ; 2
3c: de bf out 0x3e, r29 ; 62
3e: cd bf out 0x3d, r28 ; 61
40: 02 d0 rcall .+4 ; 0x46 <main>
42: 11 c0 rjmp .+34 ; 0x66 <_exit>
00000044 <__bad_interrupt>:
44: dd cf rjmp .-70 ; 0x0 <__vectors>
00000046 <main>:
#include <util/delay.h>
int main (void)
{
unsigned char zwischenspeicher;
DDRB = 0b00000100;
46: 84 e0 ldi r24, 0x04 ; 4
48: 84 b9 out 0x04, r24 ; 4
while(1)
{
zwischenspeicher = PORTB;
zwischenspeicher = zwischenspeicher ^ 0b00000100;
4a: 94 e0 ldi r25, 0x04 ; 4
{
unsigned char zwischenspeicher;
DDRB = 0b00000100;
while(1)
{
zwischenspeicher = PORTB;
4c: 85 b1 in r24, 0x05 ; 5
zwischenspeicher = zwischenspeicher ^ 0b00000100;
4e: 89 27 eor r24, r25
PORTB = zwischenspeicher;
50: 85 b9 out 0x05, r24 ; 5
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
52: 2f e9 ldi r18, 0x9F ; 159
54: 36 e8 ldi r19, 0x86 ; 134
56: 81 e0 ldi r24, 0x01 ; 1
58: 21 50 subi r18, 0x01 ; 1
5a: 30 40 sbci r19, 0x00 ; 0
5c: 80 40 sbci r24, 0x00 ; 0
5e: e1 f7 brne .-8 ; 0x58 <main+0x12>
60: 00 c0 rjmp .+0 ; 0x62 <main+0x1c>
62: 00 00 nop
64: f3 cf rjmp .-26 ; 0x4c <main+0x6>
00000066 <_exit>:
66: f8 94 cli
00000068 <__stop_program>:
68: ff cf rjmp .-2 ; 0x68 <__stop_program>

View File

@@ -0,0 +1,271 @@
1 .file "main.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .text
8 .Ltext0:
9 .cfi_sections .debug_frame
10 .section .text.startup,"ax",@progbits
11 .global main
13 main:
14 .LFB6:
15 .file 1 "main.c"
1:main.c **** /* ******************************************************** *
2:main.c **** *
3:main.c **** * Simple Template for ATMEL Microcontroller *
4:main.c **** * -------------------------------------------------------- *
5:main.c **** * Created on: 25.07.2016
6:main.c **** * Author: Paolo Iocco
7:main.c **** * ******************************************************** */
8:main.c **** /* ******************************************************** *
9:main.c **** ATtiny 88 / Mega 168 / Mega 328 Pin map
10:main.c **** +-\/-+
11:main.c **** /Reset PC6 1|o |28 PC5 ADC5
12:main.c **** RXD PD0 2| |27 PC4 ADC4
13:main.c **** TXD PD1 3| |26 PC3 ADC3
14:main.c **** PD2 4| |25 PC2 ADC2
15:main.c **** OC2B PD3 5| |24 PC1 ADC1
16:main.c **** PD4 6| |23 PC0 ADC0
17:main.c **** VCC 7| |22 GND
18:main.c **** GND 8| |21 AREF
19:main.c **** OSC1 PB6 9| |20 VCC
20:main.c **** OSC2 PB7 10| |19 PB5 SCK
21:main.c **** OC0B PD5 11| |18 PB4 MISO
22:main.c **** AIN0 OC0A PD6 12| |17 PB3 OC2A MOSI
23:main.c **** AIN1 PD7 13| |16 PB2 OC1B
24:main.c **** PB0 14| |15 PB1 OC1A
25:main.c **** +----+
26:main.c **** * ******************************************************** */
27:main.c ****
28:main.c **** #include "main.h"
29:main.c **** #include <avr/io.h>
30:main.c **** #include <util/delay.h>
31:main.c ****
32:main.c **** int main (void)
33:main.c **** {
16 .loc 1 33 0
17 .cfi_startproc
18 /* prologue: function */
19 /* frame size = 0 */
20 /* stack size = 0 */
21 .L__stack_usage = 0
34:main.c **** unsigned char zwischenspeicher;
35:main.c **** DDRB = 0b00000100;
22 .loc 1 35 0
23 0000 84E0 ldi r24,lo8(4)
24 0002 84B9 out 0x4,r24
36:main.c **** while(1)
37:main.c **** {
38:main.c **** zwischenspeicher = PORTB;
39:main.c **** zwischenspeicher = zwischenspeicher ^ 0b00000100;
25 .loc 1 39 0
26 0004 94E0 ldi r25,lo8(4)
27 .L2:
38:main.c **** zwischenspeicher = zwischenspeicher ^ 0b00000100;
28 .loc 1 38 0 discriminator 1
29 0006 85B1 in r24,0x5
30 .LVL0:
31 .loc 1 39 0 discriminator 1
32 0008 8927 eor r24,r25
33 .LVL1:
40:main.c **** PORTB = zwischenspeicher;
34 .loc 1 40 0 discriminator 1
35 000a 85B9 out 0x5,r24
36 .LVL2:
37 .LBB4:
38 .LBB5:
39 .file 2 "e:\\progs\\arduino-1.7.4\\hardware\\tools\\avr\\avr\\include\\util\\delay.h"
1:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** /* Copyright (c) 2002, Marek Michalkiewicz
2:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Copyright (c) 2004,2005,2007 Joerg Wunsch
3:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Copyright (c) 2007 Florin-Viorel Petrov
4:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** All rights reserved.
5:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
6:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Redistribution and use in source and binary forms, with or without
7:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** modification, are permitted provided that the following conditions are met:
8:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
9:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** * Redistributions of source code must retain the above copyright
10:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** notice, this list of conditions and the following disclaimer.
11:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
12:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** * Redistributions in binary form must reproduce the above copyright
13:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** notice, this list of conditions and the following disclaimer in
14:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** the documentation and/or other materials provided with the
15:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** distribution.
16:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
17:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** * Neither the name of the copyright holders nor the names of
18:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** contributors may be used to endorse or promote products derived
19:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** from this software without specific prior written permission.
20:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
21:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** POSSIBILITY OF SUCH DAMAGE. */
32:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
33:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** /* $Id$ */
34:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
35:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #ifndef _UTIL_DELAY_H_
36:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #define _UTIL_DELAY_H_ 1
37:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
38:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #ifndef __HAS_DELAY_CYCLES
39:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #define __HAS_DELAY_CYCLES 1
40:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #endif
41:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
42:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #include <inttypes.h>
43:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #include <util/delay_basic.h>
44:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #include <math.h>
45:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
46:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** /** \file */
47:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** /** \defgroup util_delay <util/delay.h>: Convenience functions for busy-wait delay loops
48:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** \code
49:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #define F_CPU 1000000UL // 1 MHz
50:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** //#define F_CPU 14.7456E6
51:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #include <util/delay.h>
52:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** \endcode
53:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
54:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** \note As an alternative method, it is possible to pass the
55:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** F_CPU macro down to the compiler from the Makefile.
56:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Obviously, in that case, no \c \#define statement should be
57:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** used.
58:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
59:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** The functions in this header file are wrappers around the basic
60:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** busy-wait functions from <util/delay_basic.h>. They are meant as
61:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** convenience functions where actual time values can be specified
62:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** rather than a number of cycles to wait for. The idea behind is
63:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** that compile-time constant expressions will be eliminated by
64:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** compiler optimization so floating-point expressions can be used
65:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** to calculate the number of delay cycles needed based on the CPU
66:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** frequency passed by the macro F_CPU.
67:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
68:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** \note In order for these functions to work as intended, compiler
69:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** optimizations <em>must</em> be enabled, and the delay time
70:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** <em>must</em> be an expression that is a known constant at
71:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** compile-time. If these requirements are not met, the resulting
72:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** delay will be much longer (and basically unpredictable), and
73:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** applications that otherwise do not use floating-point calculations
74:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** will experience severe code bloat by the floating-point library
75:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** routines linked into the application.
76:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
77:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** The functions available allow the specification of microsecond, and
78:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** millisecond delays directly, using the application-supplied macro
79:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** F_CPU as the CPU clock frequency (in Hertz).
80:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
81:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** */
82:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
83:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #if !defined(__DOXYGEN__)
84:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** static inline void _delay_us(double __us) __attribute__((always_inline));
85:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** static inline void _delay_ms(double __ms) __attribute__((always_inline));
86:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #endif
87:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
88:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #ifndef F_CPU
89:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** /* prevent compiler error by supplying a default */
90:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** # warning "F_CPU not defined for <util/delay.h>"
91:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** # define F_CPU 1000000UL
92:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #endif
93:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
94:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #ifndef __OPTIMIZE__
95:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** # warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"
96:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #endif
97:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
98:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #if __HAS_DELAY_CYCLES && defined(__OPTIMIZE__) && \
99:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** !defined(__DELAY_BACKWARD_COMPATIBLE__) && \
100:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __STDC_HOSTED__
101:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** # include <math.h>
102:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #endif
103:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
104:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** /**
105:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** \ingroup util_delay
106:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
107:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Perform a delay of \c __ms milliseconds, using _delay_loop_2().
108:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
109:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** The macro F_CPU is supposed to be defined to a
110:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** constant defining the CPU clock frequency (in Hertz).
111:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
112:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** The maximal possible delay is 262.14 ms / F_CPU in MHz.
113:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
114:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** When the user request delay which exceed the maximum possible one,
115:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** _delay_ms() provides a decreased resolution functionality. In this
116:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** mode _delay_ms() will work with a resolution of 1/10 ms, providing
117:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** delays up to 6.5535 seconds (independent from CPU frequency). The
118:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** user will not be informed about decreased resolution.
119:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
120:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** If the avr-gcc toolchain has __builtin_avr_delay_cycles(unsigned long)
121:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** support, maximal possible delay is 4294967.295 ms/ F_CPU in MHz. For
122:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** values greater than the maximal possible delay, overflows results in
123:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** no delay i.e., 0ms.
124:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
125:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Conversion of __us into clock cycles may not always result in integer.
126:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** By default, the clock cycles rounded up to next integer. This ensures that
127:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** the user gets atleast __us microseconds of delay.
128:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
129:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Alternatively, user can define __DELAY_ROUND_DOWN__ and __DELAY_ROUND_CLOSEST__
130:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** to round down and round to closest integer.
131:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
132:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Note: The new implementation of _delay_ms(double __ms) with
133:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __builtin_avr_delay_cycles(unsigned long) support is not backward compatible.
134:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** User can define __DELAY_BACKWARD_COMPATIBLE__ to get a backward compatible delay.
135:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** Also, the backward compatible
136:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** algorithm will be chosen if the code is compiled in a <em>freestanding
137:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** environment</em> (GCC option \c -ffreestanding), as the math functions
138:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** required for rounding are not available to the compiler then.
139:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
140:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** */
141:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** void
142:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** _delay_ms(double __ms)
143:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** {
144:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** double __tmp ;
145:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #if __HAS_DELAY_CYCLES && defined(__OPTIMIZE__) && \
146:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** !defined(__DELAY_BACKWARD_COMPATIBLE__) && \
147:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __STDC_HOSTED__
148:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** uint32_t __ticks_dc;
149:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** extern void __builtin_avr_delay_cycles(unsigned long);
150:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __tmp = ((F_CPU) / 1e3) * __ms;
151:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
152:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #if defined(__DELAY_ROUND_DOWN__)
153:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __ticks_dc = (uint32_t)fabs(__tmp);
154:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
155:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #elif defined(__DELAY_ROUND_CLOSEST__)
156:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __ticks_dc = (uint32_t)(fabs(__tmp)+0.5);
157:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
158:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #else
159:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** //round up by default
160:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
161:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** #endif
162:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h ****
163:e:\progs\arduino-1.7.4\hardware\tools\avr\avr\include\util\delay.h **** __builtin_avr_delay_cycles(__ticks_dc);
40 .loc 2 163 0 discriminator 1
41 000c 2FE9 ldi r18,lo8(99999)
42 000e 36E8 ldi r19,hi8(99999)
43 0010 81E0 ldi r24,hlo8(99999)
44 0012 2150 1: subi r18,1
45 0014 3040 sbci r19,0
46 0016 8040 sbci r24,0
47 0018 01F4 brne 1b
48 .LVL3:
49 001a 00C0 rjmp .
50 001c 0000 nop
51 001e 00C0 rjmp .L2
52 .LBE5:
53 .LBE4:
54 .cfi_endproc
55 .LFE6:
57 .text
58 .Letext0:
59 .file 3 "e:\\progs\\arduino-1.7.4\\hardware\\tools\\avr\\avr\\include\\stdint.h"
DEFINED SYMBOLS
*ABS*:00000000 main.c
C:\Users\q242695\AppData\Local\Temp\cckLBHgu.s:2 *ABS*:0000003e __SP_H__
C:\Users\q242695\AppData\Local\Temp\cckLBHgu.s:3 *ABS*:0000003d __SP_L__
C:\Users\q242695\AppData\Local\Temp\cckLBHgu.s:4 *ABS*:0000003f __SREG__
C:\Users\q242695\AppData\Local\Temp\cckLBHgu.s:5 *ABS*:00000000 __tmp_reg__
C:\Users\q242695\AppData\Local\Temp\cckLBHgu.s:6 *ABS*:00000001 __zero_reg__
C:\Users\q242695\AppData\Local\Temp\cckLBHgu.s:13 .text.startup:00000000 main
NO UNDEFINED SYMBOLS

View File

@@ -0,0 +1,429 @@
Archive member included to satisfy reference by file (symbol)
e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o (exit)
Memory Configuration
Name Origin Length Attributes
text 0x00000000 0x00002000 xr
data 0x00800060 0x0000ffa0 rw !x
eeprom 0x00810000 0x00010000 rw !x
fuse 0x00820000 0x00000400 rw !x
lock 0x00830000 0x00000400 rw !x
signature 0x00840000 0x00000400 rw !x
*default* 0x00000000 0xffffffff
Linker script and memory map
Address of section .data set to 0x800100
LOAD e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
LOAD main.o
LOAD e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4\libm.a
START GROUP
LOAD e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a
LOAD e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4\libm.a
LOAD e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4\libc.a
END GROUP
.hash
*(.hash)
.dynsym
*(.dynsym)
.dynstr
*(.dynstr)
.gnu.version
*(.gnu.version)
.gnu.version_d
*(.gnu.version_d)
.gnu.version_r
*(.gnu.version_r)
.rel.init
*(.rel.init)
.rela.init
*(.rela.init)
.rel.text
*(.rel.text)
*(.rel.text.*)
*(.rel.gnu.linkonce.t*)
.rela.text
*(.rela.text)
*(.rela.text.*)
*(.rela.gnu.linkonce.t*)
.rel.fini
*(.rel.fini)
.rela.fini
*(.rela.fini)
.rel.rodata
*(.rel.rodata)
*(.rel.rodata.*)
*(.rel.gnu.linkonce.r*)
.rela.rodata
*(.rela.rodata)
*(.rela.rodata.*)
*(.rela.gnu.linkonce.r*)
.rel.data
*(.rel.data)
*(.rel.data.*)
*(.rel.gnu.linkonce.d*)
.rela.data
*(.rela.data)
*(.rela.data.*)
*(.rela.gnu.linkonce.d*)
.rel.ctors
*(.rel.ctors)
.rela.ctors
*(.rela.ctors)
.rel.dtors
*(.rel.dtors)
.rela.dtors
*(.rela.dtors)
.rel.got
*(.rel.got)
.rela.got
*(.rela.got)
.rel.bss
*(.rel.bss)
.rela.bss
*(.rela.bss)
.rel.plt
*(.rel.plt)
.rela.plt
*(.rela.plt)
.text 0x00000000 0x6a
*(.vectors)
.vectors 0x00000000 0x34 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
0x00000000 __vector_default
0x00000000 __vectors
*(.vectors)
*(.progmem.gcc*)
0x00000034 . = ALIGN (0x2)
0x00000034 __trampolines_start = .
*(.trampolines)
.trampolines 0x00000034 0x0 linker stubs
*(.trampolines*)
0x00000034 __trampolines_end = .
*(.progmem*)
0x00000034 . = ALIGN (0x2)
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x00000034 __ctors_start = .
*(.ctors)
0x00000034 __ctors_end = .
0x00000034 __dtors_start = .
*(.dtors)
0x00000034 __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x00000034 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
0x00000034 __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x00000034 0xc e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x00000040 0x4 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
*(.init9)
*(.text)
.text 0x00000044 0x2 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
0x00000044 __vector_22
0x00000044 __vector_1
0x00000044 __vector_24
0x00000044 __vector_12
0x00000044 __bad_interrupt
0x00000044 __vector_6
0x00000044 __vector_3
0x00000044 __vector_23
0x00000044 __vector_25
0x00000044 __vector_11
0x00000044 __vector_13
0x00000044 __vector_17
0x00000044 __vector_19
0x00000044 __vector_7
0x00000044 __vector_5
0x00000044 __vector_4
0x00000044 __vector_9
0x00000044 __vector_2
0x00000044 __vector_21
0x00000044 __vector_15
0x00000044 __vector_8
0x00000044 __vector_14
0x00000044 __vector_10
0x00000044 __vector_16
0x00000044 __vector_18
0x00000044 __vector_20
.text 0x00000046 0x0 main.o
.text 0x00000046 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
0x00000046 . = ALIGN (0x2)
*(.text.*)
.text.startup 0x00000046 0x20 main.o
0x00000046 main
.text.libgcc.mul
0x00000066 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
.text.libgcc.div
0x00000066 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
.text.libgcc 0x00000066 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
.text.libgcc.prologue
0x00000066 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
.text.libgcc.builtins
0x00000066 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
.text.libgcc.fmul
0x00000066 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
.text.libgcc.fixed
0x00000066 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
0x00000066 . = ALIGN (0x2)
*(.fini9)
.fini9 0x00000066 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
0x00000066 _exit
0x00000066 exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00000066 0x4 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
*(.fini0)
0x0000006a _etext = .
.data 0x00800100 0x0 load address 0x0000006a
[!provide] PROVIDE (__data_start, .)
*(.data)
.data 0x00800100 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
.data 0x00800100 0x0 main.o
.data 0x00800100 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
*(.data*)
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x00800100 . = ALIGN (0x2)
0x00800100 _edata = .
[!provide] PROVIDE (__data_end, .)
.bss 0x00800100 0x0
[!provide] PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800100 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
.bss 0x00800100 0x0 main.o
.bss 0x00800100 0x0 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
*(.bss*)
*(COMMON)
[!provide] PROVIDE (__bss_end, .)
0x0000006a __data_load_start = LOADADDR (.data)
0x0000006a __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800100 0x0
[!provide] PROVIDE (__noinit_start, .)
*(.noinit*)
[!provide] PROVIDE (__noinit_end, .)
0x00800100 _end = .
[!provide] PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
0x00810000 __eeprom_end = .
.fuse
*(.fuse)
*(.lfuse)
*(.hfuse)
*(.efuse)
.lock
*(.lock*)
.signature
*(.signature*)
.stab
*(.stab)
.stabstr
*(.stabstr)
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment 0x00000000 0x11
*(.comment)
.comment 0x00000000 0x11 main.o
0x12 (size before relaxing)
.note.gnu.build-id
*(.note.gnu.build-id)
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x00000000 0x20
*(.debug_aranges)
.debug_aranges
0x00000000 0x20 main.o
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x00000000 0x119
*(.debug_info .gnu.linkonce.wi.*)
.debug_info 0x00000000 0x119 main.o
.debug_abbrev 0x00000000 0xd1
*(.debug_abbrev)
.debug_abbrev 0x00000000 0xd1 main.o
.debug_line 0x00000000 0xd9
*(.debug_line .debug_line.* .debug_line_end)
.debug_line 0x00000000 0xd9 main.o
.debug_frame 0x00000000 0x24
*(.debug_frame)
.debug_frame 0x00000000 0x24 main.o
.debug_str 0x00000000 0x132
*(.debug_str)
.debug_str 0x00000000 0x132 main.o
0x166 (size before relaxing)
.debug_loc 0x00000000 0x1f
*(.debug_loc)
.debug_loc 0x00000000 0x1f main.o
.debug_macinfo
*(.debug_macinfo)
.debug_weaknames
*(.debug_weaknames)
.debug_funcnames
*(.debug_funcnames)
.debug_typenames
*(.debug_typenames)
.debug_varnames
*(.debug_varnames)
.debug_pubtypes
*(.debug_pubtypes)
.debug_ranges 0x00000000 0x10
*(.debug_ranges)
.debug_ranges 0x00000000 0x10 main.o
.debug_macro
*(.debug_macro)
OUTPUT(main.elf elf32-avr)
LOAD linker stubs
Cross Reference Table
Symbol File
__bad_interrupt e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__heap_end e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__init e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__stack e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_1 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_10 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_11 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_12 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_13 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_14 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_15 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_16 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_17 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_18 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_19 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_2 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_20 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_21 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_22 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_23 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_24 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_25 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_3 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_4 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_5 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_6 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_7 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_8 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_9 e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vector_default e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
__vectors e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
_exit e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
exit e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/avr4\libgcc.a(_exit.o)
e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o
main main.o
e:/progs/arduino-1.7.4/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm48.o

View File

@@ -0,0 +1,52 @@
00000000 W __heap_end
00000000 a __tmp_reg__
00000000 W __vector_default
00000000 T __vectors
00000001 a __zero_reg__
00000034 T __ctors_end
00000034 T __ctors_start
00000034 T __dtors_end
00000034 T __dtors_start
00000034 W __init
00000034 T __trampolines_end
00000034 T __trampolines_start
0000003d a __SP_L__
0000003e a __SP_H__
0000003f a __SREG__
00000044 T __bad_interrupt
00000044 W __vector_1
00000044 W __vector_10
00000044 W __vector_11
00000044 W __vector_12
00000044 W __vector_13
00000044 W __vector_14
00000044 W __vector_15
00000044 W __vector_16
00000044 W __vector_17
00000044 W __vector_18
00000044 W __vector_19
00000044 W __vector_2
00000044 W __vector_20
00000044 W __vector_21
00000044 W __vector_22
00000044 W __vector_23
00000044 W __vector_24
00000044 W __vector_25
00000044 W __vector_3
00000044 W __vector_4
00000044 W __vector_5
00000044 W __vector_6
00000044 W __vector_7
00000044 W __vector_8
00000044 W __vector_9
00000046 T main
00000066 T _exit
00000066 W exit
00000068 t __stop_program
0000006a A __data_load_end
0000006a A __data_load_start
0000006a T _etext
000002ff W __stack
00800100 D _edata
00800100 T _end
00810000 T __eeprom_end

View File

@@ -0,0 +1,441 @@
# Hey Emacs, this is a -*- makefile -*-
#
# WinAVR makefile written by Eric B. Weddington, Jörg Wunsch, et al.
# Released to the Public Domain
# Please read the make user manual!
#
# Additional material for this makefile was submitted by:
# Tim Henigan
# Peter Fleury
# Reiner Patommel
# Sander Pool
# Frederik Rouleau
# Markus Pfaff
#
# On command line:
#
# make all = Make software.
#
# make clean = Clean out built project files.
#
# make coff = Convert ELF to AVR COFF (for use with AVR Studio 3.x or VMLAB).
#
# make extcoff = Convert ELF to AVR Extended COFF (for use with AVR Studio
# 4.07 or greater).
#
# make program = Download the hex file to the device, using avrdude. Please
# customize the avrdude settings below first!
#
# make filename.s = Just compile filename.c into the assembler code only
#
# To rebuild project do "make clean" then "make all".
#
# mth 2004/09
# Differences from WinAVR 20040720 sample:
# - DEPFLAGS according to Eric Weddingtion's fix (avrfreaks/gcc-forum)
# - F_OSC Define in CFLAGS and AFLAGS
# MCU name
MCU = atmega48
# Main Oscillator Frequency
# This is only used to define F_OSC in all assembler and c-sources.
F_OSC = 8000000
# Output format. (can be srec, ihex, binary)
FORMAT = ihex
# Target file name (without extension).
TARGET = main
# List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c
# List Assembler source files here.
# Make them always end in a capital .S. Files ending in a lowercase .s
# will not be considered source files but generated files (assembler
# output from the compiler), and will be deleted upon "make clean"!
# Even though the DOS/Win* filesystem matches both .s and .S the same,
# it will preserve the spelling of the filenames, and gcc itself does
# care about how the name is spelled on its command-line.
ASRC =
# Optimization level, can be [0, 1, 2, 3, s].
# 0 = turn off optimization. s = optimize for size.
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
OPT = s
# Debugging format.
# Native formats for AVR-GCC's -g are stabs [default], or dwarf-2.
# AVR (extended) COFF requires stabs, plus an avr-objcopy run.
#DEBUG = stabs
DEBUG = dwarf-2
# List any extra directories to look for include files here.
# Each directory must be seperated by a space.
EXTRAINCDIRS =
# Compiler flag to set the C Standard level.
# c89 - "ANSI" C
# gnu89 - c89 plus GCC extensions
# c99 - ISO C99 standard (not yet fully implemented)
# gnu99 - c99 plus GCC extensions
CSTANDARD = -std=gnu99
# Place -D or -U options here
CDEFS =
# Place -I options here
CINCS =
# Compiler flags.
# -g*: generate debugging information
# -O*: optimization level
# -f...: tuning, see GCC manual and avr-libc documentation
# -Wall...: warning level
# -Wa,...: tell GCC to pass this to the assembler.
# -adhlns...: create assembler listing
CFLAGS = -g$(DEBUG)
CFLAGS += $(CDEFS) $(CINCS)
CFLAGS += -O$(OPT)
CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
CFLAGS += -Wall -Wstrict-prototypes
CFLAGS += -Wa,-adhlns=$(<:.c=.lst)
CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
CFLAGS += $(CSTANDARD)
CFLAGS += -DF_OSC=$(F_OSC)
# Assembler flags.
# -Wa,...: tell GCC to pass this to the assembler.
# -ahlms: create listing
# -gstabs: have the assembler create line number information; note that
# for use in COFF files, additional information about filenames
# and function names needs to be present in the assembler source
# files -- see avr-libc docs [FIXME: not yet described there]
ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
ASFLAGS += -DF_OSC=$(F_OSC)
#Additional libraries.
# Minimalistic printf version
PRINTF_LIB_MIN = -Wl,-u,vfprintf -lprintf_min
# Floating point printf version (requires MATH_LIB = -lm below)
PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt
PRINTF_LIB =
# Minimalistic scanf version
SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min
# Floating point + %[ scanf version (requires MATH_LIB = -lm below)
SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt
SCANF_LIB =
MATH_LIB = -lm
# External memory options
# 64 KB of external RAM, starting after internal RAM (ATmega128!),
# used for variables (.data/.bss) and heap (malloc()).
#EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff
# 64 KB of external RAM, starting after internal RAM (ATmega128!),
# only used for heap (malloc()).
#EXTMEMOPTS = -Wl,--defsym=__heap_start=0x801100,--defsym=__heap_end=0x80ffff
EXTMEMOPTS =
# Linker flags.
# -Wl,...: tell GCC to pass this to linker.
# -Map: create map file
# --cref: add cross reference to map file
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
LDFLAGS += $(EXTMEMOPTS)
LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
# Programming support using avrdude. Settings and variables.
# Programming hardware: alf avr910 avrisp bascom bsd
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ?
# to get a full listing.
#
#AVRDUDE_PROGRAMMER = stk500
AVRDUDE_PROGRAMMER = usbasp
# com1 = serial port. Use lpt1 to connect to parallel port.
AVRDUDE_PORT = usb # programmer connected to serial device
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
# Uncomment the following if you want avrdude's erase cycle counter.
# Note that this counter needs to be initialized first using -Yn,
# see avrdude manual.
#AVRDUDE_ERASE_COUNTER = -y
# Uncomment the following if you do /not/ wish a verification to be
# performed after programming the device.
#AVRDUDE_NO_VERIFY = -V
# Increase verbosity level. Please use this when submitting bug
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
# to submit bug reports.
#AVRDUDE_VERBOSE = -v -v
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
# ---------------------------------------------------------------------------
# Define directories, if needed.
DIRAVR = c:/winavr
DIRAVRBIN = $(DIRAVR)/bin
DIRAVRUTILS = $(DIRAVR)/utils/bin
DIRINC = .
DIRLIB = $(DIRAVR)/avr/lib
# Define programs and commands.
SHELL = sh
CC = avr-gcc
OBJCOPY = avr-objcopy
OBJDUMP = avr-objdump
SIZE = avr-size
NM = avr-nm
AVRDUDE = avrdude
REMOVE = rm -f
COPY = cp
# Define Messages
# English
MSG_ERRORS_NONE = Errors: none
MSG_BEGIN = -------- begin --------
MSG_END = -------- end --------
MSG_SIZE_BEFORE = Size before:
MSG_SIZE_AFTER = Size after:
MSG_COFF = Converting to AVR COFF:
MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
MSG_FLASH = Creating load file for Flash:
MSG_EEPROM = Creating load file for EEPROM:
MSG_EXTENDED_LISTING = Creating Extended Listing:
MSG_SYMBOL_TABLE = Creating Symbol Table:
MSG_LINKING = Linking:
MSG_COMPILING = Compiling:
MSG_ASSEMBLING = Assembling:
MSG_CLEANING = Cleaning project:
# Define all object files.
OBJ = $(SRC:.c=.o) $(ASRC:.S=.o)
# Define all listing files.
LST = $(ASRC:.S=.lst) $(SRC:.c=.lst)
# Compiler flags to generate dependency files.
### GENDEPFLAGS = -Wp,-M,-MP,-MT,$(*F).o,-MF,.dep/$(@F).d
GENDEPFLAGS = -MD -MP -MF .dep/$(@F).d
# Combine all necessary flags and optional flags.
# Add target processor to flags.
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) $(GENDEPFLAGS)
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target.
#all: begin gccversion sizebefore build sizeafter finished end
all: begin gccversion build size finished end
build: elf hex eep lss sym
elf: $(TARGET).elf
hex: $(TARGET).hex
eep: $(TARGET).eep
lss: $(TARGET).lss
sym: $(TARGET).sym
# Eye candy.
# AVR Studio 3.x does not check make's exit code but relies on
# the following magic strings to be generated by the compile job.
begin:
@echo
@echo $(MSG_BEGIN)
finished:
@echo $(MSG_ERRORS_NONE)
end:
@echo $(MSG_END)
@echo
# Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) -A $(TARGET).elf
sizebefore:
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi
sizeafter:
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi
size:
$(SIZE) -C --mcu=$(MCU) $(TARGET).elf
# Display compiler version information.
gccversion :
@$(CC) --version
# Program the device.
program: $(TARGET).hex $(TARGET).eep
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
COFFCONVERT=$(OBJCOPY) --debugging \
--change-section-address .data-0x800000 \
--change-section-address .bss-0x800000 \
--change-section-address .noinit-0x800000 \
--change-section-address .eeprom-0x810000
coff: $(TARGET).elf
@echo
@echo $(MSG_COFF) $(TARGET).cof
$(COFFCONVERT) -O coff-avr $< $(TARGET).cof
extcoff: $(TARGET).elf
@echo
@echo $(MSG_EXTENDED_COFF) $(TARGET).cof
$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
# Create final output files (.hex, .eep) from ELF output file.
%.hex: %.elf
@echo
@echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
%.eep: %.elf
@echo
@echo $(MSG_EEPROM) $@
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
# Create extended listing file from ELF output file.
%.lss: %.elf
@echo
@echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -S $< > $@
# Create a symbol table from ELF output file.
%.sym: %.elf
@echo
@echo $(MSG_SYMBOL_TABLE) $@
$(NM) -n $< > $@
# Link: create ELF output file from object files.
.SECONDARY : $(TARGET).elf
.PRECIOUS : $(OBJ)
%.elf: $(OBJ)
@echo
@echo $(MSG_LINKING) $@
$(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS)
# Compile: create object files from C source files.
%.o : %.c
@echo
@echo $(MSG_COMPILING) $<
$(CC) -c $(ALL_CFLAGS) $< -o $@
# Compile: create assembler files from C source files.
%.s : %.c
$(CC) -S $(ALL_CFLAGS) $< -o $@
# Assemble: create object files from assembler source files.
%.o : %.S
@echo
@echo $(MSG_ASSEMBLING) $<
$(CC) -c $(ALL_ASFLAGS) $< -o $@
# Target: clean project.
clean: begin clean_list finished end
clean_list :
@echo
@echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET).obj
$(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map
$(REMOVE) $(TARGET).obj
$(REMOVE) $(TARGET).a90
$(REMOVE) $(TARGET).sym
$(REMOVE) $(TARGET).lnk
$(REMOVE) $(TARGET).lss
$(REMOVE) $(OBJ)
$(REMOVE) $(LST)
$(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d)
$(REMOVE) .dep/*
# Include the dependency files.
-include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)
# Listing of phony targets.
.PHONY : all begin finish end sizebefore sizeafter gccversion \
build elf hex eep lss sym coff extcoff \
clean clean_list program