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

Płytka prototypowa atmega128 a linux

nusch 23 Lis 2009 19:56 2433 6
  • #1 7299792
    nusch
    Poziom 15  
    Czy ktoś ma doświadczenie w programowaniu tego pod linuxem ?
    Nie wiem co właściwie jest nazwą tej płytki, z przodu widze "Embedded Systems v.2.01". Oprócz atmegi128 na płytce jest większy układ Xilinx spartan XC2S200+ trochę ledów , buttonów, led display, 2 usb z czego jeden do programowania. Urządzenie zgłasza się jako:
    
    Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
    

    i na Windowsie używałem do tego drivera FTDI + IAR Embeddd workbench w którym ustawiałem wirtualny port COM. Nie zależy mi na zaawansowanym degugowaniu tak jak to było w IAR(choć jeśli to możliwe to też byłoby fajnie). Zainstalowałem gcc-avr toolchain i avrdude. Ten drugi wiem że może służyć do prograamowania "gołego" mikroprocesora ale czy obsłuży również całą tą płytkę? Może istnieją jakieś wygodniejsze narzędzia tego typu pod linuxa ?
  • #2 7300090
    arrevalk
    Poziom 25  
    IAR Embedded Worbench można odpalić na linuxie za pomocą emulatora wine(Link). Proponuje poszukać w googlach informacji o tym jak to zrobić.
    Co do samego programowania to linux chyba najlepszą platformą do tego celu jest. 99.9% projektów opensource wywodzi się z linuxa i działa na nim sprawnie.
    Sam korzystam z linuxa jako platformy do programowania avr/arm (a to nie wszystkie procesory które można programować).
  • #3 7300161
    nusch
    Poziom 15  
    Ok. Ale wolabym jakieś natywne aplikacje. Czego sam używasz do tego? i czy ten interfejs FTDI to jakiś standard czy rozwiązanie pojedynczej firmy i jest wiele takich?
  • #4 7300214
    tmf
    VIP Zasłużony dla elektroda
    FTDI to tylko chip realizujacy konwersje USB-RS232 czy co tam ma twoj procesor. Na stronie FTDI sa informacje jak zainstalowac sterownik pod linuxem (jest to dosyc pokrecone). A do debuggowania to raczej tylko gdb - w tandemie z Eclipse dziala sprawnie (chociaz jak dla mnie sprawnie inaczej). No i mozna zainstalowac w wine AVR Studio - na AVRFreaks jest info jak to zrobic.
  • #5 7300958
    arrevalk
    Poziom 25  
    nusch napisał:
    Ok. Ale wolabym jakieś natywne aplikacje. Czego sam używasz do tego?

    Natywne to gcc + openocd/avrdude (lub inny w zależności od architektury) i do tego IDE (ja używam Code::Blocks, ale tu już jak kto woli byle by wygodnie było).

    @Pituś Bajtuś
    Subiektywną opinią jest to że uważam linux za idealną platformę do programowania. Ale już faktem jest że zdecydowana większość projektów opensource to aplikacje natywne dla linuxa.
    A specjalnie dla Ciebie fragment mojego posta z wyjaśnieniem:
    arrevalk napisał:

    jako platformy do programowania avr/arm (a to nie wszystkie procesory które można programować<na platformie linuxowej>).

    I proponuję w tym miejscu zakończyć publiczną dyskusję nie związaną z tematem wątku(jak pragniesz ją kontynuować zapraszam na pw).
  • #6 7301228
    nusch
    Poziom 15  
    Ok napisałem sobie skrypt który dziala z moją płytką:
    
    #!/bin/sh
    FNAME="$1"
    avr-gcc -mmcu=atmega128 -o $FNAME.o $FNAME.c
    avr-objcopy -j .text -j .data -O ihex $FNAME.o $FNAME.hex
    avrdude -c jtag1 -P /dev/ttyUSB0 -p m128 -U flash:w:$FNAME.hex
    


    W jaki sposób używać tego openocd ? Nie mogę znaleźć nigdzie żadnej dokumentacji a w man openocd czy to jest jakis dodatek który pozwala gdb debugować uruchomiony program czy raczej samodzielna aplikacja

    I jeszcze pytanie czym można zastąpić prefixy zmiennych
    __no_init, __flash
    z IAR w gcc-avr.
  • Pomocny post
    #7 7303191
    arrevalk
    Poziom 25  
    OpenOCD to soft obsługujący debuggery JTAG, ja go używam do programowania/debugowania procesorów ARM. Ale z tego co można wyczytać w sieci coś się dzieje wokół wsparcia dla AVR-ów.
    OpenOCD komunikuje się z JTAG-iem i udostępnia dwa serwery debugowania telnet oraz gdb(do tego drugiego można podłączyć się samym gdb i debugować program). A manual do OpenOCD można znaleźć albo w paczce ze źródłami albo na stronie projektu :Link.
    nush napisał:
    I jeszcze pytanie czym można zastąpić prefixy zmiennych

    Warto pogrzebać w manualach do avr-libc oraz IAR. Ale __flash (jeżeli tu chodzi o dane umieszczane w pamięci FLASH) można zastąpić:
    __attribute__ ((section (".text")))
    .
REKLAMA