eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › avr-gcc generowanie pliku bin
Ilość wypowiedzi w tym wątku: 3

  • 1. Data: 2012-02-12 18:02:38
    Temat: avr-gcc generowanie pliku bin
    Od: Michał Lankosz <m...@t...pl>

    Zainstalowane mam AVR Studio 5, wraz z gcc. Chciałem automatycznie
    generować plik bin. Poszperałem trochę i znalazłem, że należy użyć
    polecenia:

    avr-objcopy.exe --output-target binary ...

    Wpisałem w okienko "Post build event command line":

    $(QUOTE)$(AVR_APP_PATH)avr-objcopy.exe$(QUOTE) --output-target binary
    $(OutputFile) $(Name).bin

    i otrzymałem plik o długości 8 454 152 B, a powinien mieć 11 514 B.
    Dlaczego? Program jest dla ATmega128. Teraz używam jakiegoś znaleziska
    hex2bin.exe, ale zastanawia mnie, jak to zrobić za pomocą avr-objcopy
    (lub inaczej z wykorzystaniem narzędzi wbudowanych w kompilator). Nie
    chce mi się jednocześnie bawić we własny makefile.

    Plik HEX:
    :100000000C94C4020C94E3020C94E3020C94E302FB
    :100010000C94E3020C94E3020C94E3020C94E302CC
    :100020000C94E3020C94E3020C94E3020C94E302BC
    :100030000C947A060C94E3020C94E3020C94E30211
    :100040000C94E3020C94E3020C94C6030C94410359
    :100050000C94E3020C94E3020C94E3020C94E3028C
    .......
    :102C70004A3318F0495D31FD4052419302D0A9F723
    :102C8000EACFB4E0A6959795879577956795BA951D
    :102C9000C9F700976105710508959B01AC010A2EE3
    :102CA00006945795479537952795BA95C9F7620FBA
    :0E2CB000731F841F951FA01D0895F894FFCF79
    :102CBE000D0A206E65772062617564726174653AE3
    :102CCE00202564000D0025303278003D2530327805
    :102CDE0020000000000300000000E50200000000DC
    :0C2CEE000301FF01010101081929090080
    :00000001FF

    Nie wiem co to za 'zakłócenie' w linijce o adresie 0x2CB0, przecież
    obszar jest ciągły...

    Binarka zaraz za programem zawiera zera, tylko na samym końcu jakieś
    różne od zera (podgląd HEX):
    0080FFF0: 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00
    00810000: 01 FF 01 01 01 01 00 00 |

    Michał


  • 2. Data: 2012-02-12 19:03:03
    Temat: Re: avr-gcc generowanie pliku bin
    Od: Sebastian Biały <h...@p...onet.pl>

    On 2012-02-12 19:02, Michał Lankosz wrote:
    > Binarka zaraz za programem zawiera zera, tylko na samym końcu jakieś
    > różne od zera (podgląd HEX):

    avr-objdump -h -S prg.elf >prg.lst

    Dowiesz się co to jest.


  • 3. Data: 2012-02-12 20:36:30
    Temat: Re: avr-gcc generowanie pliku bin
    Od: Michał Lankosz <m...@t...pl>

    W dniu 2012-02-12 20:03, Sebastian Biały pisze:
    > On 2012-02-12 19:02, Michał Lankosz wrote:
    >> Binarka zaraz za programem zawiera zera, tylko na samym końcu jakieś
    >> różne od zera (podgląd HEX):
    >
    > avr-objdump -h -S prg.elf >prg.lst
    >
    > Dowiesz się co to jest.

    Dzięki Sebastian za podpowiedź! Moje środowisko już generuje ten plik
    pod nazwą *.lss.
    Domyślałem się, że coś nie tak z sekcjami... "Zawadzała" sekcja .eeprom.
    Poradziłem sobie linijką:
    $(QUOTE)$(AVR_APP_PATH)avr-objcopy.exe$(QUOTE) -j .text -j .data -O
    binary $(OutputFile) $(Name).bin

    Przy pierwszej próbie nie dałem -j .data, a to jest wymagane. Widać
    muszę się dokształcić bo nie wiem co to jest VMA i LMA. Może ktoś zna
    miejsce, gdzie jest to wszystko PROSTO opisane.

    Michał

    Mój plik .lss
    aes_tx.elf: file format elf32-avr

    Sections:
    Idx Name Size VMA LMA File off Algn
    0 .data 00000066 00800100 00002530 000025e4 2**0
    CONTENTS, ALLOC, LOAD, DATA
    1 .text 00002530 00000000 00000000 000000b4 2**1
    CONTENTS, ALLOC, LOAD, READONLY, CODE
    2 .bss 00000158 00800166 00800166 0000264a 2**0
    ALLOC
    3 .eeprom 00000005 00810000 00810000 0000264a 2**0
    CONTENTS, ALLOC, LOAD, DATA
    4 .stab 00001008 00000000 00000000 00002650 2**2
    CONTENTS, READONLY, DEBUGGING
    5 .stabstr 00000346 00000000 00000000 00003658 2**0
    CONTENTS, READONLY, DEBUGGING
    6 .debug_aranges 000000a0 00000000 00000000 0000399e 2**0
    CONTENTS, READONLY, DEBUGGING
    7 .debug_pubnames 000000ae 00000000 00000000 00003a3e 2**0
    CONTENTS, READONLY, DEBUGGING
    8 .debug_info 00000b3d 00000000 00000000 00003aec 2**0
    CONTENTS, READONLY, DEBUGGING
    9 .debug_abbrev 00000636 00000000 00000000 00004629 2**0
    CONTENTS, READONLY, DEBUGGING
    10 .debug_line 00000cdb 00000000 00000000 00004c5f 2**0
    CONTENTS, READONLY, DEBUGGING
    11 .debug_frame 000000a0 00000000 00000000 0000593c 2**2
    CONTENTS, READONLY, DEBUGGING
    12 .debug_str 000002e1 00000000 00000000 000059dc 2**0
    CONTENTS, READONLY, DEBUGGING
    13 .debug_loc 000007a8 00000000 00000000 00005cbd 2**0
    CONTENTS, READONLY, DEBUGGING
    14 .debug_pubtypes 0000015e 00000000 00000000 00006465 2**0
    CONTENTS, READONLY, DEBUGGING
    15 .debug_ranges 00000068 00000000 00000000 000065c3 2**0
    CONTENTS, READONLY, DEBUGGING

    Michał

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: