eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaARM RIDE7 sekcje text, data i bssRe: ARM RIDE7 sekcje text, data i bss
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!nf1.ipartners.pl!ipartners.pl!news2.ipa
    rtners.pl!not-for-mail
    From: JDX <j...@o...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: ARM RIDE7 sekcje text, data i bss
    Date: Fri, 20 Jan 2012 03:24:48 +0100
    Organization: N/A
    Lines: 42
    Message-ID: <jfaja4$snq$1@news2.ipartners.pl>
    References: <6...@o...googlegroups.com>
    <4f17dfab$0$1255$65785112@news.neostrada.pl>
    <jf8q4n$25a$1@inews.gazeta.pl>
    <4f17f500$0$1225$65785112@news.neostrada.pl>
    <3...@e...googlegroups.com>
    <s...@b...pl>
    <d...@k...googlegroups.com>
    <jf9li5$djc$1@news2.ipartners.pl>
    <9...@c...googlegroups.com>
    NNTP-Posting-Host: ip-157-25-36-56.multimo.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    X-Trace: news2.ipartners.pl 1327026308 29434 157.25.36.56 (20 Jan 2012 02:25:08 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: 20 Jan 2012 02:25:08 GMT
    In-Reply-To: <9...@c...googlegroups.com>
    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0) Gecko/20111222 Thunderbird/9.0.1
    X-Enigmail-Version: 1.3.4
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:623908
    [ ukryj nagłówki ]

    On 2012-01-19 19:05, slawek7 wrote:
    > Wiem co masz na mysli a slowo sztuczki bylo uzyte przeze mnie na
    > wyrost.
    > Moje pytanie powinno brzmiec jak w ARMach zadeklarowac jakas tablice
    > np tekst do umieszczenia w pamieci flash i jak potem odczytac?

    *KOMPILATOR:*
    $arm-none-eabi-gcc --version
    arm-none-eabi-gcc.exe (Sourcery G++ Lite 2010.09-51) 4.5.1
    Copyright (C) 2010 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    *ŹRÓDŁO:*
    char tab1[3] = {'a', 'b', 'c'}; /* To ląduje w .data */
    char tab2[3]; /* To ląduje w .bss */
    const char tab3[3] = {'c', 'd', 'e'}; /* To ląduje w .rodata */
    const char tab4[3]; /* To ląduje w .bss */

    char *napis1 = "Napis 1.\n"; /* To ląduje w .data */
    const char *napis2 = "Napis 2.\n"; /* To ląduje w .data */
    char napis3[] = "Napis 3.\n"; /* To ląduje w .data */
    const char napis4[] = "Napis 4.\n"; /* To ląduje w .rodata */

    int main(int argc, char* argv[])
    {
    return (int)(tab1[0]+tab2[0]+tab3[0]+tab4[0]);
    }

    *KOMPILACJA:*
    $arm-none-eabi-gcc -mcpu=arm7tdmi -nostdlib -Wl,-Map=testrom.map
    -Wl,--entry=main -o testrom.elf testrom.c

    No i teraz pooglądaj sobie plik .map i popatrz gdzie wylądowały
    poszczególne tablice.

    A to pod jakimi adresami będą znajdować się poszczególne sekcje i w
    związku z tym w jakim rodzaju pamięci mają wylądować to już sobie
    ustalasz sam pisząc (lub modyfikując) skrypt linkera. No i musisz mieć
    świadomość tego, że czasami być może będziesz musiał dostarczyć własny
    kod kopiujący odpowiednie sekcje z ROM do RAM jeśli domyślny nie wystarczy.

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: