eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPamięć at89c2051Re: Pamięć at89c2051
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!go
    blin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt
    -spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    From: "J.F." <j...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    References: <58d0dfa8$0$651$65785112@news.neostrada.pl>
    In-Reply-To: <58d0dfa8$0$651$65785112@news.neostrada.pl>
    Subject: Re: Pamięć at89c2051
    Date: Tue, 21 Mar 2017 11:16:14 +0100
    MIME-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=original
    Content-Transfer-Encoding: 8bit
    X-Priority: 3
    X-MSMail-Priority: Normal
    Importance: Normal
    X-Newsreader: Microsoft Windows Live Mail 16.4.3528.331
    X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331
    Lines: 40
    Message-ID: <58d0fd70$0$15207$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.30.125.82
    X-Trace: 1490091376 unt-rea-a-02.news.neostrada.pl 15207 83.30.125.82:49343
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:715316
    [ ukryj nagłówki ]

    Użytkownik "Atlantis" napisał w wiadomości grup
    dyskusyjnych:58d0dfa8$0$651$6...@n...neostrada.
    pl...
    >Trafiłem na taką oto dziwną sytuację (zawartość pliku .mem wklejona
    >na
    >końcu wiadomości). Z jakiegoś powodu kilkanaście bajtów na początku
    >pamięci zostało wyłączonych z użytku przez kompilator sdcc. Ktoś ma
    >pomysł dlaczego tak się stało i co mogę z tym zrobić?

    Poczatek RAM to sa rejestry R0-R7. 4 banki takich rejestrow sa, ktore
    mozna sobie przelaczac ... albo uzywac jako normalna pamiec, jesli nie
    przelaczasz.
    Kompilator z tego co widac ominal tylko jeden bank.

    >Druga sprawa: wykonałem kilka eksperymentów i z tego co widzę
    >umieszczenie w kodzie tablicy znaków zdefiniowanej jako const char[]
    >nie
    >powoduje zwiększenia zużycia RAM-u. Mam rozumieć, że 8051/sdcc
    >potrafi
    >odwoływać się do danych umieszczonych w pamięci programu
    >bezpośrednio,
    >bez potrzeby kombinowania z jakimś odpowiednikiem AVR-owskiego
    >pgmspace.h?

    8051 potrafi, ale wymaga takiego samego kombinowania.
    Widac w tym komplitatorze pisze sie const char :-)

    uC musi te dane odczytywac innym rozkazem (MOVC), wiec kompilator musi
    wiedziec, ze to jest inna pamiec, i ze trzeba uzyc innego rozkazu.

    Nie mozesz sobie napisac funkcji np
    void funkcja(char * ptr) {...}
    i przekazywac jej adresy do roznych obszarow

    (Wyjatkiem byl tu Keil, ale to bylo obciazone gorsza wydajnoscia).

    Atlantisie - przeczytaj jakas ksiazke o 8051, albo go wyrzuc, szkoda
    zycia.

    J.

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: