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



Teraz jest 17 lis 2024, o 09:41


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 24 cze 2013, o 12:16 
Offline
Nowy

Dołączył(a): 24 cze 2013
Posty: 22
Pomógł: 0

Witam,
Chciałbym zrobić pewien programator i od razu pojawił się szereg pytań :oops: ale przejdę do rzeczy
Potrzebuje zrobić programator, który odbierał by program z innego uC będącego "buforem" i następnie programował jeszcze inny uC.
||uC"BUFOR"||->>>Wysyłanie programu>>>||Programator||>>>Programowanie>>>||Programowany uC||
W założeniach mój programator byłby zrealizowany na uC jak jest to zrobione w usbasp.
I teraz pytanie, w jaki sposób mógłbym przerobić schemat np usbasp aby takie połączenie mogło działać. Spodziewam się, że usb trzeba będzie zamieć na komunikację miedzy uC, uart/spi, i z pewnością zmieć wkład do programatora.
a może mógłbym to zrealizować w jakiś inny łatwiejszy sposób?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 cze 2013, o 12:18 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3205
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 90

A nie możesz za pomocą USBasp po prostu odczytać wsadu z pierwszego układu i zapisać tym drugi układ?

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 cze 2013, o 12:29 
Offline
Nowy

Dołączył(a): 24 cze 2013
Posty: 22
Pomógł: 0

jestem początkujący, proszę więc o wyrozumiałość gdyż moje pytania pewnie będą ... no jakie będą to będą ;)

Mój bufor w przyszłości będzie odbierał program przez internet i będzie go przekazywał właśnie na programator.

Co do Twojej odpowiedzi, nie bardzo rozumiem zdanie "odczytać wsad", masz na myśli że program z 1 uC pojawi się również w 3? ( zgodnie z moim schematem). No i nie potrafię sobie wyobrazić jak USBasp odczytać z 1uC wsad ? Musiałbym zrobić wysyłanie danych po
usb jak ma np w komputerze ?

Jeśli potrafisz wskazać jakiś artykuł czy stronę, na której mógłbym się oprzeć byłbym wdzięczny, nie zawracał bym wam tak głowy na forum :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 cze 2013, o 13:09 
Offline
Moderator
Avatar użytkownika

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

Ja rozumiem, że jesteś początkujący ale ... tzn inaczej - naprostuję twój nader KOSMICZNY pomysł i sprowadzę cię na właściwe tory:

Deker01 napisał(a):
Mój bufor w przyszłości będzie odbierał program przez internet i będzie go przekazywał właśnie na programator.

ZAPOMNIJ o tym pomyśle raz na AMEN - nie tędy droga - do tego celu stosuje się mechanizm zwany BOOTLOADEREM

warto byłoby przede wszystkim zacząć od jakiejś książki, która sporo ci wyjaśni jeśli chodzi o podstawy to wtedy nie będziesz wpadał na takie kosmiczne pomysły, zobacz tutaj:

http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

poczytasz w niej także o bootloaderze co nie co

a ma to wyglądać tak, że np piszesz sobie bootloader, który właśnie przez Ethernet odbiera dane ..... i można powiedzieć że procek sam się programuje. Znasz pewnie zasadę wgrywania nowego BIOSU do kompa ? ;) to podobna zasada

zresztą poczytaj i obejrzyj to:

http://atnel.pl/mkbootloader.html

_________________
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 cze 2013, o 14:23 
Offline
Nowy

Dołączył(a): 24 cze 2013
Posty: 22
Pomógł: 0

Dziękuje za szybkie odpowiedzi ! :)
Przeczytałem w Pana książce odpowiedni dział i obejrzałem film.
Jednak z tego co zrozumiałem, mój procesor musi mieć w sobie odpowiedni wsad który będzie tak jakby "podmieniał" program.
Chciałbym jednak móc programować procesory które " wyszyły" z fabryki i nie ma w nim odpowiednich wsadów ;)
pomysł pewnie Kosmiczny jak to Pan określił, niestety tak brzmi temat mojego projektu zaliczeniowego :p a mianowicie projekt programatora avr umożliwiającego programowanie przez ethernet ;) Dlatego właśnie chciałem zastosować "bufor" i komunikacje miedzy buforem >> programatorem.
Do września jeszcze trochę czasu dlatego jestem dobrej myśli ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 cze 2013, o 19:54 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Jak wiele własnego wkładu masz włożyć w to zadanie ?
Widzę 2 opcje:
1) Klon STK500v2 + przejściówka Ethernet<->RS232 + HW VSP3-Virtual Serial Port + Eclipse/AVR Studio/MkAVRCalclator - zadanie sprowadzi się do właściwej konfiguracji całości, ale pewnie trzeba będzie zrobić obejście konwertera USB/USART w programatorze i wpiąć się w USART konwertera. Polecam tą drogę tym bardziej, że możesz sobie sprawdzić poszczególne składniki osobno.
2) Podłączyć przejściówkę Ethernet SPI do USBASP i przerobić program. Można będzie skorzystać z gotowych funkcji z pliku isp.c, a wyrzucić te odpowiedzialne za komunikację przez USB. Nie podajesz dokładnie co rozumiesz przez programowanie przez Ethernet, czy odczytanie źródła pliku hex ze strony czy ściągnięcie pliku z serwera czy programowanie w oknie przeglądarki czy jeszcze coś innego. Nie do zrobienia w 3 miesiące z uwagi na fakt, że programator USBASP to również software na PC który koordynuje wszystko.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 cze 2013, o 08:50 
Offline
Nowy

Dołączył(a): 24 cze 2013
Posty: 22
Pomógł: 0

Rzeczywiście troszkę niejasno to opisałem.
1 mikrokontroler ma za zadanie odebrać plik z programem, przechować go w swojej pamięci i wysłać do programatora. Następnie programator ma z tego pliku zrobić pożytek i zaprogramować nim 3 uC.

A jak wiele wkładu mam włożyć w to zadanie ? Powiem szczerze mocno się zdziwiłem czytając wasze odpowiedzi, gdyż prowadzący to ćwiczenie powiedział że kwestię programatora i połączenia z buforem można zamknąć w 2 wieczory. I teraz pytanie czy on miał jakąś wizję którą można było w łatwy sposób zrealizować, czy dał do zrealizowania temat który nie do końca przemyślał ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 cze 2013, o 10:54 
Offline
Moderator
Avatar użytkownika

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

Deker01 napisał(a):
gdyż prowadzący to ćwiczenie powiedział że kwestię programatora i połączenia z buforem można zamknąć w 2 wieczory. I teraz pytanie czy on miał jakąś wizję którą można było w łatwy sposób zrealizować, czy dał do zrealizowania temat który nie do końca przemyślał


a może jest tak, że to ty jednak źle zrozumiałeś założenia ? jesteś na 10000% pewien tego co chcesz zrealizować ? bo może gdzieś popełniasz właśnie błąd. Dla początkującego w tych tematach - tak jak napisał wyżej kolega Krauser nie jest to na pewno temat na 2 wieczory ;)

_________________
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: 25 cze 2013, o 11:02 
Offline
Nowy

Dołączył(a): 24 cze 2013
Posty: 22
Pomógł: 0

Otrzymałem nawet pewne sugestie, żeby na początku złożyć programator zbudowany na uC i zobaczyć czy programuje(stąd te USBasp o które pytałem), potem zająć się przesłaniem pliku z bufora do programatora, i w końcowej fazie zająć się kwestią odbierania danych z ethernetu ;)
Wystosowałem e mail do prowadzącego, ale raczej założenia są jak napisałem ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 cze 2013, o 11:26 
Offline
Moderator
Avatar użytkownika

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

to będziesz miał niezły orzech do zgryzienia ... odpada ci nawet ta prostsza metoda nr.1 o której pisał Krauser z tym STK500 i przejściówką Ethernet/RS232 - bo chcesz mieć buforowanie - a przecież program na PC wysyłający dane do STK500 czy innego programatora - nie pcha ich na ślepo tylko żąda potwierdzeń i odpowiedzi. Nie wiem nawet czy w przypadku STK500 i opóźnień związanych z transmisją Ethernet/RS232 program np AVRDUDE nie zwracałby co chwilę komunikatu że nastąpił TimeOut i Quniec transmisji

zresztą jak miałby wysłać jak ty chciałbyś mieć pomiędzy programatorem a programem AVRDUDE jeszcze jakiś BUFOR ? a komunikacja dwustronna z potwierdzeniami ????

Poszukaj sobie projektu takiego mobilnego programatora AVRów zrobionego przez niego na procku AVR z małym wyświetlaczem LCD z Nokii ;) poczytaj na elektrodzie ile czasu mu to zajęło, ile się zmagał i jaki to kawał roboty

No chyba że na jakimś FPGA postawiłbyś symulator STK500 który przechwyci dane z AVRDUDE ;) ... zbuforuje je a później ten sam symulator zgodnie z protokołem STK500 prześle je dalej do właściwego programatora .....

przepraszam ale to jakiś (jak dla mnie nadal MEGA KOSMICZNY pomysł) w czasach gdy mamy bootloadery i to na nich załatwia się takie rzeczy - bo niech się np transmisja w stk500 zatnie, albo się zawiesi - to jesteś ugotowany. A bootloader po zdalnym resecie (łatwym do realizacji) zawsze wystartuje i na nowo można pchać wsad do procka czy do procków.


ale ..... ale należy mieć na uwadze, że ja też czegoś nie wiem i może się mylę ;) może jednak jest jakiś super prosty sposób .... nie twierdzę że nie - po prostu ja go nie mam - tak bym to ujął. A może twój prowadzący ma i realizował to w 2 a niech nawet i w 5 wieczorów. To uważam że ma głowę na karku ;) i sporą wiedzę - na pewno nie jest początkującym.

_________________
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 wrz 2013, o 21:43 
Offline
Nowy

Dołączył(a): 24 cze 2013
Posty: 22
Pomógł: 0

Witam ponownie w temacie po kilku miesiącach ! ;)
Więc tak, udało mi się zrobić programator po ethernecie :) Nie jakiś tam super, ale programuje Flash, EEprom i fuski na atmege 168.
Nie chcę rozpoczynać ponownie dyskusji czy był sens robienia takiego programatora czy nie ;) był to projekt zaliczeniowy i udało mi się go zaliczyć :D

No ale nie piszę tutaj tylko żeby się pochwalić ;) Mam pewien problem i nie wiem do końca z czego on wynika.
Tyczy się on komunikacji po UDP, a mianowicie mój program od czasu do czasu się zacina.

Zrobiłem 1000 testów i wyszło na to, że program czasem zawiesza się w następujących 2 liniach ( funkcje opierają się na książce Pana Mirka)
Składnia: [ Pobierz ] [ Ukryj ]
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Mój program działa na zasadzie komunikacji komputera z uC. Wysyłam linie programu do uC, ten zaś robi z nią różne rzeczy, i kiedy skończy odsyła do kompa potwierdzenie. Patrząc na WireShark widać że komputer potwierdzenie otrzymuje, i wysyła nową linię.
Czasem właśnie uC odbierze tą linię w jakiś dziwny sposób przez co cały uC się wiesza. Sprawdzając diodą linia po lini kod, doszedłem właśnie do powyższego fragmentu kodu, który najprawdopodobniej jest odpowiedzialny za zawieszenie pracy.
Nie wychwyciłem żadnego schematu w zawieszaniu uC, tz kiedy 'Bombarduje' go hexem składającym się z 600 linii, czasem wiesza się po 9 liniach, czasem po 100, a czasem po 3 krotnym przesłaniu programu (1800linii kodu).
Co jeszcze ciekawe, kiedy program tak sobie wypadnie z schematu, i się zawiesi . . czasem wykonuje mi 2 funkcje ( zawsze te same) , których nie ma prawa wykonać ponieważ są one wywoływane przez odpowiedni rozkaz z komputera. Te 2 funkcje są jednak zawsze wykonywane przed wysłaniem programu. Może więc kiedy program się wiesza, przepełnia się w jakiś sposób stos przez co wykonywane są te funkcje ponownie ???
W czym może tkwić problem? Tak sobie myślę, że może kiedy suma kontrolna się nie zgadza to powyższe funkcje nie przypiszą mi do bufora żadnej wartości, przez co uC nie wyśle potwierdzenia. Co o Tym myślicie ?

Ps Przepraszam za liczne powtórzenia wyrazów, ale nie mam już głowy do słowotwórstwa ;)



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: 11 ] 

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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO