Goto page 1, 2 Next
sundayman
Guest
Thu Oct 09, 2014 8:22 pm
Nastał u mnie sezon cudów...
Jest tak :
Urządzenie z atmegą 128.
Programuję sobie z użyciem MkAvr Calculatora (bo wygodny), albo np.
SinaProg oraz programatora USBASP.
No i od czasu do czasu zdarza się, że coś się przy programowaniu wywali,
po czym oczywiście atmega przestaje dawać oznaki życia.
Ok, zatem za pomocą zestawu program + kabelek do LPT + generator 4Mhz
stawiam atmegę na nogi. Znaczy resetuję fusy.
(tutaj zapodany program dosowy i schemat kabelka ;
http://www.edaboard.com/thread131804.html)
Wracam zatem do SinaProga - atmega się zgłasza, ustawiam ponownie fusy
poprawnie.
Wydaje się, że będzie OK.
Ale nieeeeee - programowanie flesha wywala przy weryfikacji błędy.
Programowanie eeprom - ok.
I tak sobie próbuję n-razy ten flash zaprogramować. Zawsze błąd
weryfikacji. Po którymś razie - wywala się AVRDUDE, i atmega znowu
wylatuje w kosmos. Znaczy fusy spieprzone.
I tak można się bawić w kółko macieju.
Mógłbym podejrzewać, że USBASP coś nie halo - ale jak wymienię atmegę na
nową - będzie ok. (przerabiałem to).
Może ktoś mi to wyjaśnić ??
sundayman
Guest
Thu Oct 09, 2014 8:31 pm
Jeszcze spróbuję to samo z AVRDRAGON, bo mam pod ręką.
Ale jakoś przeczucie mi mówi, że nic to nie zmieni...
sundayman
Guest
Thu Oct 09, 2014 8:47 pm
A jeszcze słowo dodatkowe ;
ostatnie wywalenie zrobiłem z MkAVrCalculator, i przy programowaniu
flasha miałem włączony podglad AVR DUDE.
I tenże mi wyświetlił na koniec programowania, że fusy zostały zmienione
; znaczy poprzednio była jakaś wartość (np. 3F) a teraz 00, i czy chcę
przywrócić poprzednie wartości y/n.
Oczywiście dałbym Yes, ale to okienko podglądu w MkAvrCalculator nie
jest responsywne, więc oczywiście dupa i atmega padła.
Ale - ważniejsze jest, że wygląda na to, że podczas programowania są
czasem zmieniane wartości fusów i to jest ciekawe - dlaczego ??
Marek
Guest
Thu Oct 09, 2014 8:52 pm
On Thu, 09 Oct 2014 22:22:52 +0200, sundayman
<sundayman@poczta.onet.pl> wrote:
Quote:
No i od czasu do czasu zdarza się, że coś się przy programowaniu
wywali,
po czym oczywiście atmega przestaje dawać oznaki życia.
Ok, zatem za pomocą zestawu program + kabelek do LPT + generator
4Mhz
stawiam atmegę na nogi. Znaczy resetuję fusy.
Tak trochę offtopicznie (nie znam się na atmegach stąd pytam). Co to
za problem, że atmega przy programowaniu "sie wywali"? Że jakoś
specjalnie trzeba stawiać na nogi po błędnym flaszowaniu? Nie można
po prostu jeszcze raz zaprogramować? Opisujesz to tak, jakby samym
procesem programowania można było coś popsuć.
--
Marek
sundayman
Guest
Thu Oct 09, 2014 8:54 pm
Quote:
Tak trochę offtopicznie (nie znam się na atmegach stąd pytam). Co to za
problem, że atmega przy programowaniu "sie wywali"? Że jakoś specjalnie
trzeba stawiać na nogi po błędnym flaszowaniu? Nie można po prostu
jeszcze raz zaprogramować? Opisujesz to tak, jakby samym procesem
programowania można było coś popsuć.
No bo można. Błędne ustawienie fusów powoduje, że programowanie ISP
przestaje działać.
W lepszym przypadku daje się to przywrócić przez podłączenie
zewnętrznego generatora i odpowiednią operację na ISP.
W gorszym - tylko wyciąganie układu i programowanie go równoległe (w
moim przypadku to bez sensu, bo atmega 128 jest TQFP 64 więc jak
wylutuję, to łatwiej wstawić nową niż walczyć ze starą...)
Marek
Guest
Thu Oct 09, 2014 9:29 pm
On Thu, 09 Oct 2014 22:54:11 +0200, sundayman
<sundayman@poczta.onet.pl> wrote:
Quote:
No bo można. Błędne ustawienie fusów powoduje, że programowanie ISP
przestaje działać.
Myślałem, że ISP jest podstawowym i zawsze działającym programowaniem
bez
względu na konfigurację.
--
Marek
sundayman
Guest
Thu Oct 09, 2014 9:34 pm
Quote:
Myślałem, że ISP jest podstawowym i zawsze działającym programowaniem
bez względu na konfigurację.
no niestety nie.
Ale że Atmel nie zrobił jakoś prościej możliwości zerowania MCU , to imo
nieporozumienie.
Oprócz ISP jest jeszcze (w mniejszych modelach) "szeregowe programowanie
wysokonapięciowe", z jakąś rozsądną ilością pinów, ale duże atmegi imo
mają tylko "pełne" programowanie równoległe jak ratunek, a to w
przypadku procesorów TQFP jest jakieś nieporozumienie.
Jeśli się mylę, to niech ktoś wyprostuje...
Guest
Thu Oct 09, 2014 11:37 pm
użytkownik Marek napisał:
Quote:
Opisujesz to tak, jakby samym
procesem programowania można było coś popsuć.
Nie znasz megi/tiny:) Sa 2 mozliwosci, jak ustawisz
reset na IO lub wylaczysz ISP, a tak se wymyslili.
Pomaga przerobka programatora i podanie na reset
zamiast 5V - 12V, tak jak w picakach.
Paweł Pawłowicz
Guest
Fri Oct 10, 2014 8:40 am
W dniu 2014-10-09 22:22, sundayman pisze:
Quote:
Nastał u mnie sezon cudów...
Jest tak :
Urządzenie z atmegą 128.
Programuję sobie z użyciem MkAvr Calculatora (bo wygodny), albo np.
SinaProg oraz programatora USBASP.
No i od czasu do czasu zdarza się, że coś się przy programowaniu wywali,
po czym oczywiście atmega przestaje dawać oznaki życia.
Ok, zatem za pomocą zestawu program + kabelek do LPT + generator 4Mhz
stawiam atmegę na nogi. Znaczy resetuję fusy.
(tutaj zapodany program dosowy i schemat kabelka ;
http://www.edaboard.com/thread131804.html)
Wracam zatem do SinaProga - atmega się zgłasza, ustawiam ponownie fusy
poprawnie.
Wydaje się, że będzie OK.
Ale nieeeeee - programowanie flesha wywala przy weryfikacji błędy.
Programowanie eeprom - ok.
I tak sobie próbuję n-razy ten flash zaprogramować. Zawsze błąd
weryfikacji. Po którymś razie - wywala się AVRDUDE, i atmega znowu
wylatuje w kosmos. Znaczy fusy spieprzone.
I tak można się bawić w kółko macieju.
Mógłbym podejrzewać, że USBASP coś nie halo - ale jak wymienię atmegę na
nową - będzie ok. (przerabiałem to).
Może ktoś mi to wyjaśnić ??
Być może masz za długi kabelek od programatora do mikrokontrolera lub
ustawiłeś za dużą szybkość programowania. Zapnij zworkę SLOW w USBAsp i
zobaczysz, czy błąd się powtarza. Ale będziesz dłuuuuugo czekać.
P.P.
Piotr GaĹka
Guest
Fri Oct 10, 2014 9:09 am
Użytkownik "sundayman" <sundayman@poczta.onet.pl> napisał w wiadomości
news:m16v4t$as6$1@node2.news.atman.pl...
Quote:
Oprócz ISP jest jeszcze (w mniejszych modelach) "szeregowe programowanie
wysokonapięciowe", z jakąś rozsądną ilością pinów, ale duże atmegi imo
mają tylko "pełne" programowanie równoległe jak ratunek, a to w przypadku
procesorów TQFP jest jakieś nieporozumienie.
Jeśli się mylę, to niech ktoś wyprostuje...
Tak chyba faktycznie w mega było.
Od 5 lat używamy Xmega programowanych przez PDI.
Nawet nie wiem, czy mają równoległe programowanie.
Coś im początkowo nie wyszło z progami brown-out.
OIDP były inne niż w karcie katalogowej. Potem w kartę wstawili te
prawdziwe, a potem coś poprawili i teraz znów są te co miały być od
początku. Już się sytuacja normuje.
Poruszam ten temat bo nieświadomy tego zablokowałem sobie procesor wpisując
brown out np. 3V0, co faktycznie oznaczało 3V49 no i przy 3V3 procesor nie
chciał gadać.
Jak się zorientowałem, że to może być przyczyna podpiąłem do 3V3 w układzie
zasilacz laboratoryjny i się z procesorem dogadałem.
P.G.
Piotr GaĹka
Guest
Fri Oct 10, 2014 9:17 am
Użytkownik "Marek" <fake@fakeemail.com> napisał w wiadomości
news:almarsoft.6965658553193082403@news.neostrada.pl...
Quote:
On Thu, 09 Oct 2014 22:54:11 +0200, sundayman <sundayman@poczta.onet.pl
wrote:
No bo można. Błędne ustawienie fusów powoduje, że programowanie ISP
przestaje działać.
Myślałem, że ISP jest podstawowym i zawsze działającym programowaniem bez
względu na konfigurację.
Nie jestem pewien, czy nie mylę szczegółów.
ISP związane jest z wykorzystaniem nogi RESET. W niektórych atmelach można
tę nogę przełączyć na normalne I/O zyskując dodatkowy pin, ale wtedy
przestaje działać ISP.
Nawet kiedyś (z braku nóg) tak to zrobiliśmy w normalnym urządzeniu
programowanym ISP. Oczywiście w trakcie pracy nad oprogramowaniem
funkcjonalność tej nogi (celowo prosta bez szansy na błąd) nie była
testowana. W produkcji programowanie było już jednorazowe.
P.G.
sundayman
Guest
Fri Oct 10, 2014 4:37 pm
Quote:
Być może masz za długi kabelek od programatora do mikrokontrolera lub
ustawiłeś za dużą szybkość programowania. Zapnij zworkę SLOW w USBAsp i
zobaczysz, czy błąd się powtarza. Ale będziesz dłuuuuugo czekać.
Ciężko będzie. To wywalenie fusów zdarza się rzadko.
Normalnie muszę programować z dużą prędkością, bo program zajmuje całe
128MB, i nawet "na szybko" dłuższą chwilę się ładuje, potem jeszcze
weryfikacja.
Robienie tego zawsze na "slow" by mi rozwaliło pracę
Paweł Pawłowicz
Guest
Fri Oct 10, 2014 4:43 pm
W dniu 2014-10-10 18:37, sundayman pisze:
Quote:
Być może masz za długi kabelek od programatora do mikrokontrolera lub
ustawiłeś za dużą szybkość programowania. Zapnij zworkę SLOW w USBAsp i
zobaczysz, czy błąd się powtarza. Ale będziesz dłuuuuugo czekać.
Ciężko będzie. To wywalenie fusów zdarza się rzadko.
Normalnie muszę programować z dużą prędkością, bo program zajmuje całe
128MB, i nawet "na szybko" dłuższą chwilę się ładuje, potem jeszcze
weryfikacja.
Robienie tego zawsze na "slow" by mi rozwaliło pracę
Na szybko USBAsp robił mi sieczkę przy kabelku dłuższym niż 15cm. Dragon
działał na 25cm.
P.P.
sundayman
Guest
Fri Oct 10, 2014 4:44 pm
Quote:
Na szybko USBAsp robił mi sieczkę przy kabelku dłuższym niż 15cm. Dragon
działał na 25cm.
no to mój jest chyba wybitnie odporny, bo działa (no w 95% jak widać) na
kabelku ok. 40 cm :)
Idę po nożyczki...
janusz_k
Guest
Sat Oct 11, 2014 9:03 am
W dniu 2014-10-10 18:44, sundayman pisze:
Quote:
Na szybko USBAsp robił mi sieczkę przy kabelku dłuższym niż 15cm. Dragon
działał na 25cm.
no to mój jest chyba wybitnie odporny, bo działa (no w 95% jak widać) na
kabelku ok. 40 cm :)
Idę po nożyczki...
Marne te programatory macie, ja mam po lpt z buforami w srodku na chyba
74hc125 i kabel ma ponad metr i działa bez problemu, używam programu ISP
Adama Dybowskiego.
--
Pozdr
Janusz_K
Goto page 1, 2 Next