Sida 1 av 1
Plötsligt fel vid programmering av PIC18F1320. *Löst*
Postat: 28 juli 2006, 13:56:34
av JimmyAndersson
Håller på med koden till kamerastyrningen. Allt har fungerat fint. Testade att minskade paustiden till servona.
Knappade in
xwisp2w go servo1 och fick:
Kod: Markera allt
C:\XWISP2170\18LF1320>xwisp2w go servo1
XWisp2 version 1.6.01 (Aug 14 2005, Open Watcom C 1.30)
File SERVO1.Hex loaded and is Intel Hex format conforming
Programmer Wisp628, firmware version 1.09
Detected target: 18F1320 revision 02 (ID=07C2)
Target erased
Transferring image to 18F1320 via Wisp628
Transferring program memory...OK!
Verifying program memory......OK!
Transferring ID memory........OK!
Verifying ID memory...........OK!
Transferring data memory......OK!
Verifying data memory.........OK!
Transferring fuses memory.....OK!
Verifying fuses memory........failed at 00000A, expected: '0020', found: '0000'
Write-Verify failed after 1.68 seconds, rc 21!
XWisp2 failed after 3.51 seconds, rc 21!
Då tog jag bort raderna jag lagt till, men samma problem ändå. Har testat att byta PIC-krets, men det hjälper inte.
Vad beror detta på? Koden fungerade innan. Har inte ändrat något på labbplattan.
Hur hittar jag felet?
Postat: 28 juli 2006, 15:59:57
av sodjan
Inte för att jag tror att det hjälper, men du har en
ganska gammal version av XWisp2... Jag tror den hetel 1.9.någonting
nu. Kolla på
www.robh.nl.
> Verifying fuses memory........failed at 00000A,
Konstigt...
Det finns väl inga "fuses" på den adressen...
HUr som hälst, jag skulle plocka ner en aktuell
XWisp2 i alla fall...
> Koden fungerade innan.
Innan vadå ??
Postat: 29 juli 2006, 00:28:27
av JimmyAndersson
Nu har jag bytt version.
Kod: Markera allt
C:\XWISP2170\18LF1320>xwisp2w go servo1
xwisp2 version 1.9.0 for Windows (Apr 08 2006, Open Watcom C 1.40)
File servo1.hex loaded and is Intel Hex format conforming
Detected programmer: Wisp628, firmware version 1.09
Detected target: 18F1320 revision 02 (ID=07C2)
Target erased
Transferring program to 18F1320 via Wisp628
Transferring program memory...OK!
Verifying program memory......OK!
Transferring data memory......OK!
Verifying data memory.........OK!
Transferring ID memory........OK!
Verifying ID memory...........OK!
Transferring fuses memory.....OK!
Verifying fuses memory........failed at 30000A, expected: '2000', found: '0000'
Write-Verify operation failed after 1.71 seconds, rc 21!
xwisp2 failed after 3.13 seconds, rc 21!
Hm.. nu blir det fel på 30000A
hex-filen är den samma.
>> Koden fungerade innan.
> Innan vadå ??
Innan jag minskade paus-tiden till servona. Men nu får jag samma fel (som ovan) trots att jag återställt koden som den var från början när den fungerade.
Postat: 29 juli 2006, 11:57:20
av sodjan
> Nu har jag bytt version.
Och nu går det ju fel efter 3.13 sek istället för 3.51 sek !
Det är ju alltid en framgång...
> failed at 30000A...
Nu får du i alla fall en rimligare adress.
Det är alltså CONFIG6L/CONFIG6H den klagar på.
Hur ser dina CONFIG inställningar ut i koden ?
Har du satt någon "write protect" ?
Postat: 29 juli 2006, 14:29:30
av JimmyAndersson
> Och nu går det ju fel efter 3.13 sek istället för 3.51 sek !
> Det är ju alltid en framgång...
Precis.
Kom just på hur man tar reda på vad t.ex 30000A motsvarar: Man kollar databladet...
Mycket riktigt så var det fel i CONFIG6L/CONFIG6H. De inställningarna hade trillat bort i DeviceFlag-inställningarna i MikroBasic. Det har hänt en gång tidigare. Nu är inget satt som "write protect" i CONFIG6L/CONFIG6H.
Problemet är löst. Nu fungerar det utmärkt.
Tack!
Postat: 29 juli 2006, 17:01:23
av sodjan
En intressant sak var att den gamla versionen av XWisp2 rapporterade
helt fel adress. Så någon nytta av bytet av version var det ju.
Sedan, ligger inte CONFIG-inställningarna i källkoden ?
Hur kan dom "tappas bort" ??
Personligen tycker jag att de ska följa med källkoden så
de inte försvinner när men t.ex uppgraderar sin utv. miljö.
Postat: 29 juli 2006, 17:56:40
av JimmyAndersson
Jag har kollat i både asm-koden och basic-koden, men inte hittat några CONFIG-rader där. Det verkar som om CONFIG-inställningarna inkluderas när man bygger hex-filen. Håller verkligen med om att det vore bättre om de följde med källkoden.
Jag brukar skriva ut de flesta av mina program för att lätt kunna titta tillbaka och återanvända procedurer. Brukar då även skriva upp CONFIG-inställningarna. Lite omständigt, men vad gör man när MikroBasic är lite "begränsat"...
Troligen har jag inte konverterat till assemblerismen just för att jag har så mycket färdig MikroBasic-kod. Det går förstås att översätta eller använda de genererade asm-filerna som grund om man byter utveckligsmiljö. Men "måste" man slänga ihop ett program lite snabbt så är det lätt att göra det i MikroBasic eftersom jag kunnat basic-syntaxen i snart 20 år.
Postat: 29 juli 2006, 18:02:25
av lgrfbs
Skriv en rad
här så kanske det kommer med i nästa version av
mikroBasic/Pascal/C då de har samma editor.
Edit: Stavfel rättade