eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaCzemu ATMEGA88 sie wiesza ?Re: Czemu ATMEGA88 sie wiesza ?
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!wsisiz.edu.pl!newsfeed.neostrada.pl!
    atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
    From: "bagno" <b...@o...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Czemu ATMEGA88 sie wiesza ?
    Date: Sun, 28 Jun 2009 18:47:01 +0200
    Organization: TP - http://www.tp.pl/
    Lines: 161
    Message-ID: <h286u9$ck6$1@atlantis.news.neostrada.pl>
    References: <h27ebg$jbg$1@atlantis.news.neostrada.pl>
    <h2838o$472$2@atlantis.news.neostrada.pl>
    NNTP-Posting-Host: bzg152.neoplus.adsl.tpnet.pl
    X-Trace: atlantis.news.neostrada.pl 1246207754 12934 83.30.52.152 (28 Jun 2009
    16:49:14 GMT)
    X-Complaints-To: u...@n...neostrada.pl
    NNTP-Posting-Date: Sun, 28 Jun 2009 16:49:14 +0000 (UTC)
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.3790.3959
    X-RFC2646: Format=Flowed; Response
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.3959
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:566310
    [ ukryj nagłówki ]


    Użytkownik "T.M.F." <t...@n...mp.pl> napisał w wiadomości
    news:h2838o$472$2@atlantis.news.neostrada.pl...
    >> Wie ktos co z nim moze byc ? Probowalem w sumie tez zupelnie innego
    >> kompilatora i bylo dokladnie to samo. Testuje to na plytce ZL2AVR.
    >
    > Kompilujesz na jakim poziomie optymalizacji? -O0 czy -Os?
    > Delay nie moze byc kompilowana z -O0.
    > Pokaz wydenerowany kod w assemblerze.

    Ustawione jest -Os

    Kod:

    Sections:
    Idx Name Size VMA LMA File off Algn
    0 .text 00000080 00000000 00000000 00000054 2**1
    CONTENTS, ALLOC, LOAD, READONLY, CODE
    1 .debug_aranges 00000020 00000000 00000000 000000d4 2**0
    CONTENTS, READONLY, DEBUGGING
    2 .debug_pubnames 00000023 00000000 00000000 000000f4 2**0
    CONTENTS, READONLY, DEBUGGING
    3 .debug_info 00000136 00000000 00000000 00000117 2**0
    CONTENTS, READONLY, DEBUGGING
    4 .debug_abbrev 000000cb 00000000 00000000 0000024d 2**0
    CONTENTS, READONLY, DEBUGGING
    5 .debug_line 0000014f 00000000 00000000 00000318 2**0
    CONTENTS, READONLY, DEBUGGING
    6 .debug_frame 00000030 00000000 00000000 00000468 2**2
    CONTENTS, READONLY, DEBUGGING
    7 .debug_str 000000bf 00000000 00000000 00000498 2**0
    CONTENTS, READONLY, DEBUGGING
    Disassembly of section .text:

    00000000 <__vectors>:
    0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end>
    2: 2c c0 rjmp .+88 ; 0x5c <__bad_interrupt>
    4: 2b c0 rjmp .+86 ; 0x5c <__bad_interrupt>
    6: 2a c0 rjmp .+84 ; 0x5c <__bad_interrupt>
    8: 29 c0 rjmp .+82 ; 0x5c <__bad_interrupt>
    a: 28 c0 rjmp .+80 ; 0x5c <__bad_interrupt>
    c: 27 c0 rjmp .+78 ; 0x5c <__bad_interrupt>
    e: 26 c0 rjmp .+76 ; 0x5c <__bad_interrupt>
    10: 25 c0 rjmp .+74 ; 0x5c <__bad_interrupt>
    12: 24 c0 rjmp .+72 ; 0x5c <__bad_interrupt>
    14: 23 c0 rjmp .+70 ; 0x5c <__bad_interrupt>
    16: 22 c0 rjmp .+68 ; 0x5c <__bad_interrupt>
    18: 21 c0 rjmp .+66 ; 0x5c <__bad_interrupt>
    1a: 20 c0 rjmp .+64 ; 0x5c <__bad_interrupt>
    1c: 1f c0 rjmp .+62 ; 0x5c <__bad_interrupt>
    1e: 1e c0 rjmp .+60 ; 0x5c <__bad_interrupt>
    20: 1d c0 rjmp .+58 ; 0x5c <__bad_interrupt>
    22: 1c c0 rjmp .+56 ; 0x5c <__bad_interrupt>
    24: 1b c0 rjmp .+54 ; 0x5c <__bad_interrupt>

    00000026 <__ctors_end>:
    26: 11 24 eor r1, r1
    28: 1f be out 0x3f, r1 ; 63
    2a: cf e5 ldi r28, 0x5F ; 95
    2c: d4 e0 ldi r29, 0x04 ; 4
    2e: de bf out 0x3e, r29 ; 62
    30: cd bf out 0x3d, r28 ; 61

    00000032 <__do_copy_data>:
    32: 10 e0 ldi r17, 0x00 ; 0
    34: a0 e6 ldi r26, 0x60 ; 96
    36: b0 e0 ldi r27, 0x00 ; 0
    38: e0 e8 ldi r30, 0x80 ; 128
    3a: f0 e0 ldi r31, 0x00 ; 0
    3c: 02 c0 rjmp .+4 ; 0x42 <.do_copy_data_start>

    0000003e <.do_copy_data_loop>:
    3e: 05 90 lpm r0, Z+
    40: 0d 92 st X+, r0

    00000042 <.do_copy_data_start>:
    42: a0 36 cpi r26, 0x60 ; 96
    44: b1 07 cpc r27, r17
    46: d9 f7 brne .-10 ; 0x3e <.do_copy_data_loop>

    00000048 <__do_clear_bss>:
    48: 10 e0 ldi r17, 0x00 ; 0
    4a: a0 e6 ldi r26, 0x60 ; 96
    4c: b0 e0 ldi r27, 0x00 ; 0
    4e: 01 c0 rjmp .+2 ; 0x52 <.do_clear_bss_start>

    00000050 <.do_clear_bss_loop>:
    50: 1d 92 st X+, r1

    00000052 <.do_clear_bss_start>:
    52: a0 36 cpi r26, 0x60 ; 96
    54: b1 07 cpc r27, r17
    56: e1 f7 brne .-8 ; 0x50 <.do_clear_bss_loop>
    58: 0c d0 rcall .+24 ; 0x72 <main>
    5a: 10 c0 rjmp .+32 ; 0x7c <_exit>

    0000005c <__bad_interrupt>:
    5c: d1 cf rjmp .-94 ; 0x0 <__vectors>

    0000005e <del>:
    #include <avr/io.h>
    #include <util/delay.h>

    void del()
    {
    5e: 88 ee ldi r24, 0xE8 ; 232
    60: 93 e0 ldi r25, 0x03 ; 3
    milliseconds can be achieved.
    */
    void
    _delay_loop_2(uint16_t __count)
    {
    __asm__ volatile (
    62: 28 ec ldi r18, 0xC8 ; 200
    64: 30 e0 ldi r19, 0x00 ; 0
    66: f9 01 movw r30, r18
    68: 31 97 sbiw r30, 0x01 ; 1
    6a: f1 f7 brne .-4 ; 0x68 <del+0xa>
    __ticks = (uint16_t) (__ms * 10.0);
    while(__ticks)
    {
    // wait 1/10 ms
    _delay_loop_2(((F_CPU) / 4e3) / 10);
    __ticks --;
    6c: 01 97 sbiw r24, 0x01 ; 1
    __ticks = 1;
    else if (__tmp > 65535)
    {
    // __ticks = requested delay in 1/10 ms
    __ticks = (uint16_t) (__ms * 10.0);
    while(__ticks)
    6e: d9 f7 brne .-10 ; 0x66 <del+0x8>
    _delay_ms(100);
    }
    70: 08 95 ret

    00000072 <main>:

    int main(void)
    {
    72: 8f ef ldi r24, 0xFF ; 255
    74: 84 bb out 0x14, r24 ; 20
    DDRC = 0xFF;
    while(1)
    {
    PORTC = 0;
    76: 15 ba out 0x15, r1 ; 21

    PORTC = 255;
    78: 85 bb out 0x15, r24 ; 21
    7a: fd cf rjmp .-6 ; 0x76 <main+0x4>

    0000007c <_exit>:
    7c: f8 94 cli

    0000007e <__stop_program>:
    7e: ff cf rjmp .-2 ; 0x7e <__stop_program>




Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: