Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Potreban savet oko zakljucavanja pic-a od citanja i kopiranja
#1
Pozdrav svima.Potrebno mi je da zastitim program od kopiranja i citanja ali nisam radio to do sada pa zato ipak da pitam da nebih slucajno trajno unistio pic.Znam da moze ovako:
@ DEVICE pic16F628A,protect_on, cpd_on

a i u samom IC-Prog1.06B moze da se stiklira opcija CPD pa me interesuje da li je svejedno ako je samo stikliran CPD ili je bez stikliranja upisana gore navedena komanda i da li postoji mogucnost da se desi nesto sa pic-om i da se kasnije nemoze obriisati i preprogramirati pic ? 
Reply
#2
Moze i u samom programu da se navede a moze i preko opcija iz SW za flesovanje, na isto se svodi.

Samo za tvoju informaciju, to sto se zakljucava PIC, to mozda vazi za tebe/mene ali inace to se sve uveliko razbija!!!
Jednostavno jos nisu napravili MCU koji ne moze da se odkljuca, mada ima par nekih military za nas nepoznate MCU ali ove PIC/Atmel i ekipu razbijaju samo tako!
Samo je pitanje "zainteresovanosti" i isplatljivosti da li se nekome daje par stotina dolara da izvuce firmware ...
Reply
#3
@milannn
Miki ti je već dobar odgovor, ja bih samo da se nadovežem oko trajnog zaključavanja PIC-ova. Meni se za ovih 15-ak godina koliko ih koristim to nije desilo, naročito kod PIC12F, PIC16, PIC18, PIC24 i dsPIC serije.

Imao sam jednu "brick" situaciju koja nije do kraja rasčišćena zašto se desila, a to je da sam uspeo da zaključam PIC32MX695F512H, koristeći bootloader i koji nikada više nisam mogao da reprogramiram, ali to je jedan u 1000 gde mi se nešto tako desilo.

Detaljnije na ovom linku: http://forum.yu3ma.net/showthread.php?ti...ight=PIC32

Kod nekih PIC-ova sa internim oscilatorom (recimo PIC12F629) postojala je mala komplikacija koja je zahtevala malo drugačiji rad sekvence programiranja, ali je to kod recimo AllPIC programatora rešeno. Naš član ddanijel je to elegantno rešio i time otklonio velike probleme sa programiranjem tako konfigurisanih mikrokontrolera.

Upoređenja radi, kod AVR-ova (Atmel) postojala je mogućnost da se pogrešnim kodom zaključa serijsko programiranje, pa je u toj situaciji bio potreban paralelni programator, a pošto se ovih dana nešto "igram" sa STM32 mikrokontrolerima i kod njih je moguće softverom onemogućiti da se lagano programiraju ukoliko se na pinovima za programiranje uključe neke alternativne funkcije. Problem je uz par pokušaja resetovanjem moguće rešiti.

Eto, ukratko, neka retrospektiva ove problematike iz mog iskustva.
Reply
#4
Odes na ovaj sajt, pogledas spisak i ako nadjes tvoj model MCU-a, "piši propalo" …
http://www.break-ic.com
http://www.break-ic.com/microcontroller_...Memory.htm (ceo spisak za PIC-eve)
Rade ljudi to profesionalno, jeftino i legalno vec decenijama …

Dobre informacije iz prve ruke mozes naci kod "Miće razbijača" Smile
http://www.mikahk.com/topics/hack-microcontroller.asp
Reply
#5
Tek sad nadjoh vreme da pregledam poruke.Neide to toliko daleko,ljudi kojim saljem nisu upuceni u rad sa mcu osim da programatorom iscitaju hex i da ga usnimaju u drugi pic tako da je minimalna zastita i vise nego dovoljna.U pitanju je 16f88 koji ce kontrolisati punjenje iz solarnog punjaca,pokazivati vrednost napona na displeju i tasterima se moze ukucati napon do koji ce da puni i kad dodje do zadate vrednosti da iskljuci punjenje pa kad napon na akumulatoru opadne onda da ukljuci punjenje i tako u krug.Jeste je to sitnica za napisati ali opet zasto pokonoti nekom koga neznas da na osnovu toga razvija neko svoje trziste.Pretpostavljam da takvih i slicnih stvari ima u prodaji a sve to moze i bez pic-a.Mene je samo zanimalo da li ukljucivanjem CP ili CPD moze da se desi nesto pa da pic nece da se obrise ? jer tad meni taj pic nebi vise koristio,ja neznam kako bih ga otkljucao tako da bih mogaos samo da ga bacim i sto je problem nemam ovde gde da ga kupim osim najblize u Nisu.
Reply
#6
Kad vec imam nesto vremena pitao bih i za malu pomoc oko ovog koda.Kad tasterima zadam vrednost napona do koji ce da puni kako u ovom kodu da ubacim da tu vrednost zapamti kad se skine sa napajanja i kad se ponovo ukljuci da ta vrednost ostane.Imam samo jos jedan pin slobodan (RA4) i nije problem napraviti da se detektuje netanak napona pa dok ima struje u kondenzatoru da se zapamti (WRITE) zadata vrednost ali neznam kako je posle pojaviti (READ) da ostane kao sto je bilo podeseno jer nemam slobodan taster,tj gde i kako ovde ubaciti READ ?


cmcon=7
DEFINE OSC 4

DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 0
DEFINE LCD_RWREG PORTB
DEFINE LCD_RWBIT 3
DEFINE LCD_LINES 2
pause 100 'cekanje inicijalizacije displeja

Define ADC_BITS 10 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uS

ANSEL=%00000001
ADCON1=%10000000
ADCON0=%11000101

TRISA.1=0 'DIODA UKLJUCUJE KAD JE MERENI NAPON VECI OD ZADATI
porta.1=0
trisb.1=0 'DIODA KAD JE MERENI NAPON MANJI OD ZADATI
portb.1=0

TRISA.2=1 'POVECAVA ZADATU VREDNOST
TRISA.3=1 'SMANJUJE ZADATU VREDNOST

BROJ Var WORD
MILAN VAR WORD
MILAN=0

POCETAK:

lcdout $fe,$c0
lcdout "GRANICA = ",DEC2 (MILAN/100),".", DEC2 MILAN



IF PORTA.2=0 THEN
MILAN=MILAN+1
lcdout $fe,$c0
lcdout "GRANICA = ",DEC2 (MILAN/100),".", DEC2 MILAN
ENDIF

IF PORTA.3=0 THEN
MILAN=MILAN-1
lcdout $fe,$c0
lcdout "GRANICA = ",DEC2 (MILAN/100),".", DEC2 MILAN
ENDIF

ADCIN 0 , BROJ
BROJ = ( BROJ */ 500)>>2*10
lcdout $FE, $80, "DC NAPON =",DEC (BROJ/100),".", DEC2 BROJ,"V "
pause 10


if broj > MILAN then
porta.1=1
ELSE
porta.1=0
endif

if BROJ < MILAN THEN
PORTB.1= 1
ELSE
PORTB.1=0
ENDIF

GOTO POCETAK:
END
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)