Sida 1 av 2

Skriva om asm kod till en annan pic-typ

Postat: 11 april 2006, 14:00:31
av willmans
Jag har asm-koden till en pic12c508a som jag skulle vilja skriva om så att den fungerar på någon pic som kan programmeras på wisp628 t.ex 12F629, 12F675. Finns det något konverterar-program, eller måste jag gå in och skriva om för hand?

Postat: 11 april 2006, 14:28:57
av Seven11
det beror nog på koden... om koden använder specialfunktioner som inte finns på den andra picen så kan det bli jobbigt, gissar på att dom picarna stödjer samma instruktioner i övrigt (detta är en gissing, men det borde bara vara att titta i databladen).

EDIT: konverteringsprogram tror jag inte på...

Postat: 11 april 2006, 14:48:24
av sodjan
Skriva om och skriva om...

Den enklaste är att ladda koden i MPLAB, ställa om, och se vad MPLAB "säger".

Sen är 12F508 en naturligare ersättare till 12C508 om man enbart
vill ha en Flash variant...

EDIT : Även om det kanske inte framgår av varken min eller Wouters
web sidor, så fungerar både 12F508, 12F509 och 12F510 med Wisp628...

Postat: 11 april 2006, 16:53:34
av willmans
Så 12c508 kod fungerar på en 12F508 direkt utan att man behöver ändra något?

EDIT:
Jag körde Build All i MPLAB och den klagade på dessa saker:
Executing: "C:\Program\Microchip\MPASM Suite\MPAsmWin.exe" /q /p12F508 "output.asm" /l"output.lst" /e"output.err"
Warning[215] C:\OUTPUT.ASM 23 : Processor superseded by command line. Verify processor symbol.
Message[301] C:\PROGRAM\MICROCHIP\MPASM SUITE\P12C508.INC 37 : MESSAGE: (Processor-header file mismatch. Verify selected processor.)
Error[113] C:\OUTPUT.ASM 28 : Symbol not previously defined (_INT_OSC)
Halting build on first failure as requested.
BUILD FAILED: Tue Apr 11 17:42:16 2006


Då ändrade jag på alla ställen där det stod 12c508 till 12f508 och sen tog jag bort _INT_OSC och då gick det att köra Build utan error. Men kommer den koden att fungera då? Jag kan lägga upp koden om någon vill kolla på den.

Postat: 11 april 2006, 18:12:58
av sodjan
12F508 är framtagen med det enda syftet att lösa just
det problem du har just nu...

Sen kan det finnas små skillnader ändå.

Stog det inget speciellt i databladet för 12F508 ?
Självklart har du kollat, eller hur ???

Postat: 14 april 2006, 10:06:11
av willmans
Det stod inget speciellt i databladet. Jag har beställt sample och ska prova programmera, skriver här hur det går.

Men du säger att 12F508 fungerar med wisp628 även fast det inte står på hemsidan, då kanske 12C508/12C508A fungerar att programmera?

Postat: 14 april 2006, 10:28:42
av Icecap
Kolla i "xwisp2_12.cfg" i samma bibliotek där du har xwisp2w.exe, där finns en lista över alla PIC12... som (el-)WISP'en klarar (och nej, det finns ingen 12C... i den, enbart 12F, har kollat)

Postat: 14 april 2006, 12:41:33
av bearing
Fast 12C508 går ju bara att programmera en gång, så det är väl lika bra att använda 12F508 om du inte är ruggigt säker på att programmera.

Postat: 14 april 2006, 13:59:40
av sodjan
> ..om du inte är ruggigt säker på att programmera.

Nu var det väl en färdig kod som willmans hade...

Hur som helst, nej, OTP (d.v.s i princip alla "C") processorer kan inte
programmeras i Wisp628.

F versionen av 508 processorn (och en hel del andra) är, som sagt,
framtagen just för att komma runt problemen med C versionerna.

Postat: 14 april 2006, 14:12:32
av Icecap
Enligt det Microchip-seminar jag var på i sin tid är anledningen till att de vill köra flash så enkel att en flashminnescell är mindre än EPROM cellen, detta geer alltså mindre kiselarea = billigare chips.

Att flash-tekniken sedan ger så många andra fördelar för använderna är ju en annan sak men den blev implementerat för att göra billigare chips.

Bläddrar man genom Microchips PIC-lista med riktpriser ser man ju ganska snabbt att C-varianterna är dyrare än F-varianterna så de har väl lyckats.

Postat: 22 maj 2006, 18:22:20
av willmans
Jaha, nu har jag fått tag på ett 12f508 chip som jag försöker programmera. Men när jag ska programmera chippet med xwisp2 så säger den

xwisp2 version 1.9.0 for Windows (Apr 08 2006, Open Watcom C 1.40)
File output.hex loaded and is Intel Hex format conforming
Detected programmer: Wisp628, firmware version 1.09
Target not auto-detected, please specify on commandline!
xwisp2 failed after 0.83 seconds, rc 23!

Skriver jag manuellt in target så får jag

xwisp2 version 1.9.0 for Windows (Apr 08 2006, Open Watcom C 1.40)
File output.hex loaded and is Intel Hex format conforming
Detected programmer: Wisp628, firmware version 1.09
Using specified target: 12F508
Wbus command failure
Wbus command failure
Wbus command failure
Wbus command failure
Wbus command failure
Wbus command failure
Failed to restore preserved location 03FE, previous contents FFFF
xwisp2 failed after 0.90 seconds, rc 21!

Sa inte ni att det gick att programmera 12f508 på wisp628?

Postat: 22 maj 2006, 18:43:03
av Zyxel615
Har du kollat så PICen är korrekt inkopplad till WISPen?

Postat: 22 maj 2006, 18:45:10
av willmans
Ja, allt är dubbelkollat.

Postat: 22 maj 2006, 19:25:28
av Icecap
Jag tror inte riktigt på att den har ordentlig kontakt, hade den det ville du få en annan felmeddelande.

Har du saker kopplat till programmeringspinnerna?
Har du testat att _enbart_ har PIC'en kopplat till WISP'en (med matning såklart)?

Postat: 22 maj 2006, 20:11:14
av sodjan
Nu är jag konfunderad...

Jag var **bombsäker** på att 12F50x fungerade med Wisp628, men när
jag kollar nu står det faktiskt "Not yet supported". Shit...

Jag skall kolla vad som är speciellt med dessa.

Dessutom, eftersom jag skrev tidigare att 12F508 skulle fungera,
så skickar jag gärna några 12F629 istället som garanterat fungerar.
Kontakta gärna mig via mail eller PM så ordnar jag det. Du kan
ha dom på onsdag.

Ber verkligen om ursäkt att jag inte kollade det ordentligt förrut...