eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaCzy WinAVR radzi sobie z kodem dla ATMega128?Re: Czy WinAVR radzi sobie z kodem dla ATMega128?
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: Dariusz Zolna <a...@u...com>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Czy WinAVR radzi sobie z kodem dla ATMega128?
    Date: Mon, 26 Jan 2009 13:12:30 +0100
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 89
    Message-ID: <glk9b7$klp$1@inews.gazeta.pl>
    References: <glg5ms$o4h$1@inews.gazeta.pl> <glhtp7$fu0$1@nemesis.news.neostrada.pl>
    NNTP-Posting-Host: 70-180.1-85.cust.bluewin.ch
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: quoted-printable
    X-Trace: inews.gazeta.pl 1232971943 21177 85.1.180.70 (26 Jan 2009 12:12:23 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Mon, 26 Jan 2009 12:12:23 +0000 (UTC)
    X-User: dejet
    In-Reply-To: <glhtp7$fu0$1@nemesis.news.neostrada.pl>
    User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:555013
    [ ukryj nagłówki ]

    T.M.F. pisze:
    > Tak jak poprzednio - nie wiem czy linker nie przyjmuje adresu jako
    > slowa, a nie bajty.

    Jako bajty. Ale ten trop też sprawdzałem, program wtedy się odpali,a le
    nie jako bootloader i co oczywiste nie zapisuje pamięci.



    > Toolchain raczej bym wykluczyl, tyle osob to testowalo, ze szansa, ze
    > nie wyszlaby do tej pory tak gruba rzecz jest zadna.
    > Zobacz jak wygladaja wygenerowane pliki .map i .lss. Tam bedziesz mial
    > dokladnie pokazane co jest pod jakim adresem umieszczone i jak wyglada
    > wygenerowany kod assemblerowy.

    Oglądałem i wszystko jest ok.

    > Jesli nie chcesz nam pokazac listingow programu to napisz jakis krotki
    > programik, ktory produkuje ten sam blad. Wtedy bedzie mozna powiedziec
    > cos wiecej.

    Z pokazaniem kodu jest tylko jeden problem - jest za długi żeby tu
    wklejać. Ale żeby pokazać, że jest ok, wkleję co istotniejsze fragmenty.

    bootloader.elf: file format elf32-avr

    Sections:
    Idx Name Size VMA LMA File off Algn
    0 .data 00000004 00800100 0001f764 000017f8 2**0
    CONTENTS, ALLOC, LOAD, DATA
    1 .text 00001764 0001e000 0001e000 00000094 2**1
    CONTENTS, ALLOC, LOAD, READONLY, CODE
    2 .bss 00000452 00800104 00800104 000017fc 2**0

    [...]

    0001e000 <__vectors>:
    1e000: 0c 94 a4 f1 jmp 0x1e348 ; 0x1e348 <__ctors_end>
    1e004: 0c 94 c4 f1 jmp 0x1e388 ; 0x1e388 <__bad_interrupt>
    1e008: 0c 94 c4 f1 jmp 0x1e388 ; 0x1e388 <__bad_interrupt>

    [...]

    0001e348 <__ctors_end>:
    1e348: 11 24 eor r1, r1
    1e34a: 1f be out 0x3f, r1 ; 63
    [...]
    1e380: 0e 94 14 f6 call 0x1ec28 ; 0x1ec28 <main>
    1e384: 0c 94 b0 fb jmp 0x1f760 ; 0x1f760 <_exit>

    0001e388 <__bad_interrupt>:
    1e388: 0c 94 00 f0 jmp 0x1e000 ; 0x1e000 <__vectors>

    [...]

    nt main( void )
    {
    1ec28: 1f 93 push r17
    // u16 i;

    cli();
    1ec2a: f8 94 cli
    TIMSK = 0; // disable timer interrupts
    1ec2c: 17 be out 0x37, r1 ; 55

    /* Enable change of interrupt vectors */
    MCUCR = (1<<IVCE);
    1ec2e: 11 e0 ldi r17, 0x01 ; 1
    1ec30: 15 bf out 0x35, r17 ; 53
    /* Move interrupts to boot flash section */
    MCUCR = (1<<IVSEL);
    1ec32: 82 e0 ldi r24, 0x02 ; 2
    1ec34: 85 bf out 0x35, r24 ; 5

    [...]


    Pliki .hex (zapisany i odczytany) wyglądają ok.
    A może jest coś czym musi się różnić bootloader na ATMega128 od tego dla
    ATMega8?

    Dariusz Żołna

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: