ATMEGA16 - trudności z uruchomieniem programu, fuse BOOTRST i zewnętrzny kwarc 16MHz
ATMEGA16, problem ze startem, fuse BOOTRST
From: =?ISO-8859-2?Q?Pawe=B3_Sklarow?= <p_sklarowUSUN_at_nospam_pocztaUSUN.onet.pl>
Subject: ATMEGA16, problem ze startem, fuse BOOTRST
Date: Wed, 02 Feb 2005 11:32:58 +0100
Witam wszystkich!
Sprzęt:
- urządzenie oparte na ATMEGA16,
- program napisany w WINAVR,
- programator ISPCABLE II firmy Propox - pracowałem na
dedykowanym software Propox'u (ProprogRS 1.1g) i AVRStudio
(ISPCABLE pracuje wtedy jako emulacja AVRProg).
Problem:
Po załadowaniu do nowego urządzenia program nie startuje.
Czasem po wielu próbach zmian fuse'ów udaje się przestawić
procesor w taki stan, że zaczyna działać poprawnie - tzn.
program startuje i realizuje wszystkie funkcje.
Procesor od tego momentu już działa ("na zawsze") - tzn. uruchamia
poprawnie program, po skasowaniu flash'a i ponownym załadowaniu
wszystko jest OK.
Niestety problem powtarza się z "dziewiczym" procesorem.
Trzeba wykonać parę "magiczych" zmian w fusach i czasem to
pomaga a czasem nie.
Procesor działa z zewnętrznym kwarcem, nie używam BOOT'a,
używam Brown-Out'a.
Sygnał zegarowy na oscylku jest Ok. Kwarc 16MHz, procesor
ATMEGA16-16I - czyli też nie jest to przetaktowanie.
Uwagi:
Mam podejrzenie, że chodzi o fuse BOOTRST, najczęściej
przy manipulacjach przy tym bicie procesor "rusza".
Tylko, że wg. datasheta Atmela ten bit jest "not programmed"
w nowych procesorach co znaczy "startuj od adresu 0, nie używamy boot'a"
wiec to raczej nie jest przyczyną.
Jak myślicie gdzie jest przyczyna takiego zachowania?
P.S. Wiem, że w oprogramowaniu Propox'a jest błąd - nie programuje dobrze
tego fuse'a - czekam na upgrade, może to być przyczyna. Ale może coś
jeszcze...
--
pozdrawiam, Paweł Sklarow
From: Krzysiek Kubicki <coobix_at_nospam_gazeta.plBeZTeGo>
Subject: Re: ATMEGA16, problem ze startem, fuse BOOTRST
Date: Wed, 02 Feb 2005 11:51:15 +0100
Paweł Sklarow wrote:
P.S. Wiem, że w oprogramowaniu Propox'a jest błąd - nie programuje dobrze
tego fuse'a - czekam na upgrade, może to być przyczyna. Ale może coś
jeszcze...
Sprawdź w innym programie, np PonyProg, bedziesz wiedział czy to wina softu.
--
pozdrawiam
Krzysiek Kubicki
http://www.kubi.rox.pl
From: =?ISO-8859-2?Q?Pawe=B3_Sklarow?= <p_sklarowUSUN_at_nospam_pocztaUSUN.onet.pl>
Subject: Re: ATMEGA16, problem ze startem, fuse BOOTRST
Date: Wed, 02 Feb 2005 12:10:38 +0100
Krzysiek Kubicki wrote:
> (...)
Sprawdź w innym programie, np PonyProg, bedziesz wiedział czy to wina
softu.
Niestety PonyProg nie obsluguje ProProg'a (chyba, że nie mogę znaleźć)
a tylko takiego symuluje ISPCABLE:(.
Jak na razie nie chciałbym wykonywać zmian sprzętowych aby podłączyć
piny ISP bezpośrednio do komputera (bo ISPCABLE ma być standardowym
programatorem na produkcji), oczywiście jeśli nie rozwiążę problemu
trzeba będzie to zrobić
Dzięki za odpowiedź.
--
pozdawiam, Paweł Sklarow
From: Zbych <abuse_at_nospam_onet.pl>
Subject: Re: ATMEGA16, problem ze startem, fuse BOOTRST
Date: Wed, 02 Feb 2005 14:53:49 +0100
Pewnego dnia Paweł Sklarow przemówił ludzkim głosem:
Sprawdź w innym programie, np PonyProg, bedziesz wiedział czy to wina
softu.
Niestety PonyProg nie obsluguje ProProg'a (chyba, że nie mogę znaleźć)
a tylko takiego symuluje ISPCABLE:(.
Na stronie propoxu w dziale download jest link do ponyproga, więc
powinien on obsłużyć ten programator. Zdejmij obudowę i zobacz co jest w
środku. Jeśli jakiś bufor w stylu 244, 245 itp. to jest to pewnie klon
stk200/300.
--
Prawo jest jak płot - żmija zawsze się prześlizgnie,
tygrys zawsze przeskoczy a bydło tylko stoi i czeka.
### /mail: bzb<at>poczta<dot>onet<dot>pl/ ###
From: "Tomasz Gumny" <tgumny_at_nospam__at_nospam_idn.org.pl>
Subject: Re: ATMEGA16, problem ze startem, fuse BOOTRST
Date: Wed, 2 Feb 2005 12:49:20 +0100
Czasem po wielu próbach zmian fuse'ów udaje się przestawić
procesor w taki stan, że zaczyna działać poprawnie
Dość radośnie do tego podchodzisz ;-)
Ja do fuse-bitów podchodzę jak do jeża, co i tak nie uchroniło mnie
od garści zablokowanych procesorów czekających lepsze czasy. :-(
Od czasu gdy używam tylko jednego programu obsługującego
programator (akurat u mnie wbudowanego w kompilator C) przestałem
marnować procesory.
TG
From: =?ISO-8859-2?Q?Pawe=B3_Sklarow?= <p_sklarowUSUN_at_nospam_pocztaUSUN.onet.pl>
Subject: Re: ATMEGA16, problem ze startem, fuse BOOTRST
Date: Wed, 02 Feb 2005 12:54:35 +0100
Tomasz Gumny wrote:
Czasem po wielu próbach zmian fuse'ów udaje się przestawić
procesor w taki stan, że zaczyna działać poprawnie
Dość radośnie do tego podchodzisz ;-)
Ja do fuse-bitów podchodzę jak do jeża, co i tak nie uchroniło mnie
od garści zablokowanych procesorów czekających lepsze czasy. :-(
Od czasu gdy używam tylko jednego programu obsługującego
programator (akurat u mnie wbudowanego w kompilator C) przestałem
marnować procesory.
W ATMEGA16 nie ma aż tak dużo fuse-ów, przy pierwszych
próbach robiłem to uważnie, nie skutkowało.
W końcu podszedłem metodą "brute-force" - zadziałało,
ale niestety nie ma reguły.
--
pozdrawiam, Paweł Sklarow
From: =?ISO-8859-2?Q?Pawe=B3_Sklarow?= <p_sklarowUSUN_at_nospam_pocztaUSUN.onet.pl>
Subject: Re: ATMEGA16, problem ze startem, fuse BOOTRST
Date: Wed, 02 Feb 2005 13:02:55 +0100
Nowa informacja:
jesli zostawię włączone urządzenie
to po pewnym czasie ~5 minut program "wskakuje", działa dobrze do
następnego restetu. Sugerowałoby to, że po starcie procesor
uruchamia program od któregoś z adresów BOOT'owych gdzie nie ma
BOOT'a tylko część programu, tam wskakuje w jakąś niezamierzoną
pętlę, po której skończeniu wraca do adresu "0" gdzie jest początek
programu handlowego.
Co sugeruje, że rzeczywiście jest problem z fuse'm BOOTRST
--
pozdrawiam, Paweł Sklarow
From: =?ISO-8859-2?Q?Pawe=B3_Sklarow?= <p_sklarowUSUN_at_nospam_pocztaUSUN.onet.pl>
Subject: Problem =?ISO-8859-2?Q?rozwi=B1zany!?=
Date: Wed, 02 Feb 2005 14:57:25 +0100
jak zwykle okazało się, że błąd jest w programie.
Przy starcie program odczytuje konfiguracje z zewnętrznego EEPROM'a
i jesli są w tym eepromie wartości fabryczne to czytanie
konfiguracji trwa bardzo długo, co sugeruje, że procesor nie działa.
Tymczasem on sobie czyta tą p* konfigurację.
Dziękuje za wsparcie.
--
pozdrawiam, Paweł Sklarow