ATMEGA16 - trudności z uruchomieniem programu, fuse BOOTRST i zewnętrzny kwarc 16MHz

ATMEGA16, problem ze startem, fuse BOOTRST





Poprzedni Następny
Wiadomość
Spis treści
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:
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

Poprzedni Następny
Wiadomość
Spis treści
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

Poprzedni Następny
Wiadomość
Spis treści
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


Poprzedni Następny
Wiadomość
Spis treści
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/ ###

Poprzedni Następny
Wiadomość
Spis treści
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



Poprzedni Następny
Wiadomość
Spis treści
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


Poprzedni Następny
Wiadomość
Spis treści
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

Poprzedni Następny
Wiadomość
Spis treści
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