Sida 1 av 2
PIC: Felmeddelande vid bränning
Postat: 26 mars 2006, 20:48:51
av BultaIBo
Säkert en enkel sak för den som kan...
Jag får följande fel när jag försöker ladda ner min egenhändigt kompilerade hex-fil till min PIC16F877A:
c:\Program\Release>xwisp2w Test1.hex
XWisp2 version 1.6.01 (Aug 14 2005, Open Watcom C 1.30)
Required argument for command TEST1.HEX missing
XWisp2 failed after 0.28 seconds, rc 36!
Jag använder mig förnärvarande av PICC-lite och har väl säkert missat någon smart inställning där.
Någon som har något bra tips?
En typ av lösning
Postat: 26 mars 2006, 20:57:37
av DeeJayPA
Testa
http://home.hccnet.nl/d.a.kuipers/pic/bumblebee/ tycker det är mycket enklare än xwisp och funkar bra.
Postat: 26 mars 2006, 21:11:01
av JimmyAndersson
BultaIBo:
Det fattas en liten grejj i din rad. Så här ska det vara:
xwisp2w go test.hex
Du har alltså glömt
go
edit: Det kan hända att 'go' ska vara efter filnamnet. När jag skriver det så blir det utan att tänka, så då blir det rätt. Nu när man måste tänka efter så blir man inte lika säker..

Testa, så ser du vilket som är rätt.
om du bara skriver
xwisp2w så ser du alla kommandon (och kretsarna den stödjer).
Postat: 26 mars 2006, 21:16:29
av sodjan
Jimmys lösning ska fungera, men jag tror också att du helt enkelt
kan plocka bort ".HEX"... :
xwisp2w test
OBS att det även förutsätter att din Wisp628 sitter på COM1 (vilket är default),
annars blir det :
xwisp2 port 2 go test
om den t.ex sitter på COM2...
Postat: 26 mars 2006, 22:23:18
av Icecap
Det kan ju vara att sökvägen är en annan än för xwisp2w.exe.....
Man måste ange absolut sökväg om man inte redan står i rätt bibliotek där hexfilen är.
Postat: 26 mars 2006, 22:30:26
av sodjan
En annan sak...
> XWisp2 version 1.6.01...
Aktuell version är 1.8.2 :
http://www.robh.nl/
Jag säger inte att det har med felmeddelandet att göra, men ändå...

Postat: 27 mars 2006, 10:33:16
av BultaIBo
Jag har testat att ladda ner en "färdig" hex-fil (b877-1.hex från
http://www.voti.nl/blink/index.html) och det fungerar
utmärkt!
Jag skrev då:
>xwisp2w b877-1.hex
eftersom jag har wisp:en på COM1 så kunde jag utelämna "go", eller?
Jag tror därför att mitt problem ligger i hur jag genererar hex-filen!
Några smarta tips och tricks vad jag bör tänka på där?
Nu använder jag PICC-lite, är MicroC bättre?
Postat: 27 mars 2006, 12:16:03
av sodjan
> Jag tror därför att mitt problem ligger i hur jag genererar hex-filen!
Posta den så får vi se...
Postat: 27 mars 2006, 20:43:04
av BultaIBo
Här är C-koden:
Från main.c
Kod: Markera allt
#include <pic.h>
#include "init.h"
void
main(void)
{
int i = 0;
init(); // Set TRISA among other things...
RA0=1;
for(i=0;i<1000000;i++)
{
i++;
i--;
}
RA0=0;
}
Från init.c
Kod: Markera allt
#include <htc.h>
/* Program device configuration word
* Oscillator = RC
* Watchdog Timer = On
* Power Up Timer = Off
* Brown Out Detect = On
* Low Voltage Program = Enabled
* Flash Program Write = Write Protection Off
* Background Debug = Disabled
* Data EE Read Protect = Off
* Code Protect = Off
*/
__CONFIG(RC & WDTEN & PWRTDIS & BOREN & LVPEN & WRTEN & DEBUGDIS & DUNPROT & UNPROTECT);
// Peripheral initialization function
void init(void){
/***** Common Code ****
* Peripheral interrupts not enabled
* Global interrupt disabled during initialization
*/
INTCON = 0b00000000;
/*
* Port directions: 1=input, 0=output
*/
TRISA = 0b00000000;
ei(); // Global interrupts enabled
}
Och här är hex-filen
Kod: Markera allt
:0600000000308A00052813
:100008000900A001A101082883120313A001A1017E
:1000180041200514A001A101112883120313A00A8D
:100028000319A10AA0080319A103A003A00A031930
:08003800A10A2008F0002108D4
:10004000F1000030F11BFF30F200F3007308803A3A
:10005000F4000030803A7402031D38280F30720219
:10006000031D382842307102031D382840307002C9
:10007000031C3B283C28112883120313051083011D
:1000800005288B018316031385018B178312080043
:02400E00FF3F72
:00000001FF
I HI-TECH IDE:n står det så här i den genererade binaries-strukturen
-Binaries
+Test1.hex [PIC14le]
Varför står det
PIC14le efter? Är säker på att jag ställt in att jag skall använda PIC16F877A...!
Jag kör med en extern kristall på 20 MHz och två kondingar...vad skall
Oscillator vara satt till? Nuvarande inställning är
RC
Postat: 27 mars 2006, 21:37:09
av Icecap
PIC14IE är sannolikt för PIC'ar med 14 bit struktur så det är OK.
20MHz kristall ska vara HS i oscillatorconfiguration.
Felmeddelandet tror jag är för att din hex-fil kanske saknar information om vilke processor fast de gånger jag har fått den samma är det för att WISP'en inte har "tag" i PIC'en ordentligt. Det har oftast varit glapp.
Postat: 27 mars 2006, 21:49:39
av sodjan
"A shot in the dark"...
Har du möjlighet att välja "format" på HEX filen i ditt verktyg ?
INHX32 är default i MPLAB, om du kan, prova med det.
Hinner inte i kväll eller i morgon, men skulle annars enkelt
kunna testa din HEX fil på en 877A...
Postat: 27 mars 2006, 22:31:26
av BultaIBo
Först och främst vill jag tacka för all suverän hjälp och tid som folk lägger ner. Helt otroligt!
Felet löste sig så här, jag provade helt enkelt med att läggat till "go" i kommandot...allt enligt JimmyAndersson i andra inlägget!
Alltså:
xwisp2w Test1.hex ---> Fungerar inte
xwisp2w b877-1.hex---> Fungerar
xwisp2w go Test1.hex---> Fungerar!!!
Konstigt eller?!
Tycker mig minnas att jag läst att man inte behöver ha med "go" om man kör på COM1...men det kanske jag bara drömt...hur som helst så funkar det nu och det är jag glad för!
Postat: 27 mars 2006, 22:44:33
av bearing
BultaIBo skrev:Här är C-koden:
Ryms det verkligen en hel miljon i en integer? I den C-variant för PIC jag använder rymmer integers bara tal mellan -128 och +127, 8 bitar alltså.
Postat: 27 mars 2006, 22:49:02
av sodjan
> Helt otroligt!
Håller med, borde sitta i bastun nu som har stått varm ett tag...
Eftersom du är på så gott humör, kanske du kan ta dig tid att
kommentera min fråga om din version på XWisp2 ?
Någon speciell anledning att du kör en äldre version ?
> jag provade helt enkelt med att läggat till " go " i kommandot...
Det *jag* tycker är "helt otroligt" är att du inte provade det *innan* du
postade här alls...
Hur som helst, trevligt att det fungerar !!

Postat: 28 mars 2006, 09:23:39
av BultaIBo
Japp...det var ju inget bra exempel på C-kod. Dock så använder jag HI-TECH PICC V9.50 och där är en int minst 16-bitar... i mitt dåliga exempel så innebär det väl att
i kan få värden mellan
-32,768 till
+32,767. Men det var knappast det misstaget i C som gjorde att jag fick fel vid bränning.
Eftersom jag är ny på PICC så gjorde jag så att jag började med att läsa på följande sida:
http://www.jescab.se/Programvara.html och under rubriken "
Programvara för PC:n." hittade jag en länk till xwisp2_161. Det är antagligen anledningen till att jag har en gammal programvara...