logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[avr][assembler]Kompilacja rozłączna

tmkd 17 Paź 2009 13:51 1925 7
  • #1 7139381
    tmkd
    Poziom 11  
    Witam, jak przeprowadzić kompilację rozłączną w AvrStudio4?
    mam plik main.asm oraz conf.asm. w conf.asm mam funkcję configuration. Gdy piszę tak:
    
    .nolist
    .include "m8def.inc"
    .include "conf.asm"
    .list
    ;STALE i ZMIENNE
    ;==============
    ;moje rejestry robocze
    .def tmp =R17
    .def tmp2=R16 
    .def APP_STATUS =R1
    

    to program wywołuje moja funkcję configuration. I jest to zrozumiałem bo .include wkleja tresc plik .asm. Jak dołączyć ten plik żeby tak się nie działo. Wyjściem byłoby dodanie jego na końcu ale czy jest jakies inne?
  • #2 7139448
    Konto nie istnieje
    Poziom 1  
  • #3 7139477
    tmkd
    Poziom 11  
    Jakie jest profesjonalne podejscie?
  • #4 7139504
    Konto nie istnieje
    Poziom 1  
  • #5 7139537
    tmkd
    Poziom 11  
    :) wiem że profesjonalne to nie robienie tego skoku, tylko chodziło mi o to abyś przykład podał
  • #6 7139610
    Konto nie istnieje
    Poziom 1  
  • #7 7140949
    ZbeeGin
    Poziom 39  
    Możesz jeszcze podzielić kody poprzez zastosowanie .ORG. W pliku conf.asm dopisujesz na początku .ORG <adres> i możesz określić od jakiego adresu ma się on wkomponować w program główny. Oba programy muszą być w segmencie kodu .CSEG.

    Oczywiście należy panować nad sytuacją i nie dopuścić do nałożenia się obu kodów. Dlatego lepiej po prostu odpowiednio umieścić .INCLUDE.
  • #8 7141009
    tmf
    VIP Zasłużony dla elektroda
    Assembler w AVR Studio nie generuje plikow obiektowych i nie linkuje ich, stad problem. Rozwiazaniem jest zastosowanie dyrektywy .ORG z tym, ze jest to IMHO fatalne, bo potem wychodza rozne dziwnosci. Lepiej IMHO podzielic plik conf.asm na czesc zawierajaca definicje i osobny plik zawierajacy kod. Wtedy definicje w obu plikach sobie inkludujesz na poczatku, a na koncu dajesz includa z kodem, ktory byl pierwotnie w tym pliku.
REKLAMA