20130123-183156

This commit is contained in:
BlubbFish 2013-01-23 17:31:40 +00:00
parent 1922f40de3
commit 9447f56239
7 changed files with 847 additions and 1369 deletions

Binary file not shown.

View File

@ -47,6 +47,8 @@ volatile uint8_t segs[] = {
// 14,14,18,18,19,19,20,20};
volatile uint8_t frame[7] = {14,14, 14,14, 14,14,0};
uint8_t timer_delay = 0;
uint8_t type = 0;
uint8_t running = 0;
void display(uint8_t z, uint8_t p) {
uint8_t ddr = (segs[z]<<1);
@ -77,7 +79,9 @@ void beeb() {
PORTD &= ~(1<< PD0);
DDRA |= (1 << PA0); //PA0+
PORTA |= (1 << PA0);
//display(0,6);
_delay_us(100);
//display(14,6);
PORTA &= ~(1 << PA0);
}
@ -86,40 +90,12 @@ void render() {
display(frame[f],(5-f)+2);
_delay_us(50);
}
PORTB = 0;
if(frame[6] == 1) {
beeb();
}
}
void timerdown(uint8_t min) {
frame[2] = min/10;
frame[3] = min%10;
frame[4] = 0;
frame[5] = 0;
cli();
TCCR0A |= (1<<WGM01) | (0<<WGM00); //MODE CTC, Matches wenn TCNT0++ = OCR0A
TCCR0B |= (1<<CS00 ) | (1<<CS02); //Clock / 1024 Mode
OCR0A = 254; //0->254 Zählen
TIMSK |= (1<<OCIE0A); //Interrupt by OCF0A Flag
sei();
}
void timerup(uint8_t min) {
frame[0] = 10;
for(uint8_t j=min;j<=99;j++) {
frame[2] = (uint8_t)(j/10);
frame[3] = (uint8_t)(j%10);
for(uint8_t i=0;i<=59;i++) {
frame[4] = (uint8_t)(i/10);
frame[5] = (uint8_t)(i%10);
frame[0] = (i%2==0)?10:14;
for(uint8_t k=0;k<82;k++) {
render();
}
}
}
}
void start() {
DDRD |= (1<<PIND4);
PORTD &= ~((1<<PORTD4));
@ -132,98 +108,182 @@ void start() {
}
}
void endelauflicht() {
frame[0] = 10;
for(uint8_t j=0;j<41;j++) {
frame[2] = 15;
frame[3] = 14;
frame[4] = 14;
frame[5] = 14;
for(uint8_t k=0;k<5;k++) {
render();
}
frame[2] = 14;
frame[3] = 16;
for(uint8_t k=0;k<5;k++) {
render();
}
frame[3] = 14;
frame[4] = 17;
for(uint8_t k=0;k<5;k++) {
render();
}
frame[4] = 14;
frame[5] = 15;
for(uint8_t k=0;k<5;k++) {
render();
}
}
void timerdown(uint8_t min) {
frame[2] = min/10;
frame[3] = min%10;
frame[4] = 0;
frame[5] = 0;
type = 1;
cli();
TCCR0A |= (1<<WGM01) | (0<<WGM00); //MODE CTC, Matches wenn TCNT0++ = OCR0A
TCCR0B |= (1<<CS00 ) | (1<<CS02); //Clock / 1024 Mode
OCR0A = 254; //0->254 Zählen
TIMSK |= (1<<OCIE0A); //Interrupt by OCF0A Flag
sei();
}
void enderand() {
frame[0] = 10;
for(uint8_t j=0;j<41;j++) {
frame[2] = 14;
frame[3] = 14;
frame[4] = 14;
frame[5] = 15;
for(uint8_t k=0;k<5;k++) {
render();
}
frame[5] = 14;
frame[3] = 16;
for(uint8_t k=0;k<5;k++) {
render();
}
frame[3] = 14;
frame[4] = 17;
for(uint8_t k=0;k<5;k++) {
render();
}
frame[2] = 15;
frame[4] = 14;
for(uint8_t k=0;k<5;k++) {
render();
}
}
void timerup(uint8_t min, uint8_t sec) {
frame[2] = min/10;
frame[3] = min%10;
frame[4] = sec/10;
frame[5] = sec%10;
type = 3;
cli();
TCCR0A |= (1<<WGM01) | (0<<WGM00); //MODE CTC, Matches wenn TCNT0++ = OCR0A
TCCR0B |= (1<<CS00 ) | (1<<CS02); //Clock / 1024 Mode
OCR0A = 254; //0->254 Zählen
TIMSK |= (1<<OCIE0A); //Interrupt by OCF0A Flag
sei();
}
void endeblink() {
frame[0] = 10;
for(uint8_t j=0;j<44;j++) {
frame[2] = 15;
frame[3] = 16;
frame[4] = 17;
frame[5] = 15;
for(uint8_t k=0;k<6+(j*2);k++) {
if(k%3==0) {
if(frame[2] == 14) {
frame[0] = 10;
frame[2] = 15;
frame[3] = 16;
frame[4] = 17;
frame[5] = 15;
frame[2] = 15;
frame[3] = 16;
frame[4] = 17;
frame[5] = 15;
frame[6] = 1;
type = 2;
cli();
TCCR0A |= (1<<WGM01) | (0<<WGM00); //MODE CTC, Matches wenn TCNT0++ = OCR0A
TCCR0B |= (1<<CS00 ) | (1<<CS02); //Clock / 1024 Mode
OCR0A = 254; //0->254 Zählen
TIMSK |= (1<<OCIE0A); //Interrupt by OCF0A Flag
sei();
}
ISR(TIMER0_COMPA_vect)
{
switch(type) {
case 1: {
if (timer_delay == 29) { //wenn Zustand mindestens 30x32,512ms = 0,97536sec. andauert
OCR0A = 163; //Restliche Sekunde abwarten
}
if(timer_delay == 30) { //wenn Zustand 1,00006400s gedauert hat ... 64µs Fehler!
timer_delay = 0;
OCR0A = 254;
if(frame[5] > 0) {
frame[5] = frame[5]--;
} else {
frame[0] = 14;
frame[2] = 14;
frame[3] = 14;
frame[4] = 14;
frame[5] = 14;
frame[5] = 9;
if(frame[4] > 0) {
frame[4] = frame[4]--;
} else {
frame[4] = 5;
if(frame[3] > 0) {
frame[3] = frame[3]--;
} else {
frame[3] = 9;
if(frame[2] > 0) {
frame[2] = frame[2]--;
} else {
frame[2] = 9;
}
}
}
}
frame[0] = (frame[0]==14)?11:14;
} else {
timer_delay++;
}
render();
break;
}
frame[2] = 14;
frame[3] = 14;
frame[4] = 14;
frame[5] = 14;
for(uint8_t k=0;k<5+j;k++) {
render();
case 2: {
if (timer_delay == 14) { //wenn Zustand mindestens 30x32,512ms = 0,97536sec. andauert
OCR0A = 82; //Restliche Sekunde abwarten
}
if(timer_delay == 15) { //wenn Zustand 1,00006400s gedauert hat ... 64µs Fehler!
timer_delay = 0;
OCR0A = 254;
running++;
} else {
timer_delay++;
}
if(timer_delay%3 == 2)
if(timer_delay%4 == 2)
frame[6] = (frame[6]==1)?0:1;
if(timer_delay%3 == 0)
if(timer_delay%4 == 0)
frame[6] = (frame[6]==1)?0:1;
break;
}
case 3: {
if (timer_delay == 29) { //wenn Zustand mindestens 30x32,512ms = 0,97536sec. andauert
OCR0A = 163; //Restliche Sekunde abwarten
}
if(timer_delay == 30) { //wenn Zustand 1,00006400s gedauert hat ... 64µs Fehler!
timer_delay = 0;
OCR0A = 254;
if(frame[5] < 9) {
frame[5] = frame[5]++;
} else {
frame[5] = 0;
if(frame[4] < 5) {
frame[4] = frame[4]++;
} else {
frame[4] = 0;
if(frame[3] < 9) {
frame[3] = frame[3]++;
} else {
frame[3] = 0;
if(frame[2] < 5) {
frame[2] = frame[2]++;
} else {
frame[2] = 0;
if(frame[1] < 9) {
frame[1] = frame[1]++;
} else {
frame[1] = 0;
}
}
}
}
}
frame[0] = (frame[0]==14)?11:14;
} else {
timer_delay++;
}
break;
}
}
}
void weihnachten() {
int main(void) {
DDRB = 0;
while(1){
//Warten bis Startknopf
start();
//Timer 20 nach unten
timerdown(30);
while(1) {
render();
if(frame[2] == 0 && frame[3] == 0 && frame[4] == 0 && frame[5] == 0) {
TIMSK = 0;
break;
}
}
//Piepsen
endeblink();
while(1) {
render();
if(running >= 20) {
TIMSK = 0;
frame[6] = 0;
break;
}
}
//Timer UP 0,1 Min Start
timerup(0,10);
while(1) {
render();
}
}
}
/*void weihnachten() {
uint8_t text1[] = {18,19,20,21,15,14, //Frohe
22,23,15,24,21,16,25,26,21,27,15,16,14}; //Weihnachten
frame[0] = 14;
@ -245,9 +305,9 @@ void weihnachten() {
render();
}
}
}
}*/
void blink2013() {
/*void blink2013() {
frame[0] = 14;
frame[1] = 14;
for(uint8_t i=0;i<30;i++) {
@ -266,86 +326,61 @@ void blink2013() {
render();
}
}
}
}*/
ISR(TIMER0_COMPA_vect)
{
if (timer_delay == 30) { //wenn Zustand mindestens 30x32,512ms = 0,97536sec. andauert
OCR0A = 193; //Restliche Sekunde abwarten
}
if(timer_delay == 31) { //wenn Zustand 1,00006400s gedauert hat ... 64µs Fehler!
timer_delay = 0;
OCR0A = 254;
if(frame[5] > 0) {
frame[5] = frame[5]--;
} else {
frame[5] = 9;
if(frame[4] > 0) {
frame[4] = frame[4]--;
} else {
frame[4] = 5;
if(frame[3] > 0) {
frame[3] = frame[3]--;
} else {
frame[3] = 9;
if(frame[2] > 0) {
frame[2] = frame[2]--;
} else {
frame[2] = 9;
}
}
}
}
frame[0] = (frame[0]==14)?11:14;
/*frame[2] = (uint8_t)((MIN-j)/10);
frame[3] = (uint8_t)((MIN-j)%10);
frame[4] = (uint8_t)((59-i)/10);
frame[5] = (uint8_t)((59-i)%10);
frame[0] = (i%2==0)?11:14;*/
} else {
timer_delay++;
}
if(timer_delay%3 == 0)
frame[6] = (frame[6]==0)?1:0;
}
int main(void) {
DDRB = 0;
while(1){
//Warten bis Startknopf
start();
//Timer 20 nach unten
timerdown(1);
while(1) {
render();
if(frame[2] == 0 && frame[3] == 0 && frame[4] == 0 && frame[5] == 0) {
TIMSK = 0;
break;
}
}
/*for(int i=0;i<5;i++) {
weihnachten();
}
blink2013();*/
//Lauflicht 10s;
//endelauflicht();
//Lauflicht Rand 10s
//enderand();
//Blinklicht
endeblink();
frame[0] = 10;
/*void endelauflicht() {
frame[0] = 10;
for(uint8_t j=0;j<41;j++) {
frame[2] = 15;
frame[3] = 16;
frame[4] = 17;
frame[5] = 15;
while(1) {
render();
frame[3] = 14;
frame[4] = 14;
frame[5] = 14;
for(uint8_t k=0;k<5;k++) {
render();
}
frame[2] = 14;
frame[3] = 16;
for(uint8_t k=0;k<5;k++) {
render();
}
frame[3] = 14;
frame[4] = 17;
for(uint8_t k=0;k<5;k++) {
render();
}
frame[4] = 14;
frame[5] = 15;
for(uint8_t k=0;k<5;k++) {
render();
}
//Timer UP 1Min Start
timerup(2);//*/
}
}
}*/
/*void enderand() {
frame[0] = 10;
for(uint8_t j=0;j<41;j++) {
frame[2] = 14;
frame[3] = 14;
frame[4] = 14;
frame[5] = 15;
for(uint8_t k=0;k<5;k++) {
render();
}
frame[5] = 14;
frame[3] = 16;
for(uint8_t k=0;k<5;k++) {
render();
}
frame[3] = 14;
frame[4] = 17;
for(uint8_t k=0;k<5;k++) {
render();
}
frame[2] = 15;
frame[4] = 14;
for(uint8_t k=0;k<5;k++) {
render();
}
}
}*/

View File

@ -1,2 +1,2 @@
:04000003000001FEFA
:040000030000016E8A
:00000001FF

Binary file not shown.

View File

@ -1,9 +1,9 @@
:1000000012C02AC029C028C027C026C025C024C0CD
:1000100023C022C021C020C01FC086C21DC01CC07A
:1000100023C022C021C020C01FC011C11DC01CC0F0
:100020001BC01AC019C011241FBECFEDCDBF10E0F8
:10003000A0E6B0E0E6E7F6E002C005900D92A83930
:10004000B107D9F710E0A8E9B0E001C01D92A939C5
:10005000B107E1F7DBD20DC3D3CFE82FF0E0E05AD0
:10003000A0E6B0E0E8E8F4E002C005900D92A63832
:10004000B107D9F710E0A6E8B0E001C01D92A938C9
:10005000B107E1F7E7D116C2D3CFE82FF0E0E05ABD
:10006000FF4FA081AA0F7081770FE1E041E050E0DF
:100070001FC08E2F90E02A2F30E00E2E02C0359543
:1000800027950A94E2F7019720FF08C09A0102C061
@ -19,92 +19,60 @@
:10012000D89A87EC90E00197F1F700C00000D898CA
:1001300008951F93CF93DF9317E0C0E0D0E0FE0156
:10014000E258FF4F8081612F88DF85E88A95F1F7BB
:10015000000021961150113091F780918400813078
:1001600009F4DBDFDF91CF911F9108956AE075D22A
:1001700080938000909381001092820010928300FF
:10018000F89480B7826080BF83B7856083BF8EEFAD
:1001900086BF89B7816089BF78940895EF92FF92F6
:1001A0000F931F939AE090937E00082F9AE0F92E08
:1001B0001FC0802F6F2D51D28093800090938100BB
:1001C00010E0812F6F2D49D280938200909383009D
:1001D00010FF02C08EE001C08AE080937E0082E5BD
:1001E000E82EA7DFEA94E9F71F5F1C3351F70F5F92
:1001F0000436F8F21F910F91FF90EF9008958C9ABA
:100200009498959A8FEF94E3ACE081509040A04091
:10021000E1F700C000008599FECF0895DF92EF92CC
:10022000FF920F931F938AE080937E0009E24FE0D4
:10023000F42E1EE030E1D32E21E1E22EF092800078
:1002400010938100109382001093830072DF71DF9E
:1002500070DF6FDF6EDF10938000D092810069DF66
:1002600068DF67DF66DF65DF10938100E092820060
:1002700060DF5FDF5EDF5DDF5CDF10938200F092A6
:10028000830057DF56DF55DF54DF53DF0150B1F6EF
:100290001F910F91FF90EF90DF900895DF92EF9202
:1002A000FF920F931F938AE080937E0009E21EE085
:1002B0007FE0F72E60E1D62E51E1E52E109380000D
:1002C0001093810010938200F092830032DF31DFBF
:1002D00030DF2FDF2EDF10938300D092810029DFE3
:1002E00028DF27DF26DF25DF10938100E0928200E0
:1002F00020DF1FDF1EDF1DDF1CDFF0928000109368
:10030000820017DF16DF15DF14DF13DF0150B1F6AF
:100310001F910F91FF90EF90DF9008957F928F9241
:100320009F92AF92BF92CF92DF92EF92FF920F9384
:100330001F93CF93DF938AE080937E0006E010E066
:10034000C0E0D0E02FE0C22E90E1A92E81E1B82ECE
:10035000B3E08B2EAEE0DA2EFAE09F2EC092800042
:10036000A0928100B0928200C0928300EE2420C04F
:100370008E2D682D72D19923C9F4809180008E3022
:1003800059F490927E00C0928000A0928100B092B9
:100390008200C09283000AC0D0927E00D09280007A
:1003A000D0928100D0928200D0928300C2DEE3948A
:1003B0008E2D90E080179107DCF2D0928000D092D1
:1003C0008100D0928200D09283007724E4E0EE2E68
:1003D000F12CEC0EFD1E02C0ACDE7394872D90E074
:1003E000E816F906CCF721960E5F1F4FCC32D105E7
:1003F00009F0B4CFDF91CF911F910F91FF90EF9053
:10040000DF90CF90BF90AF909F908F907F90089596
:10041000EF92FF920F931F93DF93CF93CDB7DEB789
:10042000C451CDBFDE011196E5E8F0E083E1019013
:100430000D928150E1F78EE080937E0080937F00E3
:10044000809380008093810080938200809383005A
:100450004CEF5EE0E52E8E010F5F1F4F22C09C0126
:100460002F5F3F4F533148F4F801E50FF11D6081D4
:1004700022583F4FF901608304C022583F4FF901D1
:10048000E08201965F5F8530910549F73EE1F32EEA
:100490004C8B4FDEFA944C89FF20D1F74F5F4431EB
:1004A00021F0542F80E090E0DACFCC5ECDBFCF9129
:1004B000DF911F910F91FF90EF900895CF92DF92FF
:1004C000EF92FF920F931F938EE080937E008093B4
:1004D0007F000EE1F2E0CF2EDD24D394E3E0EE2E98
:1004E0001EE0C092800010928100D0928200E092C3
:1004F000830074E1F72E1DDEFA94E9F71093800073
:1005000010938100109382001093830064E1F62E13
:1005100010DEFA94E9F7015021F71F910F91FF9037
:10052000EF90DF90CF9008951F920F920FB60F9229
:1005300011246F937F938F939F93809198008E31B6
:1005400011F481EC86BF809198008F3109F045C08D
:10055000109298008EEF86BF80918300882341F02F
:1005600080918300809383008150809383002BC00F
:1005700089E08093830090918200992341F08091DB
:100580008200809382008150809382001CC095E09D
:100590009093820090918100992341F08091810095
:1005A000809381008150809381000DC080938100F1
:1005B00090918000992329F08091800080938000A1
:1005C00081508093800080917E008E3011F48BE00A
:1005D00001C08EE080937E0003C08F5F80939800FF
:1005E0008091980063E039D0992339F49091840088
:1005F00081E0911180E0809384009F918F917F91A1
:100600006F910F900FBE0F901F90189517BAF7DDDE
:1006100081E0ACDD8EDD809180008823D9F7809168
:1006200081008823B9F780918200882399F780910F
:100630008300882379F719BE71DE8AE080937E00FB
:100640008FE08093800090E19093810091E19093FE
:100650008200809383006DDDFECF991B79E004C09A
:10066000991F961708F0961B881F7A95C9F78095F1
:060670000895F894FFCF8D
:100676003F065B4F666D7D077F6F4070467600795B
:10068600375E71315C763C1E067739073E0F0E0EDB
:100696000E0E0E0E00121314150F0E16170F181548
:0806A60010191A151B0F100EAC
:04000003000001FEFA
:10015000000021961150113091F718BA8091840057
:10016000813009F4DADFDF91CF911F9108958C9AE5
:100170009498959A8FEF94E3ACE081509040A04022
:10018000E1F700C000008599FECF08956AE06ED1C6
:1001900080938000909381001092820010928300DF
:1001A00081E080938700F89480B7826080BF83B736
:1001B000856083BF8EEF86BF89B7816089BF7894E1
:1001C0000895362F2AE0622F51D1809380009093BA
:1001D0008100832F4BD1809382009093830083E032
:1001E00080938700F89480B7826080BF83B7856072
:1001F00083BF8EEF86BF89B7816089BF78940895E9
:100200008FE08093800090E19093810091E1909342
:1002100082008093830081E08093840082E0809359
:100220008700F89480B7826080BF83B7856083BF02
:100230008EEF86BF89B7816089BF789408951F9239
:100240000F920FB60F9211242F936F937F938F937A
:100250009F9380918700823009F446C0833009F46F
:1002600075C0813009F0D4C0809186008D3111F4C1
:1002700083EA86BF809186008E3109F0C6C0109255
:1002800086008EEF86BF80918300882331F08091B5
:10029000830080938300815071C089E08093830044
:1002A00090918200992331F08091820080938200A6
:1002B000815072C095E090938200909181009923C3
:1002C00031F08091810080938100815073C08093D0
:1002D000810090918000992309F47AC08091800078
:1002E00080938000815074C0809186008E3011F41C
:1002F00082E586BF809186008F3051F4109286008F
:100300008EEF86BF809188008F5F8093880003C046
:100310008F5F8093860020918600822F63E0A6D0B5
:10032000923029F42370223009F072C006C099235C
:1003300009F06EC0237009F06BC09091840081E0D9
:10034000913009F480E08093840062C0809186003F
:100350008D3111F483EA86BF809186008E3109F0D9
:1003600054C0109286008EEF86BF80918300893042
:1003700040F480918300809383008F5F809383009B
:100380003AC01092830080918200853040F48091C1
:100390008200809382008F5F809382002CC0109235
:1003A000820080918100893040F4809181008093A7
:1003B00081008F5F809381001EC010928100809128
:1003C0008000853040F480918000809380008F5FB2
:1003D0008093800010C01092800080917F0089304F
:1003E00040F480917F0080937F008F5F80937F0037
:1003F00002C010927F0080917E008E3011F48BE05D
:1004000001C08EE080937E0003C08F5F80938600E2
:100410009F918F917F916F912F910F900FBE0F90B1
:100420001F90189517BAA3DE8EE1B0DE82DE8091B0
:1004300080008823D9F7809181008823B9F78091C3
:100440008200882399F780918300882379F719BE69
:10045000D7DE6FDE809188008431D8F319BE109208
:10046000840080E06AE0ADDE64DEFECF991B79E0B7
:1004700004C0991F961708F0961B881F7A95C9F734
:0804800080950895F894FFCF68
:100488003F065B4F666D7D077F6F4070467600794B
:10049800375E71315C763C1E067739073E0F0E0ECB
:0604A8000E0E0E0E000016
:040000030000016E8A
:00000001FF

File diff suppressed because it is too large Load Diff

View File

@ -118,7 +118,7 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
.rela.plt
*(.rela.plt)
.text 0x00000000 0x676
.text 0x00000000 0x488
*(.vectors)
.vectors 0x00000000 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
0x00000000 __vector_default
@ -192,36 +192,32 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
0x00000058 __vector_10
0x00000058 __vector_16
0x00000058 __vector_18
.text 0x0000005a 0x600 Timer.o
.text 0x0000005a 0x412 Timer.o
0x0000005a display
0x0000011a beeb
0x00000132 render
0x0000016c timerdown
0x0000019c timerup
0x000001fe start
0x0000021c endelauflicht
0x0000029c enderand
0x0000031c endeblink
0x00000410 weihnachten
0x000004bc blink2013
0x00000528 __vector_13
0x0000060c main
.text 0x0000065a 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
.text 0x0000065a 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text 0x0000065a 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.text 0x0000065a 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
0x0000065a . = ALIGN (0x2)
0x0000016e start
0x0000018c timerdown
0x000001c2 timerup
0x00000200 endeblink
0x0000023e __vector_13
0x00000424 main
.text 0x0000046c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
.text 0x0000046c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text 0x0000046c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.text 0x0000046c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
0x0000046c . = ALIGN (0x2)
*(.text.*)
.text.libgcc 0x0000065a 0x18 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
0x0000065a __udivmodqi4
.text.libgcc 0x00000672 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text.libgcc 0x00000672 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.text.libgcc 0x00000672 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
0x00000672 . = ALIGN (0x2)
.text.libgcc 0x0000046c 0x18 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
0x0000046c __udivmodqi4
.text.libgcc 0x00000484 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text.libgcc 0x00000484 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.text.libgcc 0x00000484 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
0x00000484 . = ALIGN (0x2)
*(.fini9)
.fini9 0x00000672 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
0x00000672 _exit
0x00000672 exit
.fini9 0x00000484 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
0x00000484 _exit
0x00000484 exit
*(.fini9)
*(.fini8)
*(.fini8)
@ -240,51 +236,54 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00000672 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.fini0 0x00000484 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
*(.fini0)
0x00000676 _etext = .
0x00000488 _etext = .
.data 0x00800060 0x38 load address 0x00000676
.data 0x00800060 0x26 load address 0x00000488
0x00800060 PROVIDE (__data_start, .)
*(.data)
.data 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
.data 0x00800060 0x38 Timer.o
.data 0x00800060 0x25 Timer.o
0x00800060 segs
0x0080007e frame
.data 0x00800098 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
.data 0x00800098 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.data 0x00800098 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.data 0x00800098 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.data 0x00800085 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
.data 0x00800085 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.data 0x00800085 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.data 0x00800085 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
*(.data*)
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x00800098 . = ALIGN (0x2)
0x00800098 _edata = .
0x00800098 PROVIDE (__data_end, .)
0x00800086 . = ALIGN (0x2)
*fill* 0x00800085 0x1 00
0x00800086 _edata = .
0x00800086 PROVIDE (__data_end, .)
.bss 0x00800098 0x1
0x00800098 PROVIDE (__bss_start, .)
.bss 0x00800086 0x3
0x00800086 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800098 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
.bss 0x00800098 0x1 Timer.o
0x00800098 timer_delay
.bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
.bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.bss 0x00800086 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
.bss 0x00800086 0x3 Timer.o
0x00800086 timer_delay
0x00800087 type
0x00800088 running
.bss 0x00800089 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
.bss 0x00800089 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.bss 0x00800089 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.bss 0x00800089 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
*(.bss*)
*(COMMON)
0x00800099 PROVIDE (__bss_end, .)
0x00000676 __data_load_start = LOADADDR (.data)
0x000006ae __data_load_end = (__data_load_start + SIZEOF (.data))
0x00800089 PROVIDE (__bss_end, .)
0x00000488 __data_load_start = LOADADDR (.data)
0x000004ae __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800099 0x0
0x00800099 PROVIDE (__noinit_start, .)
.noinit 0x00800089 0x0
0x00800089 PROVIDE (__noinit_start, .)
*(.noinit*)
0x00800099 PROVIDE (__noinit_end, .)
0x00800099 _end = .
0x00800099 PROVIDE (__heap_start, .)
0x00800089 PROVIDE (__noinit_end, .)
0x00800089 _end = .
0x00800089 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
@ -343,36 +342,36 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
0x00000000 0x20 Timer.o
.debug_pubnames
0x00000000 0xdd
0x00000000 0xb5
*(.debug_pubnames)
.debug_pubnames
0x00000000 0xdd Timer.o
0x00000000 0xb5 Timer.o
.debug_info 0x00000000 0x6eb
.debug_info 0x00000000 0x480
*(.debug_info)
.debug_info 0x00000000 0x6eb Timer.o
.debug_info 0x00000000 0x480 Timer.o
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x1f5
.debug_abbrev 0x00000000 0x1d4
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x1f5 Timer.o
.debug_abbrev 0x00000000 0x1d4 Timer.o
.debug_line 0x00000000 0x8d7
.debug_line 0x00000000 0x60f
*(.debug_line)
.debug_line 0x00000000 0x8d7 Timer.o
.debug_line 0x00000000 0x60f Timer.o
.debug_frame 0x00000000 0xe0
.debug_frame 0x00000000 0xa0
*(.debug_frame)
.debug_frame 0x00000000 0xe0 Timer.o
.debug_frame 0x00000000 0xa0 Timer.o
.debug_str 0x00000000 0x185
.debug_str 0x00000000 0x15f
*(.debug_str)
.debug_str 0x00000000 0x185 Timer.o
0x1b9 (size before relaxing)
.debug_str 0x00000000 0x15f Timer.o
0x193 (size before relaxing)
.debug_loc 0x00000000 0x503
.debug_loc 0x00000000 0x11b
*(.debug_loc)
.debug_loc 0x00000000 0x503 Timer.o
.debug_loc 0x00000000 0x11b Timer.o
.debug_macinfo
*(.debug_macinfo)
@ -383,6 +382,3 @@ LOAD linker stubs
0x00000000 0x38
.debug_pubtypes
0x00000000 0x38 Timer.o
.debug_ranges 0x00000000 0x18
.debug_ranges 0x00000000 0x18 Timer.o