avr-gcc adresy funkcji

Loading thread data ...

W dniu 2015-03-23 o 19:50, pawel pisze:

Może awk?

Reply to
Mario
Reply to
Grzegorz Niemirowski
Reply to
Grzegorz Niemirowski

W dniu poniedziałek, 23 marca 2015 21:31:15 UTC+1 użytkownik bravo napisał:

A moze ten tool sie przyda

formatting link
avr-nm w avr-gcc.

Pzdr Krystian

Reply to
k.krasinski

kompilacji/linkowania

A nie możesz użyć avr-objdump? Tylko już na pliku zawierającym zlinkowaną całość bo inaczej będą adresy lokalne obiektu. Warto też skomplikować całość z opcją -g wtedy objdump wygeneruje mix źródła z asm + adresy.

Reply to
Marek

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

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

Reply to
Sebastian Biały

A elf"a nie generuje? Spróbuj:

avr-objdump -tShd file.bin > dump

Reply to
Marek

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ę ;)?

Reply to
Marek

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.

Reply to
Marek

Ten bin na pewno jest elfem?

Reply to
Marek

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?

Reply to
Marek

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

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.

Reply to
Sebastian Biały

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.