Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 20:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
Autor Wiadomość
PostNapisane: 23 kwi 2016, o 22:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 kwi 2016
Posty: 35
Pomógł: 0

Przede wszystkim witam wszystkich na forum.

Po obejrzeniu ton poradników wideo Mirka, zdecydowałem się za zakup zestawu oraz programatora ATB-USB-RS232. Nie jest może najtańszy, ale podoba mi się projekt i jakość wykonania. Za to napewno warto zapłacić.

Przy okazji wielkie podziękowania Mirku za te poradniki, choć gaduła z Ciebie straszna ;).

Na codzień pracuję na Mac OS X, ale - żeby nie komplikować sobie życia - przygodę z programowaniem AVR chciałem rozpocząć na Windows. Mam wirtualną maszynę z Windows 10, więc teoretycznie nie powinien być to problem. Praktyka pokazała jednak, że podłączanie ATB-USB-RS232 do maszyny wirtualnej niekoniecznie musi być beproblemowe. Raz działało, raz nie - obstawiam problem z wirtualnym portem USB. Dałem sobie spokój, bo co to za praca, skoro nie jest się pewnym czy błąd wynika z mojej winy, czy akurat wirtualna maszyna nie może się w prawidłowy sposób dostać do programatora.

Chcąc nie chcąc, musiałem ustawić środowisko na Mac OS X. Niestety w sieci nie ma zbyt wiele materiałów, a te co są są przestarzałe, a już w prawie wcale nie ma informacji jak skonfigurować ATB-USB-RS232, czy chociaż jakieś inne FT232R.

No ale koniec końców udało się i obowiązkowy LED program działa :).




Moje krótkie notatki poniżej, może komuś się przydadzą:

Środowisko do programowania AVR on Mac OS X

- Instalujemy najnowsze Java SDK.
- Instalujemy Eclipse Mars.
- NIE instalujemy CrossPack (większość poradników tak właśnie zaleca, ale to stary pakiet, plus jego avrdude nie ma libusb, ani libftdi). Jeśli CrossPack jest już zainstalowany, najlepiej go odinstalować (jest sktypt uninstall w katalogu /usr/local/Crosspack)
- Nie ma potrzeby instalować sterowników ze stron FTDI.
- Zamiast tego instalujemy manager pakietów dla Mac OS X o nazwie Brew (http://brew.sh).

Zainstalować manager pakietów BREW, a następnie:
    brew install libftdi
    brew install libusb
    brew insall avrdude
    brew tap osx-cross/avr
    brew install avr-libc

Biblioteki dostępne w avrdude można sprawdzić:
otool -L `which avrdude`

Kopiujemy standardowy avrdude.conf w jakieś “swoje” miejsce i dodajemy programator ATB-USB-RS232:
Kod:
programmer
  id    = "ATB-FT232R";
  desc  = "ATB-FT232R ATNEL";
  type  = "ftdi_syncbb";
  connection_type = usb;
  miso  = 3;  # CTS
  sck   = 5;  # DSR
  mosi  = 6;  # DCD
  reset = 7;  # RI
;


Konfigurujemy Eclipse (Preferences):

Eclipse / Preferences / AVR / AVRDude
- use custom configuration file, wskazując na avrdude zawierający definicję programmera jak wyżej (po ustawieniu najlepiej przerestartować Eclipse, żeby zaczytał definicję programatorów)
- Dodajemy konfigurację nowego programatora. Ponieważ wcześniej wskazaliśmy własny plik avrdude.conf, na liście pojawi się ATB-FT232R.
- W definicji programmera w Eclipse trzeba ustawić "Override default port (-P): ft0" oraz "Use this field to add any avrdude option not covered by the plugin: -B4800".

Eclipse / Preferences / AVR / Paths
- ustawić ścieżki na /usr/local/Cellar/… (jeśli nie ma aliasów /usr/loca/bin/avr*
- tylko “Atmel Part Description Files” ma prawo być z wykrzyknikiem (pewnie będzie), reszta musi być OK.

I już można cieszyć się środowiskiem z ATB-USB-RS232 na naszym Jabłku :).


Chętnie usłyszę jakieś porady dotyczące tego ograniczenia do 2400bps. Program obowiązkowy LED ma kilka bajtów i wgrywa się i tak szybko, ale coś większego może już na 2400bps wgrywać się trochę dłużej. Z drugiej strony swoją przygodę z sieciami zaczynałem od modemu 2400 bez sprzętowej korekcji błędów, więc i tuaj dam radę ;).
EDIT: Problem z ograniczeniem do 2400bps rozwiązany i uwzględniony w tym poście. Szczegóły kilka postów niżej.

Pozdrawiam,
Michał.



Ostatnio edytowano 16 maja 2016, o 15:47 przez taszyn, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 kwi 2016, o 22:50 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

No i proszę ja np nie mam pojęcia o Linuxie a już o MAC to w ogóle, a tu proszę .... ludziska dają radę na każdym systemie ;)

Gratulacje!

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2016, o 08:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 kwi 2016
Posty: 35
Pomógł: 0

mirekk36 napisał(a):
No i proszę ja np nie mam pojęcia o Linuxie a już o MAC to w ogóle, a tu proszę .... ludziska dają radę na każdym systemie ;)

Gratulacje!


Dziękuję :).

BTW: Jakiś pomysł na konieczność ustawnienia tak wolnej (2400bps) transmisji?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2016, o 09:07 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

taszyn napisał(a):
Jakiś pomysł na konieczność ustawnienia tak wolnej (2400bps) transmisji?

Ja nie znam się na MAC'u - zakładam, że w procku ustawiasz większą ale wtedy ci nie działa ..... To o tyle dziwne, że na PC można sobie ustawiać jaką się żywnie spodoba

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2016, o 10:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 kwi 2016
Posty: 35
Pomógł: 0

mirekk36 napisał(a):
Ja nie znam się na MAC'u - zakładam, że w procku ustawiasz większą ale wtedy ci nie działa ..... To o tyle dziwne, że na PC można sobie ustawiać jaką się żywnie spodoba


Hm, więc może tutaj robię błąd? Powinienem coś ustawić w ATmega albo ATB-USB-RS232? Zakładałem, że nie.

Może jak zwiększę taktowanie procka, to będzie lepiej? Aktualnie jest na standardowym 1Mhz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2016, o 10:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

A ja bym to wrzucił do poradników jednak ...
Gratulacje ... niech pożeracze ogryzków też mają a co ...

mirekk36 napisał(a):
Ja nie znam się na MAC'u


A tam ... bierzesz Apple <to był jeszcze porządny sprzęt Macintosh) gryziesz i masz MACA :) (element pop kultury dla szowinistów ,zmacany przez intela )


:)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2016, o 10:32 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

taszyn napisał(a):
Aktualnie jest na standardowym 1Mhz.

Ło matko ;) no tego to nie podejrzewałem .... Przy 1 MHz nie licz na więcej ... więc to nie wina MAC'a tylko twoja bo kompletnie pominąłeś zajrzenie do noty PDF na ostatnią stronę rozdziału USART dowolnego procka AVR, szybko byś zobaczył, do jakiej prędkości możesz sobie pozwolić przy danym taktowaniu ....

hmmm chyba nie masz Bluebooka co? a tam to wyjaśniałem i nie tylko to ... Przypomnę tylko jak będziesz patrzył na te tabelki to interesują ciebie TYLKO te prędkości dla których wartości błędu są +/- 2%

i co teraz ? widzisz ? ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2016, o 10:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 kwi 2016
Posty: 35
Pomógł: 0

mirekk36 napisał(a):
taszyn napisał(a):
Aktualnie jest na standardowym 1Mhz.

Ło matko ;) no tego to nie podejrzewałem .... Przy 1 MHz nie licz na więcej ... więc to nie wina MAC'a tylko twoja bo kompletnie pominąłeś zajrzenie do noty PDF na ostatnią stronę rozdziału USART dowolnego procka AVR, szybko byś zobaczył, do jakiej prędkości możesz sobie pozwolić przy danym taktowaniu ....

hmmm chyba nie masz Bluebooka co? a tam to wyjaśniałem i nie tylko to ... Przypomnę tylko jak będziesz patrzył na te tabelki to interesują ciebie TYLKO te prędkości dla których wartości błędu są +/- 2%

i co teraz ? widzisz ? ;)


Bluebooka mam, a pewnie zaraz zamówię też zestaw 1.05 z Green Bookiem.

O taktowaniu "dziwnymi" częstotliwościami też pamiętam i nawet mam chyba wszystkie możliwe kwarce do 20Mhz, włącznie z tymi na których UART chodzi zawsze bez błędów.

Tylko jakoś nie pomyślałem, że to dotyczy takę programowania przez ATB-USB-RS232, ale podłączonego przez Kanda. Jednak ten programator koniec końców pospina się do pinów MOSI/MISO/SCK, a nie portu UART procesora.

No ale teraz wszystko jasne - zwiększę częstotliwość do 8MHz na wew. oscylatorze, sprawdzę na "kompatybilnej" prędkości, z potem podłączę także zewnętrzny kwarc. Dzięki za podpowiedź :).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2016, o 12:01 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

taszyn napisał(a):
Tylko jakoś nie pomyślałem, że to dotyczy takę programowania przez ATB-USB-RS232, ale podłączonego przez Kanda. Jednak ten programator koniec końców pospina się do pinów MOSI/MISO/SCK, a nie portu UART procesora.

No ale teraz wszystko jasne - zwiększę częstotliwość do 8MHz na wew. oscylatorze, sprawdzę na "kompatybilnej" prędkości, z potem podłączę także zewnętrzny kwarc. Dzięki za podpowiedź

Nie no zaraz ;) ale poczekaj bo ja już nie wiem do końca o czym my mówimy ... ustalmy to ok?

Bo programowanie przez ATB-USB-RS232 oczywiście, że nie ma nic wspólnego z tym co napisałem wyżej tzn częstotliwościami w tabelkach USART ... To o czym mówiłem ma związek z komunikacją RS232 np przez MkBootloadera ....

A ty mówisz o procesie programowania procka ? To podpowiedz mi - gdzie tam widzisz prędkość 2400 ? to może coś się wyjaśni i dojdziemy gdzie leży problem jaki masz.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2016, o 12:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 kwi 2016
Posty: 35
Pomógł: 0

mirekk36 napisał(a):
Nie no zaraz ;) ale poczekaj bo ja już nie wiem do końca o czym my mówimy ... ustalmy to ok?

Bo programowanie przez ATB-USB-RS232 oczywiście, że nie ma nic wspólnego z tym co napisałem wyżej tzn częstotliwościami w tabelkach USART ... To o czym mówiłem ma związek z komunikacją RS232 np przez MkBootloadera ....

A ty mówisz o procesie programowania procka ? To podpowiedz mi - gdzie tam widzisz prędkość 2400 ? to może coś się wyjaśni i dojdziemy gdzie leży problem jaki masz.


Jestem jak najbardziej za ustaleniem o czym mówimy :).

Zobacz proszę na obrazek z mojego pierwszego posta (na screenshot jest jeszcze 4800, na 100% ruszyło dopiero przy 2400). Z tego co widzę takie ustawienie powoduje, że w avrdude dodawany jest parametr -b2400.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2016, o 12:16 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

taszyn napisał(a):
Zobacz proszę na obrazek z mojego pierwszego posta (na screenshot jest jeszcze 4800, na 100% ruszyło dopiero przy 2400). Z tego co widzę takie ustawienie powoduje, że w avrdude dodawany jest parametr -b2400.

hmm powinno działać w ogóle bez tego parametru czyli tak jakby była ustawiona prędkość 115200 ... Dziwne, ale wiesz co ? Sprawdź to jeszcze proszę jeśli możesz na komputerze z Windows. Ale nie na maszynie wirtualnej tylko na fizycznym kompie innym ... Najlepiej wtedy z programem MkAvrCalculator ... i gdyby w nim było coś nie tak to daj mi znać ok ?

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2016, o 12:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 kwi 2016
Posty: 35
Pomógł: 0

mirekk36 napisał(a):
hmm powinno działać w ogóle bez tego parametru czyli tak jakby była ustawiona prędkość 115200 ... Dziwne, ale wiesz co ? Sprawdź to jeszcze proszę jeśli możesz na komputerze z Windows. Ale nie na maszynie wirtualnej tylko na fizycznym kompie innym ... Najlepiej wtedy z programem MkAvrCalculator ... i gdyby w nim było coś nie tak to daj mi znać ok ?


Jasne, spróbuję na PC/Win i dam znać :).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 kwi 2016, o 17:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 kwi 2016
Posty: 35
Pomógł: 0

Na fizycznej maszynie z Win 10 mkAVR Calculator działa poprawnie.

Jednak Eclipse już nie, mimo że skonfigurowałem ten sam "atnelowski" avrdude, z jego oryginalnym avrdude.conf. Znaczy, że mkAVR Calculator musiał robić coś jeszcze, co nie było zdefiniowane w avrdude.conf. No i chyba robi. Podejrzałem, że podczas wykrywania procka mkAVR Calc wykonuje swoisty fallback używając komendy -B4800 (UWAGA: wielkie -B4800, nie -b4800, czy -b2400).

Dodatkowo musi wprost (niezgodnie z definicjami w avrdude.conf) wysyłać do avrdude numer portu, bo bez zdefiniowanego portu Eclipse chce korzystać z LPT1, żeby łączyć się z programatorem.

Więc finalnie w Eclipse (fizyczny PC/Windows), w definicji programatora, ustawiłem:
- Override default port (-P): ft0
- Use this field to add any avrdude option not covered by the plugin: -B4800

Od tego momentu na PC/Windows wszystko było OK.

Wróciłem więc do Eclipse pod Mac OS i zrobiłem to samo, plus usunąłem ograniczenie 2400 z "override default baudrate". Od tego momentu wszystko śmiga jak pod Windows :), a nawet lepiej, bo z nowszym avrdude (6.3, "atnelowski" jest bodajże 5.11). Żeby jednak używać nowszego avrdude, trzeba nieco zmodyfikować avrdude.conf, gdyż nie ma już takiego typu programatora jak "rt245r". To zapewne dotyczy wersji pod każdy system operacyjny, po prostu zmienili to w nowszej wersji avrdude. Poprawny typ to "ftdi_syncbb", tak jak to podałem w pierwszym poście tego wątku.

Za to z "atnelowskiego" avrdude.conf warto skopiować definicję ATmega8A, bo domyślnie w nowym avrdude.conf jej nie ma i trzeba używać ATmega8 i ignorować błąd sygnatury. Nie wiem, czy definicja 8A różni się czymś od 8 oprócz samej sygnatury, już nie chciało mi się tego sprawdzać i po prostu skopiowałem :P.

Mirku, jeśli podeślesz mi źródło mojego pierwszego posta, to go uaktualnię i będzie można go wrzucić z powrotem, tak by była spójna instrukcja dla Macowców :). (bo samemu chyba nie mogę edytować poprzednich postów?)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO