logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega8 - Lockbit21: 00 czy da się odblokować do ponownego zapisu?

Bielinka9 04 Gru 2011 03:48 1589 8
REKLAMA
  • #1 10215654
    Bielinka9
    Poziom 12  
    Witam!

    Kwintesencja problemu ujęta w tytule. Czy procesor zabezpieczony w ten sposób idzie jakoś odzyskać? Jakimkolwiek sprzętem?
  • REKLAMA
  • #2 10215655
    megao
    Poziom 24  
    Chip erase.. i nie ma problemu, możesz ponownie zapisywać.
  • #3 10215730
    mirekk36
    Poziom 42  
    megao napisał:
    Chip erase.. i nie ma problemu, możesz ponownie zapisywać.


    A warto dodać, że to samo uzyskasz po prostu od razu programując procka nowym wsadem. Tak więc ustawienia lockbitów w żaden sposób nie blokują procka tylko zabezpieczają przed odczytem. A to różnica ;) zapisać można.
  • REKLAMA
  • #4 10216463
    manekinen
    Poziom 29  
    Chciałbym jeszcze sprostować wypowiedź Mirka, zauważmy że programator automatycznie wykonuje komendę chip erase przed każdym zapisem flasha. Gdy wymusimy zapis bez niej, to lockbity się nie wykasują, a pamięć zostanie nadpisana (będzie w niej bałagan zamiast programu).
  • #5 10216571
    DXFM
    Poziom 20  
    mirekk36 napisał:
    megao napisał:
    Chip erase.. i nie ma problemu, możesz ponownie zapisywać.

    A warto dodać, że to samo uzyskasz po prostu od razu programując procka nowym wsadem.

    Przed programowaniem nowym wsadem zawsze trzeba wykonać Chip erase. Z noty katalogowej ATmega8:
    "The Chip Erase will erase the Flash and EEPROM(1) memories plus Lock Bits. The Lock Bits are not reset until the Program memory has been completely erased. The Fuse Bits are not changed. A Chip Erase must be performed before the Flash and/or the EEPROM are reprogrammed."
    Większość programów obsługujących programatory ma opcję kasowania przed programowaniem, ale nie jest to operacja oczywista.
  • REKLAMA
  • #6 10216587
    mirekk36
    Poziom 42  
    manekinen napisał:
    Chciałbym jeszcze sprostować wypowiedź Mirka, zauważmy że programator automatycznie wykonuje komendę chip erase przed każdym zapisem flasha. Gdy wymusimy zapis bez niej, to lockbity się nie wykasują, a pamięć zostanie nadpisana (będzie w niej bałagan zamiast programu).


    No tak to może był mój za duży skrót myślowy, ale nie wyobrażam sobie programowania FLASH'a bez chip-erase. Zwykle każdy programator ma tą opcję ustawioną domyślnie. I dlatego wspomniałem o tym wgraniu wsadu. Bo też już nie raz się spotkałem z pytaniami:

    "a jak zrobić chip erase?" --- i kombinacje alpejskie w tym celu ;)

    Tymczasem jak podpowiedziałem żeby ktoś wgrał wsad - to jak ręką odjął i się wgrało a lockbity zostały zresetowane. To było moim celem .... ale pewnie że przez każdym zapisywaniem taka komenda jest wydawana.
  • REKLAMA
  • #7 10282232
    Bielinka9
    Poziom 12  
    No właśnie coś nie idzie "chip erase" przez ISP :( Programatorem równoległym poszło ale zrobiłem ten sam manewr na próbę i znowu przez ISP nie ma kasowania ani zapisu. Coś chyba robię nie tak :/ Albo procesor jakiś nadszarpnięty mam.
  • #8 10283159
    manekinen
    Poziom 29  
    Jaki to programator? Wklej może jakiś log, będzie coś wiadomo co się tam dzieje.
  • #9 10283269
    Jaca
    Poziom 31  
    Sprawdź (za pomocą programatora równoległego) wartość fusebit'u SPIEN.
REKLAMA