eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › avr-gcc adresy funkcji
Ilość wypowiedzi w tym wątku: 26

  • 11. Data: 2015-03-25 20:31:57
    Temat: Re: avr-gcc adresy funkcji
    Od: "pawel" <p...@p...onet.pl>

    > Pliki .o nie zawieraja *jeszcze* adresów.

    Też już do tego doszedłem :)

    > Napisz dokładnie do czego to potrzebujesz. Prawdopodobnie szukasz czegoś
    > innego niż myślisz.

    Chodzi o oszczędność pamięci ram oczywiście :)
    Na początku programu muszę odwołać się do tych funkcji tzn przekazać je jako
    parametr do innej funkcji bibliotecznej
    i zapomnieć tzn zwolnić pamięć ram.
    Ponieważ do atmegi mam podłączoną pamięć dataflash i mogę przesyłać na nią
    pliki binarne i tekstowe to chciałbym:
    - wygenerować plik z adresami funkcji po kompilacji
    - załadować go na stałę do dataflash
    - później przy każdym uruchomieniu programu zaalokować pamięć odczytać do
    niej zawartość pliku z adresami przekazać do funkcji bibliotecznej i zwolnić
    pamięć.

    Paweł



  • 12. Data: 2015-03-25 21:22:19
    Temat: Re: avr-gcc adresy funkcji
    Od: Marek <f...@f...com>

    On Wed, 25 Mar 2015 20:24:42 +0100, "pawel" <p...@p...onet.pl>
    wrote:
    > A jak go wygenerować?
    > Bo linker generuje mi tylko program wynikowy .bin.

    A elf"a nie generuje? Spróbuj:

    avr-objdump -tShd file.bin > dump

    --
    Marek


  • 13. Data: 2015-03-25 21:29:19
    Temat: Re: avr-gcc adresy funkcji
    Od: Marek <f...@f...com>

    On Wed, 25 Mar 2015 17:29:52 +0100, Sebastian
    Biały<h...@p...onet.pl> wrote:
    > Pliki .o nie zawieraja *jeszcze* adresów.

    E tam nie zawierają, zawierają adresy jako absolutne lokalne offsety
    obiektu ;)

    objdump -tShd main.o |less
    Disassembly of section .text:

    00000000 <init_leds>:

    void init_leds(void) {

    ClrWdt();
    0: 24030001 li v1,1
    4: 3c020000 lui v0,0x0
    8: ac430000 sw v1,0(v0)


    Kto zgadnie architekturę ;)?

    --
    Marek


  • 14. Data: 2015-03-25 21:35:28
    Temat: Re: avr-gcc adresy funkcji
    Od: "pawel" <p...@p...onet.pl>

    > A elf"a nie generuje? Spróbuj:

    Generuje. Ale to nie jest dla debugera?

    > avr-objdump -tShd file.bin > dump

    Niestety File format not recognized

    Paweł



  • 15. Data: 2015-03-25 21:35:32
    Temat: Re: avr-gcc adresy funkcji
    Od: Marek <f...@f...com>

    On Wed, 25 Mar 2015 20:31:57 +0100, "pawel" <p...@p...onet.pl>
    wrote:
    > Chodzi o oszczędność pamięci ram oczywiście :)
    > Na początku programu muszę odwołać się do tych funkcji tzn
    przekazać je jako
    > parametr do innej funkcji bibliotecznej
    > i zapomnieć tzn zwolnić pamięć ram.
    > Ponieważ do atmegi mam podłączoną pamięć dataflash i mogę przesyłać
    na nią
    > pliki binarne i tekstowe to chciałbym:
    > - wygenerować plik z adresami funkcji po kompilacji
    > - załadować go na stałę do dataflash
    > - później przy każdym uruchomieniu programu zaalokować pamięć
    odczytać do
    > niej zawartość pliku z adresami przekazać do funkcji bibliotecznej
    i zwolnić
    > pamięć.

    Chyba nie rozumiem. Próbujesz kod przechowywać w zew. flash a później
    go ładować do ram i tam go uruchamiać?
    Wydawało mi się, że atnega ma arch. harvard i ciężko będzie coś
    takiego zrobić.
    No chyba, że ma możliwość adresowania (uruchamiania) kodu z zew.
    flasha poprzez dodatkowe piny typu external bus.

    --
    Marek


  • 16. Data: 2015-03-25 21:45:28
    Temat: Re: avr-gcc adresy funkcji
    Od: Marek <f...@f...com>

    On Wed, 25 Mar 2015 21:35:28 +0100, "pawel" <p...@p...onet.pl>
    wrote:
    > Niestety File format not recognized

    Ten bin na pewno jest elfem?

    --
    Marek


  • 17. Data: 2015-03-25 21:46:51
    Temat: Re: avr-gcc adresy funkcji
    Od: "pawel" <p...@p...onet.pl>

    > Chyba nie rozumiem. Próbujesz kod przechowywać w zew. flash a później go
    > ładować do ram i tam go uruchamiać?
    Nic z tych rzeczy. Chcę pobrać tylko adresy funkcji zapisane w pliku
    (wskaźniki). Jak mam wskaźnik do funkcji to przecież
    mogę ją wykonać. Oczywiście są to wskaźniki do funkcji w pamięci programu :)

    Paweł



  • 18. Data: 2015-03-25 21:52:58
    Temat: Re: avr-gcc adresy funkcji
    Od: Marek <f...@f...com>

    On Wed, 25 Mar 2015 21:46:51 +0100, "pawel" <p...@p...onet.pl>
    wrote:
    > Nic z tych rzeczy. Chcę pobrać tylko adresy funkcji zapisane w
    pliku
    > (wskaźniki). Jak mam wskaźnik do funkcji to przecież
    > mogę ją wykonać. Oczywiście są to wskaźniki do funkcji w pamięci
    programu :)

    A wywołanie jej "normalnie" jest złe, bo...?
    Czy czasem nie zaczynasz rozwiązywać problemy nie istniejące w innych
    arch.? Czemu nie użyjesz mcu odpowiedniego do danego zadania?

    --
    Marek


  • 19. Data: 2015-03-25 21:53:08
    Temat: Re: avr-gcc adresy funkcji
    Od: Sebastian Biały <h...@p...onet.pl>

    On 2015-03-25 20:31, pawel wrote:
    > Chodzi o oszczedno?ae pamieci ram oczywi?cie :)
    > Na pocz?tku programu musze odwo?aae sie do tych funkcji tzn przekazaae je jako
    > parametr do innej funkcji bibliotecznej
    > i zapomnieae tzn zwolniae pamieae ram.

    AVR mają harvarda i takie sztuczki sa kłopotliwe.

    > Poniewa? do atmegi mam pod??czon? pamieae dataflash i moge przesy?aae na ni?
    > pliki binarne i tekstowe to chcia?bym:
    > - wygenerowaae plik z adresami funkcji po kompilacji
    > - za?adowaae go na sta?e do dataflash

    A dlaczego nie może być w Flash? Jeśli może, a boisz się że zajmie RAM w
    czasie inicjacji zmiennych globalnych, to zainteresuj się skryptem
    linkera i atrybutami sekcji. Przypuszczalnie jesteś w stanie taką
    "tablicę adresów funkcji" w trywialny sposób sobie zrobić bezpośrednio
    we flashu. Swoją drogą robi się tak tablicę wektorów przerwań w wielu
    cpu napędzanych gcc.


  • 20. Data: 2015-03-25 22:24:03
    Temat: Re: avr-gcc adresy funkcji
    Od: "pawel" <p...@p...onet.pl>

    >
    > Ten bin na pewno jest elfem?
    >
    Mam dwa pliki .bin i .elf.
    Użyłem polecenia na pliku .elf i wypluło masę informacji trochę podobnych do
    tych z pliku .map :)


strony : 1 . [ 2 ] . 3


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: