programmering mislykkedes, og at kontrollere fejl i adresse 0000h

C

CTYHNTR

Guest
Hey gutter, Im nye PIC-programmering, og jeg løb ind i denne fejlmeddelelse under forsøg på at programmere min 16F628.Grunden til dette spørgsmål er mærkeligt for mig, er jeg ved mit programmør værker (PCB5.0 Willem Lite).Jeg var ved hjælp af både IcProg og Willem Eprom programmeringssoftware, både med de samme resultater.

Heres hvad der skete, var jeg gør disse tutorials http://www.winpicprog.co.uk/pic_tutorial1.htm og udarbejdelse hex filer fra koden bruger MPASM.Tutorial 1.1 og 1.2 var så vidt jeg fik.1.1 arbejdede ikke noget problem, og det gjorde 1.2 spørgsmålet startede, da jeg edited koden ved at tilføje en forsinkelse som foreslået i selvstudiet.Jeg gemte de ASM og kompileret den ind i en hex-fil som jeg gjorde tidligere med de første 2 VELLYKKET forsøg.Dette er, hvor jeg fik den "programmering mislykkedes og kontrol af fejl i adresse 0000h" fejl.Ok så Thats en overraskelse for mig, men jeg regnede med sin fordi jeg gjorde noget galt med den kode, (selv om sådan en simpel kode er temmelig svært at rodet op).

Det frustrerende del begynder, hvor denne fejl, der opstod også rodet op min chip.I cant slette det, I cant kontrollere det, og jeg cant program det.Men jeg kan læse det, og det viser de korrekte indstillinger.Jeg kan bruge det i min kreds, og det vil blinke det ført an sin spposed til såvel.Men noget mere end at jeg ikke kan gøre.

16F628 chip and programmed a random hex file I grabbed from the internet, it programmed just fine.

Jeg kender programmør arbejder, fordi jeg fandt ud af et andet mærke nye
16F628 chip og programmeret en tilfældig hex fil jeg tog fra internettet,
er det programmeret fint.Jeg programmerede selvstudiet 1.1 om det så godt, og at arbejdet for.

1.2 tutorial on the chip and it gave the same error on that chip as well and locked me out of that one too.

Så jeg forsøgte at sætte den redigerede
1.2 tutorial på chippen, og det gav den samme fejl på denne chip så godt og låst mig ud af, at en alt for.Så ja, to chips ned og ingen svar.Hvis nogen af jer har nogle råd Id meget stor pris på det.Tak!

 
Det eneste, jeg føjet til denne arbejdsgruppe kode for at gøre det til et nonworking PIC ødelægge kodeks var denne:eek:pkald Delay; anden forsinkelse opkald tilføjetHåber nogen kan kaste lys over dette, synes som en høj pris at betale for rodet op på noget, der var arbejder og ikke være i stand til at gemme mine PIC.Code:

; Tutorial 1.2 - Nigel Goodwin 2002

LISTE p = 16F628; fortælle samlevirksomhed hvad chip vi bruger

omfatte "P16F628.inc"; omfatte defaults for chip

__config 0x3D18; sæt konfigurationsindstillingerne (oscillator type osv.)cblock 0x20; starten af generelle formål registre

count1; anvendes i forsinkelse rutinemæssige

counta; anvendes i forsinkelse rutinemæssige

countb; anvendes i forsinkelse rutinemæssige

endcorg 0x0000; org fastsætter oprindelse, 0x0000 for 16F628,

; dette er, hvor programmet starter kører

movlw 0x07

movwf CMCON; igen komparatorer off (gøre det som en 16F84)BSF STATUS, RP0; vælge bank 1

movlw b'00000000 '; sæt PortB alle udgange

movwf TRISB

movwf TRISA; sæt Porta alle udgange

BCF STATUS, RP0; vælge bank 0Loop

movlw 0xff

movwf PORTA; indstille alle bits om

movwf PORTB

NOP; NOP's fyldes op den tid, som goto

NOP; give en firkantbølge output

opkald Delay; dette skal vente et øjeblik!

opkald Delay; anden forsinkelse opkald tilføjet

movlw 0x00

movwf PORTA

movwf PORTB; indstille alle bits off

opkald Delay

goto Loop; gå tilbage og gøre det igenDelay movlw d'250 '; forsinkelse 250 ms (4 MHz ur)

movwf count1

d1 movlw 0xC7

movwf counta

movlw 0x01

movwf countb

Delay_0

decfsz counta, f

goto $ 2

decfsz countb, f

goto Delay_0decfsz count1, f

goto d1

retlw 0x00ende
 
Jeg tror, at du skal starte din vigtigste program fra en adresse, der kommer efter interrupt vektor-adresse, der er i den adresse, 0x04
dvs.: efter org 0x00 instruktion skal du skrive
goto vigtigste
org 0x0A (som eksempel)
hoved
-movlw 0x07
movwf CMCON
og fuldstændig indtil udgangen af den kode, og jeg tror også du skal ændre instruktion "retlw 0x00" med tilbagevenden.
Jeg er ikke helt sikker på hvad jeg sagde, men du kan prøve det.

 
Hej,
Instruktionen Retlw 0x00 er lidt farligt, hvis det skrevet ind forbeholdt locatons indeholder, oscillator kalibrering parametre, vil det påvirke arbejdsmiljøet.Selv er jeg ikke sikker på, om det er sket i denne sag, vil jeg alligevel råde dig til at prøve omprogrammeringen den dårlige chip med en bogstavelig anden værdi end 0x00.Også, for delrutinen forvandleTil vende tilbage, bør du kun bruge Tilbagesendelse og ikke Retlw som anbefalet i eralier post.Retlw vil tage dit program til en adresse findes på toppen af stakken.
Også,
da du ikke har påbegyndt din kode efter interrupt vektor-adresse, kan det også påvirke programmet, mens den kører, men jeg er ikke sikker på om det skal vise sig i programmeringen session.Så for alle fremtidige tests som foreslået i den foregående post,
1.Brug kun Retur og ikke RETLW, medmindre du virkelig mener at filial til en ny placering som besluttet af indholdet i toppen af stakken.
2.Start de vigtigste program efter interrupt vektor-adresse, ved at tilføje en GOTO Main på adressen 0x0000.
Hilsen,
Laktronics
Sidst redigeret af laktronics den
16. februar 2008 7:39; redigeret 1 gang i den samlede

 
Som jeg har bemærket, at du har indstillet konfiguration bits til 3D18h hvad med hensyn til oscillator type forstås interne oscillator valg.Hvad sker der en masse med mig, når du bruger en 16F628 og ICPROG og fik denne fejlmeddelelse er at ICPROG kan ikke styre den rigtige rækkefølge af aktivering af Vdd og Vpp ved indtastning af programmering mode.
Den rigtige rækkefølge er Vpp første og Vdd efter.ICPROG gør Vdd første og Vpp efter.Dette forårsager PIC konfigureret med intern oscillator starter kører firmware inde og ikke træder programmeringsprocessen mode (så du ikke kan læse, kontrollere eller skrive).Undgå at bruge interne oscillator, hvis du har kun dette programmører.Prøv at bruge en anden form for programmør for at slette config bits og få din PIC igen.

 
Tak for de brugbare svar gutter.Jeg tror rkodaira kan have ramt hovedet på sømmet med, hvad mit problem kan være.Disse tutorials gøre brug af WinPicProg software i stedet for icprog.Så koden sandsynligvis værker uden et problem, når du bruger denne software.

Jeg havde held til at redde en af mine to beskadiget ansvarlige ved hjælp WinPic800 stedet for ICprog og Willem software.Jeg prøvede alt på de resterende PIC og desværre I cant synes at få en til at arbejde igen, selv om hex-fil, der oprindeligt var på det stadig virker siden LED blinker den måde, det burde, da jeg udtrykte det i kredsløbet.Ill sandsynligvis stick med WinPicProg eller WinPic800 for den resterende del af disse tutorials, forhåbentlig Jeg plejer ende op med sådan en katastrofe af et resultat igen.Selv om jeg må indrømme, Im lidt bange for at ødelægge en anden PIC på grund af en kompatibilitetspakke spørgsmål som dette.

 

Welcome to EDABoard.com

Sponsor

Back
Top