Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ECLIPSE + programator AVR oparty na FT232RL

mirekk36 20 Sie 2011 18:04 20096 40
  • ECLIPSE + programator AVR oparty na FT232RL
    Witam,

    Od dawna wiadomo sporej liczbie osób, że do programowania mikrokontrolerów AVR można wykorzystać sprzętowy programator oparty o prościutki ale jakże popularny układ FT232RL. W podstawowej formie pełni on rolę przejściówki USB/RS232 a przy okazji wystarczy w pełni do zaprogramowania AVR'ków. Przypomnę choćby temat znany już z elektrody:

    https://www.elektroda.pl/rtvforum/viewtopic.php?t=1918938&highlight=

    Wiadomo, że jeśli chodzi o system Windows to można wykorzystać w tym celu konsolowy program AVRDUDE aby programować poprzez FT232R. Na jego bazie można z kolei wykorzystać znane zapewne nakładki graficzne na avrdude jak: AVRDUDEGUI czy też MkAvrCalculator.

    Nie widziałem jednak jak dotąd rozwiązania pozwalającego na wykorzystanie takiego programatora opartego na FT232R wprost pod ECLIPSE. Myślę, że jednym z powodów takiego stanu rzeczy jest przykra właściwość albo dolegliwość samego AVRDUDE, który po zaprogramowaniu procesora z wykorzystaniem KONKRETNIE układu FT232, TRZYMA go na sztywno w stanie RESETU !!!

    aby to przerwać trzeba niestety:

    1. albo odłączyć zasilanie kablem USB od układu FT232 i znowu podłączyć (przykre)

    2. albo odłączać kabelek związany z pinem RESET mikrokontrolera.

    Każdy chyba przyzna, że jest do dosyć uciążliwe, żeby nie powiedzieć, że upierdliwe. Z tego powodu mało komu chce się bawić w ten sposób korzystając z tak dobrego środowiska jak ECLIPSE.

    Czy można coś na to poradzić ? wymyśliłem taki hmm sposób albo lepiej nazwać to obejście problemu. Ale na tyle wygodne, że można zapomnieć o powyższych problemach. KONIEC z odłączaniem i przełączaniem jakichkolwiek kabli. Napisałem bowiem mały programik pod Windows, który poza tym, że wspomaga nas w tych działaniach to pełni jeszcze kilka dodatkowych pożytecznych działań.

    Jak zatem program wspomaga pracę w Eclipse podczas programowania?

    Wyświetla on wysuwające się w prawym dolnym rogu ekranu małe okienko z narysowanym klawiszem RESET ;)

    ECLIPSE + programator AVR oparty na FT232RL

    To okienko pełni już dwie pożyteczne funkcje.

    1. rozpoznaje przy okazji numerek virtualnego portu COM pod jakim kryje się nasza przejściówka FT232 (dzięki czemu nie trzeba jej żmudnie szukać ręcznie w menadżerze urządzeń)





    2. posiada programowy !!! klawisz RESET, którym można (bez wyjmowania kabli) zresetować wspomniany układ FT232R bezpośrednio po zaprogramowaniu procka. Dodatkowo okienko znajduje się cały czas na wierzchu ekranu, dzięki czemu pracując w ECLIPSE cały czas jest dostępne "pod ręką". Zamiast wyjmować kable to po prostu wykonujemy jeden KLIK ! i po problemie ;)

    działa to rewelacyjnie, sprawdziłem już wielokrotnie w praktyce. Sam już dosyć często korzystam z tak prostego programatora. Całość prezentuję w zestawie uruchomieniowym, który posiada już wbudowaną przejściówkę USB/RS232 na tym scalaczku FT232.

    najprostszy schemat takiego programatorka do AVR jest poniżej:

    ECLIPSE + programator AVR oparty na FT232RL

    a tutaj przykład połączeń przejściówki USB/RS232 ze złączem ISP/KANDA. Proszę zwrócić uwagę, że nie mamy zajętych linii Rx oraz Tx !!!! to bardzo ważne gdyż równocześnie można ich używać do połączeń przez UART

    ECLIPSE + programator AVR oparty na FT232RL

    -------------------------------

    OK żeby nie powtarzać informacji z podanego wyżej tematu - przejdę dalej do kolejnej opcji programu ATB MANAGER. Posiada on zakładkę o nazwie ECLIPSE a w niej TYLKO dwa klawisze :)

    ECLIPSE + programator AVR oparty na FT232RL

    Instalację oraz deinstalację programatora opartego na FT232 uprościłem do MAXIMUM! Jednym klawiszem instalujemy programator, ale UWAGA!!!! nie dla całego eclipse globalnie. Programator ATB-FT232 instalujemy tylko dla wybranego obszaru roboczego (a może ich przecież być kilka na dysku, jeśli sobie je utworzymy). To wszystko !!! Ważne tylko, żeby w trakcie tego działania sam ECLIPS był wyłączony. Po tym zabiegu - uruchamiamy już Eclips i po wejściu w zakładkę AVRDUDE i programatory - mamy dostępny już nasz ATB-FT232R. Ale jest dostępny TYLKO ten programator i nie ma możliwości wybrania innego.

    Nie jest to jednak zmartwieniem, ponieważ i tak zamierzamy działać tylko na ATB-FT232. Gdyby jednak kiedyś odechciało nam się tego sposobu i postanowimy wrócić do poprzedniej konfiguracji, bo np zakupiliśmy inny zewnętrzny programator - też NIE MA PROBLEMU. Wykorzystujemy drugi klawisz i przywracamy ustawienia domyślne w Eclipse. Zatem znowu po uruchomieniu środowiska mamy dostępne wszystkie programatory obsługiwane przez AVRDUDE - za to znika z listy ATB-FT232. Operacja jest w pełni powtarzalna i za każdym razem pięknie działa.

    Jeśli opis wydaje się zbyt zagmatwany, to na wszelki wypadek zamieszczam tu filmik, który umożliwi obejrzenie jak działa to w rzeczywistości. Z tym, że film zaczyna się od pokazania na początku jak działa się w Eclipse na jakimś standardowym programatorze (tu usbasp) po to żeby pokazać jak płynnie i gładko przechodzi się przez konfigurację na nasz ATB-FT232.

    ECLIPSE + programator AVR oparty na FT232RL

    sam program ATB MANAGER jest do pobrania tutaj LINK


    Fajne!
  • #2 20 Sie 2011 20:51
    ja.czekanski
    Poziom 12  

    mirekk36 napisał:

    Nie widziałem jednak jak dotąd rozwiązania pozwalającego na wykorzystanie takiego programatora wprost pod ECLIPSE. Myślę, że jednym z powodów takiego stanu rzeczy jest przykra właściwość albo dolegliwość samego AVRDUDE, który po zaprogramowaniu procesora, TRZYMA go na sztywno w stanie RESETU !!!

    Twierdzisz, że po zaprogramowaniu procesora przez Avrdude on nie zwalnia linii resetu? U mnie wszystko działa w porządku (usbasp). Może uruchamiasz program z parametrem "-E reset" ("reset will be left activated on program exit")?

  • #3 20 Sie 2011 20:55
    Svavo
    Poziom 23  

    kubx napisał:
    mirekk36 napisał:

    Nie widziałem jednak jak dotąd rozwiązania pozwalającego na wykorzystanie takiego programatora wprost pod ECLIPSE. Myślę, że jednym z powodów takiego stanu rzeczy jest przykra właściwość albo dolegliwość samego AVRDUDE, który po zaprogramowaniu procesora, TRZYMA go na sztywno w stanie RESETU !!!

    Twierdzisz, że po zaprogramowaniu procesora przez Avrdude on nie zwalnia linii resetu? U mnie wszystko działa w porządku (usbasp). Może uruchamiasz program z parametrem "-E reset" ("reset will be left activated on program exit")?

    Ja również nie zauważyłem takiego zjawiska...

  • #4 20 Sie 2011 21:10
    skynet_2
    Poziom 26  

    Również na systemie Linux[2.6.38.11] nie ma tego problemu, zarówno z konsoli czy z eclipse.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Chociaż zdarzyła mi się taka sytuacja 2 razy, kiedy to AVRdude stracił połączenie z USBasp podczas wgrywania wsadu[i układ wisiał na resecie], winna okazała się 30cm przedłużka kabla usb.

  • #5 20 Sie 2011 21:15
    mirekk36
    Poziom 42  

    Panowie, panowie - halo - ale zobaczcie może że ja piszę o programatorze w postaci FT232RL a nie żadnym USBASP ;) .... coś wam się pomyliło ???? (z usbasp nie mam żadnych problemów)

    Więc jeszcze raz przypominam - chodzi o najzwyklejszy scalak FT232R wykorzystywany jako programator sprzętowy. Może po prostu jeszcze nigdy nie korzystaliście z takiego rozwiązania i stąd takie skojarzenia ? Spójrzcie jeszcze raz na ten obrazek:

    ECLIPSE + programator AVR oparty na FT232RL

    tak może wyglądać programator podłączany do USB - bez żadnego procesora w środku. I przeczytajcie jeszcze raz na spokojnie ten temat:

    https://www.elektroda.pl/rtvforum/viewtopic.php?t=1918938&highlight=

    dlatego myślę, że może was to też zainteresować.

  • #6 20 Sie 2011 21:21
    ja.czekanski
    Poziom 12  

    mirekk36 napisał:
    Panowie, panowie - halo - ale zobaczcie może że ja piszę o programatorze w postaci FT232RL a nie żadnym USBASP ;) .... coś wam się pomyliło ???? (z usbasp nie mam żadnych problemów)

    Więc jeszcze raz przypominam - chodzi o najzwyklejszy scalak FT232R wykorzystywany jako programator sprzętowy. Może po prostu jeszcze nigdy nie korzystaliście z takiego rozwiązania i stąd takie skojarzenia ?

    W takim razie mój błąd, ale z tekstu wynikało, że mówisz o avrdude, a nie konkretnym programatorze. Może w takim razie warto zgłosić bug do bugtrackera avrudude lub napisać patcha? Prawdopodobnie jest to kwestia dopisania 2 linii kodu i rekompilacja.

    [edit]
    Czytałem o twoim rozwiązaniu - genialne w swojej prostocie. Mam w planach wykorzystanie tej metody w układzie MCP2200 (Microchip udostępnia DLLkę do sterowania pinami GPIO, więc bitbanging jak najbardziej przejdzie).

  • #7 20 Sie 2011 21:23
    mirekk36
    Poziom 42  

    kubx napisał:
    Może w takim razie warto zgłosić bug do bugtrackera avrudude lub napisać patcha? Prawdopodobnie jest to kwestia dopisania 2 linii kodu i rekompilacja.


    Tak, masz rację to jakiś mały bug w avrdude - bo po prostu, po zaprogramowaniu, jakby nie wyłączał trybu "BitBang Mode" i stąd to zamieszanie. Z tego co mi wiadomo to już kilku kolegów zgłaszało to hmm tam gdzie piszesz - ale na razie żadnego odzewu w tej sprawie.

  • #8 20 Sie 2011 21:54
    skynet_2
    Poziom 26  

    Z dokumentacji AVRdude:

    avrdude/RELEASE_5_10_0/avrdude/avrdude.conf.in:804 napisał:
    #
    # some ultra cheap programmers use bitbanging on the
    # serialport.
    #
    # PC - DB9 - Pins for RS232:
    #
    # GND 5 -- |O
    # | O| <- 9 RI
    # DTR 4 <- |O |
    # | O| <- 8 CTS
    # TXD 3 <- |O |
    # | O| -> 7 RTS
    # RXD 2 -> |O |
    # | O| <- 6 DSR
    # DCD 1 -> |O
    #
    # Using RXD is currently not supported.
    # Using RI is not supported under Win32 but is supported under Posix.


    W uproszczeniu[przejrzyj http://savannah.nongnu.org/patch/?6886] działa pod systemami POSIX czyli Linux i Mac, natomiast coś tam z biblioteki D2XX od FTDI nie działa na Win32.

    W tym przypadku "just a moment please" nie wystarczy ;)

  • #9 20 Sie 2011 22:05
    mirekk36
    Poziom 42  

    skynet_2 napisał:

    W tym przypadku "just a moment please" nie wystarczy ;)


    Wiem że nie wystarczy, dlatego zrobiłem sobie to obejście i działa wyśmienicie.

    A dodam, że ta informacja iż w bibliotekach FTDI pod win32 coś nie działa jest już chyba strasznie dawno przeterminowana. Bo ja z pełnym powodzeniem żongluję za ich pomocą wszystkimi pinami w trybie BitBang. Zresztą zobacz na ten obrazek:

    ECLIPSE + programator AVR oparty na FT232RL

    Widzisz tam za napisem RESET - dwie literki RI - to właśnie sygnał RI, którym ja najspokojniej w świecie operuję pod win32 za pomocą właśnie bibliotek FTxxx.dll

    a zresztą mogę wybrać i korzystać do resetowania nawet samego procka z dowolnego pinu FT232 - nawet jeśli normalnie jest on wejściem. To i tak w trybie BitBang robię z niego wyjście:

    ECLIPSE + programator AVR oparty na FT232RL

  • #10 20 Sie 2011 22:27
    skynet_2
    Poziom 26  

    mirekk36 napisał:
    skynet_2 napisał:

    W tym przypadku "just a moment please" nie wystarczy ;)


    Wiem że nie wystarczy, dlatego zrobiłem sobie to obejście i działa wyśmienicie.

    A dodam, że ta informacja iż w bibliotekach FTDI pod win32 coś nie działa jest już chyba strasznie dawno przeterminowana. Bo ja z pełnym powodzeniem żongluję za ich pomocą wszystkimi pinami w trybie BitBang.


    Nie używałem BitBang na FTDI, więc napisałem tylko to co znalazłem w źródłach AVRdude[akurat robię pewne poprawki].

    Być może jest to kwestia WinAVR, ostatnia wersja to chyba 2010.01.10 a informacje z tego patch'a [ http://savannah.nongnu.org/patch/?6886 ] z grudnia 2010.
    Mógłbyś spróbować prze-kompilować AVRdude z aktualnej gałęzi trunk[ostatni commit 3 dni temu].

    Swoją drogą po co tak się męczysz z tym programatorem, skoro są inne standardowo obsługiwane z AVRdude?

  • #11 20 Sie 2011 22:38
    mirekk36
    Poziom 42  

    skynet_2 napisał:

    Mógłbyś spróbować prze-kompilować AVRdude z aktualnej gałęzi trunk[ostatni commit 3 dni temu].


    Mógłbym - tylko wstyd przyznać ale nie mam zielonego pojęcia jak i czym to kompilować :(

    skynet_2 napisał:
    Swoją drogą po co tak się męczysz z tym programatorem, skoro są inne standardowo obsługiwane z AVRdude?


    No to kolega może nie do końca zrozumiał. Gdybym się miał męczyć to już dawno bym tego nie używał. Taki programator na FT232R to prawdziwy SKARB ;) zawsze jest albo w zestawie uruchomieniowym, albo jest jakaś przejściówka na nim pod ręką albo - co ciekawe i tak często korzystam z tego scalaczka w wielu projektach.

    Dzięki temu zawsze niechcąco mam pod ręką :

    1. programator sprzętowy
    2. przejściówkę USB/RS232
    3. możliwość jeszcze korzystania z Bootloadera

    to źle ? to męczarnia ? ;)

    a ileż razy zdarzyło się, że np zapomniałem do domu programatora i klapa. A teraz ??? - koniec tych problemów zawsze jest FT232 i przyznaję że coraz częściej to z niego właśnie korzystam a nie np z USBASP czy innych.

    Więc to sama przyjemność - tym bardziej, że teraz działa bezpośrednio pod ECLIPSEM ;)

  • #13 20 Sie 2011 23:04
    mirekk36
    Poziom 42  

    mlassota napisał:
    Witam
    Widzę że zrobiłeś specjalizowaną nakładkę dla FTDI. Czy zaimplementowałeś może sygnalizację programowania? Rozważałeś to w wersji dla mkAVRCalculator'a
    Wykonałem programator i brak mi tylko sygnalizacji że działa...
    Pozdrawiam


    Obejrzyj ten załączony filmik. W zestawie uruchomieniowym, na którym przeprowadzam prezentację jest właśnie niebieska dioda LED - która pięknie świeci w trakcie programowania pod Eclipse ;) - MkAvrCalculator też obsługuje tą diodę LED czyli sygnalizację programowania. Masz rację - bardzo ale to bardzo przydatna opcja ;)

  • #14 21 Sie 2011 01:14
    skynet_2
    Poziom 26  

    Mógłbyś uruchomić AVRdude przez skrypt, który przed zakończeniem zresetował by linię RI, prościej i na pewno wygodniej.

    Skoro użyłeś configu diecimila od avrduino, to powinno działać, chociaż może źle używasz linii RI, jeżeli standardowo na stan 0 to masz problem, najprościej byłoby odwrócić linię RI[w configu] i odwrócić ją raz jeszcze sprzętowo[np. tranzystorem].

    Kod: text
    Zaloguj się, aby zobaczyć kod

  • #15 21 Sie 2011 01:27
    mirekk36
    Poziom 42  

    skynet_2 napisał:
    Mógłbyś uruchomić AVRdude przez skrypt, który przed zakończeniem zresetował by linię RI, prościej i na pewno wygodniej.


    Spróbuj pod Eclipsem uruchamiać AVRDUDE przez jakiś skrypt - raczej zapomnij o takim wynalazku. Eclipse - samo odpala AVRDUDE

    skynet_2 napisał:
    Skoro użyłeś configu diecimila od avrduino, to powinno działać, chociaż może źle używasz linii RI, jeżeli standardowo na stan 0 to masz problem, najprościej byłoby odwrócić linię RI[w configu] i odwrócić ją raz jeszcze sprzętowo[np. tranzystorem].


    Ja użyłem swojego wpisu w configu:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Nie wiem co masz na myśli pisząc o odwracaniu linii RI w konfigu niestety :( .... no ale już na pewno nie chciałbym i nie będę instalował żadnego dodatkowego trazystora, rezystora itp ...

    Najlepiej to by było gdyby zrobili łatkę na avrdude i poprawili tego babola. Wtedy nie trzeba byłoby klikać w ten klawisz reset w programie atb manager. Za to nadal pozostałaby w nim fajna opcja do instalacji FT232R jako programatora - bo to działa super ;)

  • #16 21 Sie 2011 02:02
    skynet_2
    Poziom 26  

    mirekk36 napisał:
    Spróbuj pod Eclipsem uruchamiać AVRDUDE przez jakiś skrypt - raczej zapomnij o takim wynalazku. Eclipse - samo odpala AVRDUDE
    Używałem takiego rozwiązania i działało poprawnie[potrzebowałem wgrać soft do 3 uC jednocześnie ponieważ pracowały wspólnie, a przekładanie programatora 3 razy; no cóż jestem na to zbyt leniwy ;)].

    mirekk36 napisał:
    Najlepiej to by było gdyby zrobili łatkę na avrdude i poprawili tego babola. Wtedy nie trzeba byłoby klikać w ten klawisz reset w programie atb manager.
    Tylko że to może nie tyle być bug w AVRdude co w systemie Windows, jeżeli zwalniasz port[zamykasz uchwyt] to być może system zmienia stan linii RI na 0 co przy ~RESET powoduje problem.

    Nie mam zbyt dużego doświadczenia z systemami Windows, więc dalej będziesz musiał sam kombinować.

  • #17 21 Sie 2011 07:05
    mirekk36
    Poziom 42  

    skynet_2 --->

    aaa zaraz zaraz - to ty może mówisz o odpalaniu jakiegoś skryptu spod Eclipse ale pracują na Linuxie co ???? Bo ja przyznam że nie mam pojęcia czy coś takiego jest możliwe pod windows.

    Dodano po 6 [minuty]:

    skynet_2 napisał:
    Tylko że to może nie tyle być bug w AVRdude co w systemie Windows, jeżeli zwalniasz port[zamykasz uchwyt] to być może system zmienia stan linii RI na 0 co przy ~RESET powoduje problem.


    No nie, to nie wina buga w systemie. Układ FT232 powinno się zresetować do domyślnych ustawień przed zamknięciem uchwytu a po zakończeniu pracy w trybie BitBang Mode. Wiem bo przecież sam gdy operuję w tym trybie i przed zakończeniem pracy nie zresetuję FT232 to mogę uzyskać dokładnie taki efekt na wyjściach jak to się dzieje w przypadku avrdude po zaprogramowaniu. Więc to moje lekarstwo - to co robię programem ATB Manager po kliknięciu reset polega właśnie na tym. Otwieram dojście do FT232, wchodzę w tryb BitBang, zmienię stan na nóżce RI (lub innej jeśli wybrana) a potem reset układu i zwolnienie uchwytu. Wtedy wszystko działa.

    Zresztą podobny efekt jest też wtedy gdy się nie zwolni uchwytu do FT232. I tu gdzie musi leżeć bug w avrdude.

  • #18 21 Sie 2011 11:21
    gaskoin
    Poziom 38  

    mirekk36 napisał:
    skynet_2 napisał:

    Mógłbyś spróbować prze-kompilować AVRdude z aktualnej gałęzi trunk[ostatni commit 3 dni temu].


    Mógłbym - tylko wstyd przyznać ale nie mam zielonego pojęcia jak i czym to kompilować :(


    Nie wiesz czym C kompilować ? Wstyd ! :P W projekcie jest makefile więc nie trzeba się za bardzo wysilać. Pod linuksem:

    Code:
    ./bootstrap
    
    ./configure
    make


    Pod windą najprawdopodobniej musiałbyś postawić MINGW albo Cygwina bo nie ma żadnego ludzkiego gcc pod Winde :)
    Kod: mysql
    Zaloguj się, aby zobaczyć kod

  • #19 21 Sie 2011 12:38
    skynet_2
    Poziom 26  

    mirekk36 napisał:
    skynet_2 --->

    aaa zaraz zaraz - to ty może mówisz o odpalaniu jakiegoś skryptu spod Eclipse ale pracują na Linuxie co ???? Bo ja przyznam że nie mam pojęcia czy coś takiego jest możliwe pod windows.
    W Linuksie mogę to załatwić za pomocą skryptu[4 linijki], jeżeli nie możesz użyć skryptu to pozostaje odpalenie przez pośrednika[program].

    Program taki uruchamia AVRdude z otrzymanymi parametrami i czeka jego zakończenie, dodatkowo przed zakończeniem pracy resetuje RI.
    Żeby to poprawnie działało[np. widoczny postęp wgrywania w eclipse] musisz jeszcze przekazać przynajmniej potok stdout z AVRdude.

  • #20 21 Sie 2011 13:54
    mirekk36
    Poziom 42  

    gaskoin --> w ogóle nie używam i nie znam linuxa - "ni w ząb" niestety - dlatego nie wiem jak w nim to zrobić. A tym bardziej pod windą skoro jeszcze są jakieś hocki klocki jak piszesz.

    skynet_2 --> jak widzisz co wyżej napisałem to wiesz, że w linuxie w ogóle nie działam. Tylko i wyłącznie w windows, a tu zdaje się nie ma takiej możliwości żeby wywołać jakiś skrypt zamiast avrdude.

  • #21 21 Sie 2011 14:00
    skynet_2
    Poziom 26  

    skynet_2 napisał:
    jeżeli nie możesz użyć skryptu to pozostaje odpalenie przez pośrednika[program].

    Program taki uruchamia AVRdude z otrzymanymi parametrami i czeka jego zakończenie, dodatkowo przed zakończeniem pracy resetuje RI.
    Żeby to poprawnie działało[np. widoczny postęp wgrywania w eclipse] musisz jeszcze przekazać przynajmniej potok stdout z AVRdude.


    Podmieniasz AVRdude na napisany przez siebie program, który uruchamia AVRdude z innej lokalizacji, na koniec resetujesz RI.

  • #22 21 Sie 2011 14:09
    mirekk36
    Poziom 42  

    skynet_2 napisał:

    Podmieniasz AVRdude na napisany przez siebie program, który uruchamia AVRdude z innej lokalizacji, na koniec resetujesz RI.


    No tak - proste jak drut w zasadzie - tylko będzie trzeba popróbować jakoś ze zwróceniem strumienia stdout ale też i stderr zdaje się - z powrotem do Eclipsa - żeby w nim też nadal ładnie wszystko było widać co się dzieje. Poproóbuję tą metodą ...

    Gdyby się udało to już nie będzie trzeba korzystać w tym celu z klikania w ten przycisk RESET. Za to sam przycisk się przyda i to bardzo ponieważ można podłączyć wybraną linię np do pinu RESET procka przez kondensator 100nF i mieć możliwość resetowania samego procka z poziomu Windows ;) to też bywa przydatne (to kolejna funkcjonalność tego przycisku - o której wcześniej nie wspomniałem)

  • #23 21 Sie 2011 14:52
    xdf0r
    Poziom 13  

    Czyli jako programator może pracować każda przejściówka na FT232 ze znanego serwisu aukcyjnego? Czy trzeba coś przestawiać w ustawieniach FTDI?

  • #24 21 Sie 2011 14:56
    mirekk36
    Poziom 42  

    xdf0r napisał:
    Czyli jako programator może pracować każda przejściówka na FT232 ze znanego serwisu aukcyjnego? Czy trzeba coś przestawiać w ustawieniach FTDI?


    Każda bez wyjątku ;) bez najmniejszego wyjątku. Tylko :

    1. Musi na pewno mieć przynajmniej scalak FT232R
    2. Musi mieć wyjścia w standardzie co najmniej TTL

    i już możesz jej używać jako programator do AVR'ków ;)

    Weź sobie na początek program MkAvrCalculator i procek ATmega8 - i sprawdź jak to działa. W programie wybierz tylko z listy programatorów ten na samej górze o nazwie "ATB-FT232R" ;)

  • #25 21 Sie 2011 15:11
    xdf0r
    Poziom 13  

    Dzięki za szybką odpowiedź :) Obecnie chciałem zaprogramować Atmegę poprzez "Sample electronic programmer" ale niestety na win7 nie mogłem się połączyć z mikrokontrolerem :(
    Mam nadzieję, że działa taki programator na Win7 (64bit)? Jeśli tak to poważnie zastanowię się nad kupnem przejściówki :)

    Jeszcze jedno małe pytanie - są dostępne scalaki FT232 w obudowie dip? Szukałem na stronie i nie ma takich ale zapytam fachowców, gdyż mogłem coś przeoczyć :)

  • #26 21 Sie 2011 15:26
    mirekk36
    Poziom 42  

    xdf0r napisał:

    Mam nadzieję, że działa taki programator na Win7 (64bit)? Jeśli tak to poważnie zastanowię się nad kupnem przejściówki :)


    Ja działam głównie na Windach 7 Ultimate 64bit więc - zero problemu. Na szczęście firma FTDI zrobiła sterowniki pod każdy chyba system operacyjny jaki istnieje na kuli ziemskiej więc spokojnie.

    xdf0r napisał:
    Jeszcze jedno małe pytanie - są dostępne scalaki FT232 w obudowie dip? Szukałem na stronie i nie ma takich ale zapytam fachowców, gdyż mogłem coś przeoczyć :)


    Nie przeoczyłeś :( - nie ma tego w DIP'ie.

  • #28 21 Sie 2011 19:10
    mirekk36
    Poziom 42  

    piotrva napisał:
    Program pobrałem, wykrywa moją przejściówkę USB<>RS232, ale jak ją wybrać w Twoim programie, żeby móc uruchomić np. tryb BitBang?


    Eeeh no tak, zapomniałem, że program był skompilowany z czasu gdy testowałem rozpoznawanie swojej przejściówki wbudowanej w zestaw, dlatego ta wersja może nie pozwala użyć innej, pomimo to że ładnie i prawidłowo ją wykrywa. Jak będę miał chwilę czasu to spróbuję to przekompilować i ew wrzućić tutaj.

  • #30 23 Sie 2011 14:13
    szulat
    Poziom 23  

    zwykle używam usbasp ale właśnie byłem zmuszony użyć FT232 z powodu napięcia 3,3v i co się okazało? avrdude pozostawia reset=0
    zdziwiło mnie to, bo wcześniej ktoś tu pisał na forum że wersja linuksowa nie ma tego błędu.

    ale co się okazuje: patrząc na źródła, avrdude wcale nie przywraca początkowego stanu linii RI. być może w niektórych konfiguracjach to działa inaczej, ale nie dlatego że nie ma błędu, tylko dlatego że ktoś sobie inaczej podłącza poszczególne linie do ISP (na sieci można spotkać kilka wariantów) i akurat używa takiej wersji, gdzie reset jest podłączony do linii która się sama ustawia na 1 po zamknięciu portu.
    ewentualnie hipoteza druga - gdzieś istnieje inna, poprawiona wersja avrdude (ja używam wersji z opisu na stronie http://doswa.com/2010/08/24/avrdude-5-10-with-ftdi-bitbang.html )

    gdyby ktoś chciał sobie poprawić avrdude to jest bardzo proste, wystarczy w funkcji ft245r_close dopisać na początku wywołanie set_reset(pgm, 1); (plik ft245r.c)

    nie jest to całkowicie poprawne rozwiązanie, bo w przypadku błędu transmisji gdy program nie do końca się zaprogramował, być może reset powinien pozostać żeby nie uruchomił się połowicznie zaprogramowny układ (tak robi usbasp)