daily_automated
This commit is contained in:
48
trunk/AVRProjects/ATMega48/.dep/main.o.d
Normal file
48
trunk/AVRProjects/ATMega48/.dep/main.o.d
Normal 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:
|
||||
45
trunk/AVRProjects/ATMega48/main.c
Normal file
45
trunk/AVRProjects/ATMega48/main.c
Normal 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;
|
||||
}
|
||||
|
||||
1
trunk/AVRProjects/ATMega48/main.eep
Normal file
1
trunk/AVRProjects/ATMega48/main.eep
Normal file
@@ -0,0 +1 @@
|
||||
:00000001FF
|
||||
BIN
trunk/AVRProjects/ATMega48/main.elf
Normal file
BIN
trunk/AVRProjects/ATMega48/main.elf
Normal file
Binary file not shown.
18
trunk/AVRProjects/ATMega48/main.h
Normal file
18
trunk/AVRProjects/ATMega48/main.h
Normal 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_ */
|
||||
8
trunk/AVRProjects/ATMega48/main.hex
Normal file
8
trunk/AVRProjects/ATMega48/main.hex
Normal file
@@ -0,0 +1,8 @@
|
||||
:1000000019C020C01FC01EC01DC01CC01BC01AC00C
|
||||
:1000100019C018C017C016C015C014C013C012C034
|
||||
:1000200011C010C00FC00EC00DC00CC00BC00AC064
|
||||
:1000300009C008C011241FBECFEFD2E0DEBFCDBF84
|
||||
:1000400002D011C0DDCF84E084B994E085B1892766
|
||||
:1000500085B92FE936E881E0215030408040E1F752
|
||||
:0A00600000C00000F3CFF894FFCFBA
|
||||
:00000001FF
|
||||
118
trunk/AVRProjects/ATMega48/main.lss
Normal file
118
trunk/AVRProjects/ATMega48/main.lss
Normal 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>
|
||||
271
trunk/AVRProjects/ATMega48/main.lst
Normal file
271
trunk/AVRProjects/ATMega48/main.lst
Normal 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
|
||||
429
trunk/AVRProjects/ATMega48/main.map
Normal file
429
trunk/AVRProjects/ATMega48/main.map
Normal 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
|
||||
52
trunk/AVRProjects/ATMega48/main.sym
Normal file
52
trunk/AVRProjects/ATMega48/main.sym
Normal 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
|
||||
441
trunk/AVRProjects/ATMega48/makefile
Normal file
441
trunk/AVRProjects/ATMega48/makefile
Normal 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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user