RTV forum PL | NewsGroups PL

Jak skonfigurować lockbity w ATmega8, aby zabezpieczyć program i uniknąć błędów?

AVR - lockbits

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak skonfigurować lockbity w ATmega8, aby zabezpieczyć program i uniknąć błędów?

jaromir
Guest

Tue Nov 02, 2004 8:54 am   



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

Adam Dybkowski
Guest

Tue Nov 02, 2004 9:07 am   



jaromir wrote:

Quote:
1.Mam taki problem - procek ( Mega8 ) po zaprogramowaniu bootlock bitów
przestaje poprawnie pracowac ( podlaczony wyswietlacz LED zaczyna glupiec).

Jakich? Wszystkich 6?

Quote:
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@amwaw.edu.pl
http://www.amwaw.edu.pl/~adybkows/

jfk
Guest

Tue Nov 02, 2004 9:28 am   



Użytkownik "Adam Dybkowski" <adybkows@amwaw.edu.pl> napisał w wiadomości
news:cm7ind$gbm$1@atlantis.news.tpi.pl...
Quote:
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

Quote:

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@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

Adam Dybkowski
Guest

Tue Nov 02, 2004 8:29 pm   



jfk wrote:

Quote:
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@amwaw.edu.pl
http://www.amwaw.edu.pl/~adybkows/

jfk
Guest

Wed Nov 03, 2004 2:39 pm   



Quote:
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

Rafał Szulc
Guest

Sat Nov 13, 2004 3:47 pm   



Quote:
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

elektroda NewsGroups Forum Index - Elektronika Polska - Jak skonfigurować lockbity w ATmega8, aby zabezpieczyć program i uniknąć błędów?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map