Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[ASM][Ubuntu][AVR] W czym pisać i jak kompilować?

wojtek8-7 01 Feb 2011 19:35 3074 13
  • #1
    wojtek8-7
    Level 12  
    Witam.

    Od pewnego czasu próbuję skompilować jakiś program napisany w asemblerze dla AVR w systemie Ubuntu, niestety nie wychodzi mi to. W jakim programie można napisać, edytować i skompilować program dla AVR. Kompilator może być innym narzędziem, zależy mi tylko, żebym mógł w końcu napisać i skompilować program do *.hex.
  • #4
    wojtek8-7
    Level 12  
    Próbowałem AVRA niestety bez efektu. Podczas kompilacji pliku z rozszerzeniem *.s wywala mi błąd już w pierwszej linii kodu:

    .INCLUDE "TN2313DEF.INC"

    .ORG 00
    RJMP RESET

    .ORG 0X001
    RJMP INTERRUPT0
    .......

    Jest to program który w Win XP i AVRStudio działał bez problemu.

    Do eclipse nie mogłem znaleźć wtyczki ASM, chyba że jest inna możliwość używania Eclipse.
  • #5
    tymon_x
    Level 30  
    wojtek8-7 wrote:
    Do eclipse nie mogłem znaleźć wtyczki ASM, chyba że jest inna możliwość używania Eclipse.

    Coś takiego pasuje: Combining C and assembly source files ?

    wojtek8-7 wrote:
    Próbowałem AVRA niestety bez efektu. Podczas kompilacji pliku z rozszerzeniem *.s wywala mi błąd już w pierwszej linii kodu:

    .INCLUDE "TN2313DEF.INC"

    Raczej inc małymi literami (zgodność mała/duża litera). Korzystasz z Linuxa, więc powinieneś wiedzieć że wielkość ... liter ma znaczenie (; Zrób przykład, jest folderze examples. Sam przetestowałem go na Ubuntu, więc śmiga. A jest troszeczkę bardziej złożony od Twojego listingu :D
  • #6
    LordBlick
    VIP Meritorious for electroda.pl
    Osobiście używam avrasm2.exe z minimalnym otoczeniem pod wine. Powód jest prozaiczny - avra jeszcze nie radzi sobie dobrze z preprocesorem C (wyrażenia #pragma itp. użyte w plikach nagłówkowych Atmela), a używam go na potęgę, bo wtedy nie mam problemu z przenoszeniem kodu.
    Atmel odszedł od dyrektywy ".device" na rzecz odpowiednich deklaracji w pliku nagłówkowym a avra akurat poszedł w drugą stronę, co mi się wydaje niepotrzebne. To nie optymalne, żeby podczas asemblacji przy okazji każdej linijki w sprawdzana była lista urządzeń, zamiast konkretnych parametrów urządzenia. Przy parametryzacji mamy ten efekt, że każdy użytkownik jest w stanie sobie sam dodać nowe urządzenie od ręki w wygodnym tekstowym pliku nagłówkowym.
  • #7
    wojtek8-7
    Level 12  
    Light-I wrote:
    avra jeszcze nie radzi sobie dobrze z preprocesorem C (wyrażenia #pragma itp. użyte w plikach nagłówkowych Atmela)


    Też już natrafiłem na ten problem...

    Plik AVRASM od kolegi asembler nie działa, skąd można pobrać ten program?
  • #9
    wojtek8-7
    Level 12  
    Zainstalowałem AVRStudio w win7, znalazłem i przekopiowałem do Ubunut folder AvrAssembler2 ale nie wiem jak skompilować program.
  • #10
    Neverhood
    Level 16  
    A próbowałeś skorzystać standardowo z avr-gcc + bibliotek(avrlib?). Zajmuje to 2 , czy 3 kliknięcia ? :) Dokładniej chodzi mi zawarty tam podprogram avr-as, który według wszelkich znaków powinien być kompilatorem asemblera. Następnie standardowo wydobyć z powstałego plik hex za pomocą avr-objcopy. Disasembler u mnie działa.
  • #12
    wojtek8-7
    Level 12  
    Light-I wrote:
    Potrafisz pisać skrypty powłoki ?


    Niestety nie. To aż tak skomplikowane?
  • Helpful post
    #13
    LordBlick
    VIP Meritorious for electroda.pl
    wojtek8-7 wrote:
    Light-I wrote:
    Potrafisz pisać skrypty powłoki ?
    Niestety nie. To aż tak skomplikowane?
    Dla mnie nie jest, bo kiedyś nie bałem się plików wsadowych .bat pod windows...
    Raz napisany skrypt oszczędza wiele czasu w porównaniu do klepania wszystkich parametrów dla avrasm2.exe z "palca". No chyba, ze uda ci się zainstalować całe AVRStudio w wine...
  • #14
    wojtek8-7
    Level 12  
    Dzięki wszystkim za zainteresowanie i pomoc.