eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikawskaźniki do flash w WinAVRRe: wskaźniki do flash w WinAVR
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: "Artur M. Piwko" <m...@b...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: wskaźniki do flash w WinAVR
    Date: Sat, 28 Jul 2012 19:03:29 +0200
    Organization: Petroleum Drinkers (;
    Lines: 42
    Message-ID: <s...@b...pl>
    References: <e...@g...com>
    <5...@n...home.net.pl>
    <s...@b...pl> <op.wh3r002fxsy62n@witek>
    Reply-To: m...@b...pl
    NNTP-Posting-Host: 81.26.9.42
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1343495317 24297 81.26.9.42 (28 Jul 2012 17:08:37 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Sat, 28 Jul 2012 17:08:37 +0000 (UTC)
    X-User: pipene
    User-Agent: slrn/pre1.0.0-18 (Linux)
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:634516
    [ ukryj nagłówki ]

    In the darkest hour on Fri, 27 Jul 2012 13:40:02 +0200,
    WTK <w...@w...rubikon.pl> screamed:
    >> Nie można ani tak ani tak. W GCC atrybuty dotyczą tylko elementu, przy
    >> którym występują. Dzięki powyższym deklaracjom umieścisz tab w program
    >> space, ale "inny tekst" nadal będzie w data space. Trzeba to zrobić
    >> dwuetapowo:
    >>
    >> char string[] PROGMEM = "inny tekst";
    >> PGM_P tab[] PROGMEM = { string };
    >
    > Jesteś pewien? Mam w programie, między innymi, taką kostrukcję:
    > prog_char znak [12]={'0','1','2','3','4','5','6','7','8','9','*','#
    '};
    > Gdy zmienię deklarację na:
    > char znak [12]={'0','1','2','3','4','5','6','7','8','9','*','#
    '};
    > to .data rośnie dokładnie o 12 bajtów...
    > Wg tego co piszesz chyba nie powinno.
    >

    Rozpatrywaliśmy tablicę stringów i tego dotyczyła moja wypowiedź.
    Przetestuj podobny przypadek na {"0","1","2",...}.

    Z tego co widzę (obecnie siedzę w ARM-ach) trochę już się zmieniło
    w zakresie prog_charów w avr-gcc - teraz muszę dodawać makro
    __PROG_TYPES_COMPAT__ (avr-gcc 4.7.1 i avr-libc 1.8.0-2).

    Zrobiłem testy i widzę, że conieco się zmieniło w tej materii.
    Obecnie deklaracja tablicy w .text powoduje, że elementy będące
    stringami dołączane są do .text.

    Dawniej było tak, jak piszą w:
    http://www.nongnu.org/avr-libc/user-manual/pgmspace.
    html

    Sekcja: "Storing and Retrieving Strings in the Program Space".

    Którą masz wersję gcc i libc? Mógłbyś sprawdzić ten przykład w swojej
    wersji (jeśli jest starsza)?

    --
    [ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:226B ]
    [ 18:50:17 user up 13243 days, 6:45, 1 user, load average: 0.01, 0.38, 0.97 ]

    If you have to ask what jazz is, you'll never know.

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: