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

Programator dla AVR'ów -> emulator STK500 na FTDI

awiacek 16 Paź 2011 20:42 8633 9
  • Programator dla AVR'ów -> emulator STK500 na FTDI

    Witam.

    Jakiś czas temu natknąłem się na Elektrodzie na programator dla AVR oparty na przelotce UART/USB (teraz nie mogę znaleźć tej strony). Rozwiązanie od razu przypadło mi do gustu ze względu na to, że zawsze się gdzieś znajdzie taki konwerter, a dodatkowo można jeszcze nim programować.
    Pierwotnie używałem oprogramowania ze strony tvtel.pt i procyonengineering.com. Dzisiaj chciałbym przedstawić software'owy emulator STK500 do programowania AVR'ów przy pomocy znanej rodziny FTDI.

    FTDI (np FT232) służy do jako konwerter USB/ISP, a oprogramowanie uruchomione na PC emuluje programator STK500. Dzięki takiemu rozwiązaniu można w łatwy sposób programować uC ze środowiska AVRStudio bez konieczności uruchamiania dodatkowych skryptów, itp.
    Poniżej rysunek przedstawiający podłączenie AVR'a <-> Programatora <-> AVRStudio

    Programator dla AVR'ów -> emulator STK500 na FTDI

    Dodatkowo należy zainstalować jakieś oprogramowania tworzące wirtualne COM porty w systemie, gdyż STK500 może być ustawione tylko na COM1 i COM2. Ja używam eterlogic

    Fajne? Ranking DIY
    O autorze
    awiacek
    Poziom 12  
    Offline 
    awiacek napisał 11 postów o ocenie 1, pomógł 3 razy. Mieszka w mieście Wrocław. Jest z nami od 2007 roku.
  • #2 10038402
    piotrva
    VIP Zasłużony dla elektroda
    Brzmi ciekawie - muszę przetestować w chwili wolnego czasu.
    A czy nie ma problemu z wyjściem z trybu bitbang po programowaniu i kiedy układ znów może uczestniczyć w transmisji danych via uart?
  • #3 10038965
    awiacek
    Poziom 12  
    piotrva napisał:
    A czy nie ma problemu z wyjściem z trybu bitbang po programowaniu i kiedy układ znów może uczestniczyć w transmisji danych via uart?

    Takiego zachowania nie zaobserwowałem podczas moich testów.

    Jedynie na co trzeba zwrócić uwagę to ustawienie "szybkości" SPI w AVRStudio dla programatora STK500
  • #4 10071201
    piotrekp90
    Poziom 14  
    Ciekawy pomysł. Postanowiłem go przetestować jednak mam problemy z AvrStudio 5 ponieważ nie chce mi wysyłać danych na COM2 ;/ Tak z ciekawości się zapytam w jakim języku został napisany ten programik?
  • #6 10075276
    awiacek
    Poziom 12  
    piotrekp90 napisał:
    mam problemy z AvrStudio 5 ponieważ nie chce mi wysyłać danych na COM2 ;/ Tak z ciekawości się zapytam w jakim języku został napisany ten programik?

    Ja testowałem z AvrStudio5 co prawda mam je zainstalowane na maszynie wirtualnej WinXP pod hostem Win7 (jest tam mapowanie z systemowego UART'a na widziany w maszynie wirtualnej) i nie miałem problemu z połączeniem czy to przez Com1, Com2.
    Programik napisałem pod VC2005 w C++.

    Możesz przetestować AvrStudio w bardzo prosty sposób.
    1. Zainstaluj eterlogic (porty virtualne)
    2. Utwórz virtualny port Com2 i Com(dowolny) np VCom10
    3. Uruchom Hyperterminal i wybierz VCom10
    4. Uruchom AvrStudio i dla STK500 ustaw Com2
    5. Teraz przy wybranu jakiej kolwiek opcji dla STK500 powinieneś widzieć jakieś "krzaczki" na terminalu
    Jeżeli na terminalu nic się nie pojawia możliwe że masz złe ustawienia w AvrStudio albo przy kreowaniu portów wirtualnych
  • #7 10082184
    piotrekp90
    Poziom 14  
    Jak wrócę do pracy to przetestuje sposób o którym napisałeś:) (w domu nie została mi ani jedna sztuka FT232;)) W pracy mam komputer z Win 7 64bit.
  • #8 10303090
    trato
    Poziom 12  
    Uruchomiłem to rozwiązanie w następującej konfiguracji:
    Windows XP SP3
    AVRStudio ver4 i 5, Bascom
    Port virtualny - eterlogic (Com4), (COM1 i 2 na płycie gł)
    FTDI - FT232RL
    Procesor ATMEGA 8

    W każdym przypadku mogłem zgrać program do pliku, wgrać program i zweryfikować.
    Przy EEPROM mam dwa problemy:
    1. Wgrałem Bascom'em STK200 do EEPROM pierwsze 3 bajty "TOM"
    Przy odczycie każdym z programów powyżej w pliku otrzymałem "TTOOMM".
    Weryfikacja odczytanego pliku daje wynik pozytywny.
    Rozmiar odczytanego obszaru jest prawidłowa - 512 bajtów.
    2. Zapis dowolnego pliku kończy się niepowodzeniem.

    Próbowałem zmieniać taktowanie procesora z 1MHz na 8Mhz, prędkość SPI - bez rezultatu.

    Docelowo programator miał być użyty na laptopie z Windows 7 64-bit.
    Sterowniki do FT232 Win7 znalazł bez problemu przez internet.
    Problem mam z programem wirtualnych portów dla 64-bit.

    Proszę o sugestie szczególnie autora tej koncepcji
  • #9 10312307
    awiacek
    Poziom 12  
    trato napisał:
    Uruchomiłem to rozwiązanie w następującej konfiguracji:
    Windows XP SP3
    AVRStudio ver4 i 5, Bascom
    Port virtualny - eterlogic (Com4), (COM1 i 2 na płycie gł)
    FTDI - FT232RL
    Procesor ATMEGA 8

    W każdym przypadku mogłem zgrać program do pliku, wgrać program i zweryfikować.
    Przy EEPROM mam dwa problemy:
    1. Wgrałem Bascom'em STK200 do EEPROM pierwsze 3 bajty "TOM"
    Przy odczycie każdym z programów powyżej w pliku otrzymałem "TTOOMM".
    Weryfikacja odczytanego pliku daje wynik pozytywny.
    Rozmiar odczytanego obszaru jest prawidłowa - 512 bajtów.
    2. Zapis dowolnego pliku kończy się niepowodzeniem.

    Próbowałem zmieniać taktowanie procesora z 1MHz na 8Mhz, prędkość SPI - bez rezultatu.

    Docelowo programator miał być użyty na laptopie z Windows 7 64-bit.
    Sterowniki do FT232 Win7 znalazł bez problemu przez internet.
    Problem mam z programem wirtualnych portów dla 64-bit.

    Proszę o sugestie szczególnie autora tej koncepcji


    Czy mam rozumieć, że wgranie hex'a do flash'a jest poprawne jedynie co sprawia "kłopot" to EEPROM zapis/odczyt ? Jeżeli, tak podeślij mi plik dla eeprom'u to sprawdzę co sie dzieje.
    Jeżeli chodzi o Win7 64bity to możesz poszukać dowolnego emulatora portu virtualnego, nie musi być ten do którego podałem link (ten znalazłem pierwszy).
  • #10 10392043
    asdas12
    Poziom 1  
    Pomysł bardzo fajny, jednak mam problem z uruchomieniem tego oprogramowania. Za każdym razem otrzymuję komunikat "Błąd otwarcia portu [x]". Początkowo myślałem, że to problem z virtualnym portem, bo nie jest on widoczny w menedżerze urządzeń. Jednak AVR studio widzi nowo utworzony port, więc to chyba nie to. Próbowałem na dwóch różnych komputerach (XP SP3), w tym jeden świeżo po reinstalacji. To samo. Co do fizycznego portu USB-COM FTDI, jest on widziany poprawnie.
REKLAMA