www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

ICSP
Pojdi na stran Prejšnja  1, 2
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
igor_k
Član
Član



Pridružen-a: Pon 19 Jul 2004 11:44
Prispevkov: 1011
Aktiv.: 4.27
Kraj: Rače

PrispevekObjavljeno: Pet Maj 04, 2007 9:56 pm    Naslov sporočila:   Odgovori s citatom

Joj, ti pic-i. Kaj za vraga sem se spravil na njih. Težava je seveda v tej neumni zadnji lokaciji, ki se je pobrisala. Moj še bolj butasti compiler (CCS) pa tega ne zna ignorirati. Programator pa nikakor ne pusti programirati zadnje lokacije.

Kaj storiti?

Silvo, kakšen pameten predlog?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
VolkD
Član
Član



Pridružen-a: Pet 24 Sep 2004 21:58
Prispevkov: 14228
Aktiv.: 60.06
Kraj: Divača (Kačiče)

PrispevekObjavljeno: Pet Maj 04, 2007 10:03 pm    Naslov sporočila:   Odgovori s citatom

Silvo, če sem prav razumel, potem bi tovrstno težavo rešil programček, ki bi znal vpisati na to lokocijo nek return. Ali pa programator, ki te zaščite ( vpisa na to lokacijo) nima.

Če boste še dolgo o tem, bom začel še s pici delt

_________________
Dokler bodo ljudje mislili, da živali ne čutijo, bodo živali čutile, da ljudje ne mislijo.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Pet Maj 04, 2007 10:11 pm    Naslov sporočila:   Odgovori s citatom

futuristic je napisal/a:
Še vedno deluje, samo ne moreš ga več takole kalibrirati:

Koda:
bsf STATUS, RP0 ;Bank 1
call 3FFh ;Get the cal value
movwf OSCCAL ;Calibrate
bcf STATUS, RP0 ;Bank 0


Bolj prvilno: ne smes. Kot je napisal Silvo, je rezultat sila neprijeten (odvisno od mesta, kjer naj bi se kalibracija izvedla) ... neskoncna zanka.

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pet Maj 04, 2007 10:28 pm    Naslov sporočila:   Odgovori s citatom

VolkD je napisal/a:
Silvo, če sem prav razumel, potem bi tovrstno težavo rešil programček, ki bi znal vpisati na to lokocijo nek return. Ali pa programator, ki te zaščite ( vpisa na to lokacijo) nima.

Če boste še dolgo o tem, bom začel še s pici delt


Zadnjo lokacijo lahko določiš kar nekje na začetku programa.

Koda:

org 0x3ff
retlw "kalibrirna vrednost"

Sicer večina programatorjev, kar jih poznam omogoča editiranje buferja. Tako lahko vrednost pred programiranjem vpišeš ročno. Če pišeš v assemblerju, seveda ne rabiš hodit po kalibrirno vrednost, če ne rabiš dokaj točnega clocka.
Kako pa to delajo višjenivojski jeziki pa je druga pesem... Confused Večina bolših programatorjev te vrednosti ne briše oz. opozori na brisanje. Druga pesem pa so seveda okenski pici....

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igor_k
Član
Član



Pridružen-a: Pon 19 Jul 2004 11:44
Prispevkov: 1011
Aktiv.: 4.27
Kraj: Rače

PrispevekObjavljeno: Pet Maj 04, 2007 10:34 pm    Naslov sporočila:   Odgovori s citatom

Marsikaj sem že doživel, kaj tako butastega pa še ne!!! Očitno ni težava v programatorju ampak sam čip ne dovoli prepisa lokacije 1024 Shocked .

Postopek: spremenim adapter, nastavim 16F628 (ki ima 2KB), hočem vpisat 0x3FF=0x3400 in glej ga šmenta: NE GRE Shocked
Na 0x3FE in na 0x400 pa gre.

Če ne bi videl na lastne oči ne bi verjel. Torej moje navadno vezje lahko prepiše lokacijo, programator (ki je temu namanjen) pa ne.

Kakšna ideja od stroke za pice-e?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igor_k
Član
Član



Pridružen-a: Pon 19 Jul 2004 11:44
Prispevkov: 1011
Aktiv.: 4.27
Kraj: Rače

PrispevekObjavljeno: Pet Maj 04, 2007 10:35 pm    Naslov sporočila:   Odgovori s citatom

Silvo, verjemi, buffer se editiral že 100x...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pet Maj 04, 2007 10:37 pm    Naslov sporočila:   Odgovori s citatom

Če tvoj prevajalnik "pogoltne" asemblesko kodo nekje na začetku vpiši vrstico "

Koda:
org 0x3ff
retlw .0


Vrednost pravzaprav ni tako zelo važna, kalibrirne vrednosti itak ne poznaš, odstopanje je minimalno. Samo da ti retlw vrne PC iz sklada.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igor_k
Član
Član



Pridružen-a: Pon 19 Jul 2004 11:44
Prispevkov: 1011
Aktiv.: 4.27
Kraj: Rače

PrispevekObjavljeno: Pet Maj 04, 2007 11:32 pm    Naslov sporočila:   Odgovori s citatom

Nič ne pomaga. Programator noče programirati zadnjega naslova.
Prej sem se malo uštel - če nastavim 16f628 ne programira.

S CCS-om ni rešitve. Bom pisal na Microchip, pa da vidim kaj pravijo.

Do nadaljnega (dokler ne pridejo novi čipi) pa bom pač brisal ven tisti call 0x3ff.

Vsem hvala za odgovore.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
matjazkariz
Član
Član



Pridružen-a: Sre 03 Nov 2004 18:09
Prispevkov: 1026
Aktiv.: 4.33

PrispevekObjavljeno: Pon Maj 07, 2007 10:19 am    Naslov sporočila:   Odgovori s citatom

Citiram:
Vprašanje "matjazkariz" -u. Kaj se bo zgodilo če pokličeš lokacijo na kateri je vpisano 0x00 ?


Če se ti pobriše kalibracijska vrednost, je ne smeš na začetku klicati. Na zadnji lokaciji je zapisana cela beseda (torej 2 byta). Prvi byte predstavlja ukaz retlw (naprimer 0Ch pri PIC12F509) drugi byte pa kalibracijsko vrednost (npr.02h). Če takoj na začetku kličeš to lokacijo, ki bo imela v ukazu vrednost 00h, procesor ne bo vedel kaj naj s to instrukcijo in bo zaciklal.
Torej, če pobrišeš kalibracijo, nikar ne kliči kalibriranja.

Ponavadi imaš na programatorjih možnost izbire razpona programiranja, ki je za te PICe po defaultu skrajšan za zadnjo lokacijo. Nekje moraš vklopiti opcijo programiranja zadnje lokacije ter na roke v hex vpisati funkcijo retlw (pazi za različne procesorje je ta ukaz tudi različen) ter kalibracijsko vrednost. Sam vedno pred začetkom dela s procesorji s kalibracijsko vrednostjo preberem procesor in si to vrednost zapišem s svinčnikom na spodnjo stran procesorja. Tako ni možnosti, da bi jo zgubil.

_________________
LP, Matjaž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Pon Maj 07, 2007 10:34 am    Naslov sporočila:   Odgovori s citatom

matjazkariz je napisal/a:
Če takoj na začetku kličeš to lokacijo, ki bo imela v ukazu vrednost 00h, procesor ne bo vedel kaj naj s to instrukcijo in bo zaciklal.


Ni ravno tako; 0x00 je NOP in se kot tak tudi izvede. Od naslednje lokacije je odvisno, kaj se bo zgodilo potem - ce je konec flasha in pride do prekoracitve PCja, bo program stekel v neskoncni zanki, ce je flash naprej resetiran, potem se bodo izvajali nesmiselni ADDLW 0 dokler spet ne pride do overflowa PCja, ce pa je vse naprej pobrisano, bo pa procesor premleval NOPe, spet seveda do overflowa PCja.

Kakrkoli ze, MCU ze ve kaj narediti s katerim ukazom, druga stvar pa je ali uporabnik res zeli tisto, kar bo MCU naredil Smile

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2
Stran 2 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group