AVR - lockbits
Masz problem? Zapytaj na forum elektroda.pl
From: "jaromir" <jaromir_fk_at_nospam_gazeta.pl>
Subject: AVR - lockbits
Date: Tue, 2 Nov 2004 09:54:42 +0100
Witam
1.Mam taki problem - procek ( Mega8 ) po zaprogramowaniu bootlock bitów
przestaje poprawnie pracowac ( podlaczony wyswietlacz LED zaczyna glupiec).
2.Jezeli nie uzywam bootloadera, to ktore lockbity musze zaprogramowac w
mega8 aby zabezpieczyc program przed zczytaniem. Program uzywa flasha do
przechowywania stałych tablic danych.
pozdr.
jfk
From: Adam Dybkowski <adybkows_at_nospam_amwaw.edu.pl>
Subject: Re: AVR - lockbits
Date: Tue, 02 Nov 2004 10:07:12 +0100
jaromir wrote:
1.Mam taki problem - procek ( Mega8 ) po zaprogramowaniu bootlock bitów
przestaje poprawnie pracowac ( podlaczony wyswietlacz LED zaczyna glupiec).
Jakich? Wszystkich 6?
2.Jezeli nie uzywam bootloadera, to ktore lockbity musze zaprogramowac w
mega8 aby zabezpieczyc program przed zczytaniem. Program uzywa flasha do
przechowywania stałych tablic danych.
Wystarczy LB1 i LB2. [Nie]używanie bootloadera nic tu nie zmienia - przy
takich lockbitach procka nie będzie można ani programować, ani
odczytywać, do czasu kompletnego skasowania oczywiście.
--
Adam Dybkowski
adybkows_at_nospam_amwaw.edu.pl
http://www.amwaw.edu.pl/~adybkows/
From: "jfk" <jaromir_fk_at_nospam_gazeta.pl>
Subject: Re: AVR - lockbits
Date: Tue, 2 Nov 2004 10:28:27 +0100
Użytkownik "Adam Dybkowski" <adybkows_at_nospam_amwaw.edu.pl> napisał w wiadomości
news:cm7ind$gbm$1_at_nospam_atlantis.news.tpi.pl...
jaromir wrote:
1.Mam taki problem - procek ( Mega8 ) po zaprogramowaniu bootlock bitów
przestaje poprawnie pracowac ( podlaczony wyswietlacz LED zaczyna
glupiec).
Jakich? Wszystkich 6?
Tak
2.Jezeli nie uzywam bootloadera, to ktore lockbity musze zaprogramowac w
mega8 aby zabezpieczyc program przed zczytaniem. Program uzywa flasha do
przechowywania stałych tablic danych.
Wystarczy LB1 i LB2. [Nie]używanie bootloadera nic tu nie zmienia - przy
takich lockbitach procka nie będzie można ani programować, ani odczytywać,
do czasu kompletnego skasowania oczywiście.
--
> Adam Dybkowski
> adybkows_at_nospam_amwaw.edu.pl
> http://www.amwaw.edu.pl/~adybkows/
Tak tez teraz robie, ale zastanawia mnie dlaczego jak zaporgramuje wszystkie
6 to nie działa dobrze
( dzieje sie to dopiero od niedawna - moze to miec zwiazek z rozmiarem kodu
? ) ???
jfk
From: Adam Dybkowski <adybkows_at_nospam_amwaw.edu.pl>
Subject: Re: AVR - lockbits
Date: Tue, 02 Nov 2004 21:29:22 +0100
jfk wrote:
1.Mam taki problem - procek ( Mega8 ) po zaprogramowaniu bootlock bitów
przestaje poprawnie pracowac ( podlaczony wyswietlacz LED zaczyna
glupiec).
Jakich? Wszystkich 6?
Tak
No to wszystko jasne. Co by tu dużo tłumaczyć - po prostu RTFM.
Zablokowałeś sobie m.in. możliwość czytania pamięci programu instrukcją
LPM - bez tego nie zadziała poprawnie kod startowy C, przepisujący
zmienne inicjowane z pamięci Flash do RAMu. A potem wszystkie funkcje
korzystające ze stałych w pamięci programu (np. printf_P) też nie będą
działać jak trzeba.
--
Adam Dybkowski
adybkows_at_nospam_amwaw.edu.pl
http://www.amwaw.edu.pl/~adybkows/
From: "jfk" <jaromir_fk_at_nospam_gazeta.pl>
Subject: Re: AVR - lockbits
Date: Wed, 3 Nov 2004 15:39:20 +0100
1.Mam taki problem - procek ( Mega8 ) po zaprogramowaniu bootlock bitów
przestaje poprawnie pracowac ( podlaczony wyswietlacz LED zaczyna
glupiec).
Jakich? Wszystkich 6?
Tak
No to wszystko jasne. Co by tu dużo tłumaczyć - po prostu RTFM.
Zablokowałeś sobie m.in. możliwość czytania pamięci programu instrukcją
LPM - bez tego nie zadziała poprawnie kod startowy C, przepisujący zmienne
inicjowane z pamięci Flash do RAMu. A potem wszystkie funkcje korzystające
ze stałych w pamięci programu (np. printf_P) też nie będą działać jak
trzeba.
Tylko że długo działał ( a przynajmniej nie zauważyłem błednego działania) -
wiec w ogole mnie to nie interesowało co i jak. Czy kompilator C (winavr)
musi uzywac LPM ?
W kazdym razie - dzieki za odpowiedzi.
jfk
From: "Rafał Szulc" <rafszul_at_nospam_go2.pl>
Subject: Re: AVR - lockbits
Date: Sat, 13 Nov 2004 16:47:08 +0100
No to wszystko jasne. Co by tu dużo tłumaczyć - po prostu RTFM.
Zablokowałeś sobie m.in. możliwość czytania pamięci programu instrukcją
LPM - bez tego nie zadziała poprawnie kod startowy C, przepisujący
zmienne inicjowane z pamięci Flash do RAMu. A potem wszystkie funkcje
korzystające ze stałych w pamięci programu (np. printf_P) też nie będą
działać jak trzeba.
Popraw mnie, jeżeli się mylę, ale z tego co czytałem bity blokujące
instrukcje LPM i SPM nie blokują ich pracy w obrębie pamięci danych. Blokują
korzystanie z tych instrukcji przez bootloader w celu odczytania bądź
modyfikacji pamięci w sekcji programu oraz blokują korzystanie z tych
instrukcji przez obszar pamięci programu w celu odczytania bądź modyfikacji
pamięci sekcji bootloadera.
Pozdrawiam
Rafał Szulc