eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPamięć RAM w armgcc
Ilość wypowiedzi w tym wątku: 5

  • 1. Data: 2011-03-30 16:26:18
    Temat: Pamięć RAM w armgcc
    Od: Mario <m...@p...onet.pl>

    Witam,
    jak sprawdzić ile pamięci w procku zużyją mi moje zmienne i system -
    Freertos.
    Kompilator codesourcery.

    --
    Pozdrawiam
    MD


  • 2. Data: 2011-03-30 16:33:26
    Temat: Re: Pamięć RAM w armgcc
    Od: mk <m...@o...pl>

    W dniu 2011-03-30 18:26, Mario pisze:
    > Witam,
    > jak sprawdzić ile pamięci w procku zużyją mi moje zmienne i system -
    > Freertos.
    > Kompilator codesourcery.
    >

    arm-none-eabi-size

    pzdr
    mk


  • 3. Data: 2011-03-30 21:51:58
    Temat: Re: Pamięć RAM w armgcc
    Od: Mario <m...@p...onet.pl>

    W dniu 2011-03-30 18:33, mk pisze:
    > W dniu 2011-03-30 18:26, Mario pisze:
    >> Witam,
    >> jak sprawdzić ile pamięci w procku zużyją mi moje zmienne i system -
    >> Freertos.
    >> Kompilator codesourcery.
    >>
    >
    > arm-none-eabi-size
    >

    Dzięki.
    Znalazłem w makefile, że te polecenie ( w postaci ELFSIZE) jest
    wywoływane w:

    sizeafter:
    @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER);
    $(ELFSIZE); \ 2>/dev/null; echo; fi

    dając na koniec kompilacji:

    Size after:
    text data bss dec hex filename
    30732 308 32074 63114 f68a MD1768_Main.elf

    Z tego co się zorientowałem segmenty data i bss stanowią obszar ram
    (data zainicjowane a bss niezainicjowane zmienne)

    No i pojawia mi się problem bo gdy dodam odrobinkę zmiennych to wywala
    mi się kompilacja z powodu nie mieszczenia się sekcji bss w regionie 'ram'.
    Zdziwiło mnie to trochę bo lpc1768 ma 64kb ram a wygląda, że nie można
    użyć więcej niż 32k.

    W pliku LPC17xx_Linker_Script.ld znalazłem wpis:
    MEMORY
    {
    rom (rx) : ORIGIN = 0x00000000, LENGTH = 512K
    ram (rwx) : ORIGIN = 0x10000000, LENGTH = 32K
    }

    To jest plik wzięty z przykładem FREERTOSa z ich strony. No i albo dali
    plik jakiegoś z innego cortexa mającego 32k ram albo ja czegos nie wiem
    i drugie 32k idzie na coś innego :(
    Oczywiście zaraz zmienię ten wpis ale nie jestem, pewien jak ustawić stos.
    w oryginale jest _StackTop = (0x10000000 + 0x8000) - 16;
    chyba zmienię 0x8000 na 0xf000

    --
    Pozdrawiam
    MD


  • 4. Data: 2011-03-30 22:57:32
    Temat: Re: Pamięć RAM w armgcc
    Od: Michoo <m...@v...pl>

    W dniu 30.03.2011 23:51, Mario pisze:
    > To jest plik wzięty z przykładem FREERTOSa z ich strony. No i albo dali
    > plik jakiegoś z innego cortexa mającego 32k ram albo ja czegos nie wiem
    > i drugie 32k idzie na coś innego :(
    > Oczywiście zaraz zmienię ten wpis ale nie jestem, pewien jak ustawić stos.
    > w oryginale jest _StackTop = (0x10000000 + 0x8000) - 16;
    > chyba zmienię 0x8000 na 0xf000
    Hint - 20 strona dokumentacji.

    --
    Pozdrawiam
    Michoo


  • 5. Data: 2011-03-30 23:50:49
    Temat: Re: Pamięć RAM w armgcc
    Od: Mario <m...@p...onet.pl>

    W dniu 2011-03-31 00:57, Michoo pisze:
    > W dniu 30.03.2011 23:51, Mario pisze:
    >> To jest plik wzięty z przykładem FREERTOSa z ich strony. No i albo dali
    >> plik jakiegoś z innego cortexa mającego 32k ram albo ja czegos nie wiem
    >> i drugie 32k idzie na coś innego :(
    >> Oczywiście zaraz zmienię ten wpis ale nie jestem, pewien jak ustawić
    >> stos.
    >> w oryginale jest _StackTop = (0x10000000 + 0x8000) - 16;
    >> chyba zmienię 0x8000 na 0xf000
    > Hint - 20 strona dokumentacji.
    >

    No tak, już znalazłem. dwa 16kb bloki pamięci AHB dedykowane -jedna do
    Eth, druga do USB adresy 0x2007C000 i 0x20080000. Może lpcusb nie
    korzysta z tego bloku od usb i jakoś go wykorzystam.

    --
    Pozdrawiam
    MD

strony : [ 1 ]


Szukaj w grupach

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: