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!newsfeed.gazeta.pl!wsisiz.edu.pl!newsfeed.neostrada.pl!
    atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
    From: "T.M.F." <t...@n...mp.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Czy WinAVR radzi sobie z kodem dla ATMega128?
    Date: Tue, 27 Jan 2009 16:10:38 +0100
    Organization: TP - http://www.tp.pl/
    Lines: 19
    Message-ID: <gln88t$nv9$1@atlantis.news.neostrada.pl>
    References: <glg5ms$o4h$1@inews.gazeta.pl>
    <12qqt5spanttr.19nfq2lnf20v8$.dlg@40tude.net>
    <glkfla$pmo$1@inews.gazeta.pl> <gllk40$g58$1@news.wp.pl>
    NNTP-Posting-Host: dur240.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: atlantis.news.neostrada.pl 1233069149 24553 83.22.25.240 (27 Jan 2009
    15:12:29 GMT)
    X-Complaints-To: u...@n...neostrada.pl
    NNTP-Posting-Date: Tue, 27 Jan 2009 15:12:29 +0000 (UTC)
    User-Agent: Thunderbird 2.0.0.18 (Windows/20081105)
    In-Reply-To: <gllk40$g58$1@news.wp.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:555156
    [ ukryj nagłówki ]

    > No to pozostaje korzystać z pgm_read_byte_far() i podobnych. Uważaj też
    > na funkcje typu strcpy_P, printf_P, memcpy_P itd - nie zadziałają bo
    > trzeba im podać wskaźniki 16- a nie 32-bitowe. Podobnie bez dodatkowego
    > "obejścia" nie zadziałają wskaźniki na funkcje, używane np. w tablicach
    > skoków. Ot taka "zaleta" dużej pamięci w procku bądź co bądź
    > 8/16-bitowym. Przerabiałem to ostatnio w zdwojonej formie walcząc z
    > jeszcze większym ATmega2561.

    Co do wskaznikow na funkcje to nie wydaje mi sie, zeby w ATMega128 byl z
    tym problem. CALL wykorzystuje adres slowa, czyli w 16 bitach moze
    skakac po calym 128 kB obszarze. Problem zaczyna sie w ATMega256.
    Wewnetrzne tabele skokow generowane przez gcc odbywaja sie poprzez ICALL
    i rejestr Z, czyli tez maja mozliwosc skoku po calych 128kB.
    Niestety w gcc nie ma zaimplementowanych modeli pamieci, implementacja
    24-bitowych wskaznikow ze wzgledu na strukture gcc tez jest trudna, a
    32-bitowe to marnotrawstwo. Ale widze, ze powoli jednak rozwoj avr-gcc
    idzie w kierunku modeli pamieci i bedziemy mieli cos znane z czasow
    Borlanda i 80286.

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: