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

EM78Pxxx - Pytanie o technikę wielokrotnego programowania pamięci OTP

maciej_333 22 Lip 2012 18:38 2644 0
REKLAMA
  • #1 11133161
    maciej_333
    Poziom 38  
    Mikrokontrolery firmy Elan z pamięcią OTP programowalne są oczywiście jeden raz. Stosując jednak technikę podaną w tym dokumencie można je zaprogramować kilka razy bez utraty funkcjonalności.

    Nie do końca rozumiem tą metodę. Stary kod "zakrywany" jest tu nop'ami. Na wektor przerwań rezerwowana jest pamięć dyrektywą ORG. Ponieważ nop w EM78 to opcode 0000 w słowie pamięci, może dojść do "nałożenia" obu kodów. Jednak jeżeli tak zrobić, to już na początku uzyskam:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Podałem tu zawartość dwóch pierwszych słów pamięci. Jak może to działać ? Przecież wykona się tylko pierwszy skok i nawet nie ma szansy, by dojść do nowego kodu. Może ja czegoś nie wiem o EM78 ?

    [edit] Już wiem o co tu chodzi. Po nałożeniu nop na dowolną instrukcję wyjdzie z tego i tak nop. W czystej pamięci EPROM (taka jest OTP) mamy same 0xFF. Każdą 1 danej komórki da się zaprogramować jako 0. W drugą stronę, bez kasowania UV nie jest to możliwe. Zatem z opcodu dla jmp wyjdzie nop, po wykasowaniu wszystkich 1. Ot cała filozofia :D .
  • REKLAMA
REKLAMA