Sida 1 av 2
Byte av PIC krets
Postat: 17 september 2008, 13:32:54
av MoS
Sitter här och klurar på om man kan byta en PIC krets av lite äldre modell till en nyare? Jag har nyss börjat använda PIC, tänker i första hand använda färdiga program, problemet är att de programmerings "verktyg" jag har inte stödjer den processor jag skall använda i mitt projekt. Däremot finns det en nyare PIC som stöds av bl.a PICKit2, kan jag köra programmet i den nyare kretsen? Gäller 12C671 som skall ersättas av 12F675.
Postat: 17 september 2008, 13:54:07
av vfr
Du ska inte köra samma binärfil (hexfil) till olika modeller. Däremot brukar det inte vara några problem att assemblera/kompilera om programmet för en ny modell med lika eller mer funktioner. Ev. någon mindre ändring vid initiering eller hantering av register. Lusläs databladen så ser du skillnaderna.
Postat: 17 september 2008, 13:58:20
av sodjan
Självklart ska du inte köra med en "C" modell !!
Om du inte har väldigt starka krav att göra det.
12F675 är inte en speciellt ny krets och den stöds av alla
programmerare som det finns anledning alls att använda i dag.
Det måste vara något riktigt udda verktyg om inte 12F675 stöds...
Postat: 17 september 2008, 14:37:54
av MoS
Vad är det för skilnad på "C" och "F" egentligen, har sökt runt lite men inte funnit bra svar! Jag har PICKit2 Starter kit plus Velleman 8048. Vad jag förstår så får jag kolla upp respektive krets instruktioner för att se om de är lika eller..?
Postat: 17 september 2008, 14:50:01
av sodjan
"C" : OTP.
"F" : Flash.
Du får jämföra det som är rellevant för dig.
Jag förstår inte vad som är problemet, Microchip har
datablad till båda modellerna. Allt du behöver finns där.
Jag tror inte att du ens har försökt kolla själv, t.ex kapitlet
"APPENDIX D: MIGRATING FROM OTHER PIC® DEVICES"
i databladet för 12F675...
Postat: 17 september 2008, 15:44:24
av vfr
Jag såg inte ens när jag skrev förra svaret att det var en "C"-variant du använt. Jag håller med Sodjan fullt ut. "C"-varianter är döda.
Jag gör lite av ditt jobb och ger en förklaring. Den stora skillnaden mellan "C" och "F" är att första varianten är engångsprogrammerbart ROM medan den andra varianten är flash-EPROM. Det senare är raderbart och omprogrammeringsbart tusentals ggr, d.v.s så otroligt mycket lättare att jobba med då man inte behöver slänga och köpa ny kontroller för varje testprogrammering man gör.
Postat: 17 september 2008, 15:55:07
av MoS
Jaha, känns som man blir lite "avsnäst" här. Självklart letar jag själv, men vad som är fullständigt självklart för vissa är okänt för andra. har detta enbart som fritidsintresse och är helt ny på området microcontrolers. Tänkte bara få lite hjälp vidare, men blev visst fel....
Postat: 17 september 2008, 16:01:39
av sodjan
Helt OK.
Vad tyckte du om kapitlet "APPENDIX D: MIGRATING FROM OTHER PIC®
DEVICES" i databladet för 12F675 ? Var det till någon hjälp ?
Vad som är rellevant för dig är svårare att säga. Det beror ju på vilka delar av
processorn som du använder. D.v.s att om du inte använder ADC'n, så
är ju de skillander som gäller just den inte så intressanta.
Jag antar att du har hittat ett projekt på nätet. Annars är det lite
svårt att förstå hur du har valt en gammal "C" varient om du just
har börjat med PIC's. En stor hjälp skulle kunna vara att du i så
fall länkar till projektet.
Postat: 17 september 2008, 16:04:35
av Earendil
MoS: Jag håller med dig om att man kan få ganska "råbarkade" svar här av vissa. Om man ändå bemödar sig att svara eller kanske peka ut något att läsa behöver man ju inte klämma in påhopp i samma inlägg, tycker jag. Bättre då att inte svara alls om man inte tycker en person förtjänar hjälp. Databladsletande är lite trögt i början. Den som får "positiv hjälp" kommer att lära sig tids nog.
Postat: 17 september 2008, 16:13:57
av sodjan
Notera också att när man går till produktsidan för 12C671 på
www.microchip.com
så står det :
"Please consider this device: PIC12F675. View Side By Side Comparison"
Om man klickar på "View Side By Side Comparison" (vilket alltså är en länk)
så får man en sida med de viktigaste skillnaderna specade.
Förresten, hur visste du att det var just 12F675 som du ville byta till ?
D.v.s om du inte redan visste att de var ganska lika ?
> ...tänker i första hand använda färdiga program,
Om du menar fädiga HEX filer så går det sannolikt inte.
Om du har tillgång till källkod, så kan det inte vara speciellt
många ändringar. Sannolikt bara i CONFIG och några initieringar
som t.ex val av oscillator och konfifurering av I/O pinnar...
Postat: 17 september 2008, 16:39:21
av bearing
Om det är färdiga hexfiler går det att få fram assemblerkod med hjälp av en disassembler. Programmen blir svårlästa eftersom inga kommentarer finns kvar, labels får löpnamn ('LABEL0001' osv), variabler får löpnamn eller endast minnesadressen. Det kanske ändå blir användbart eftersom det är små ändringar som behöver göras. Jag tror dock inte det är så lätt för nybörjaren att jobba på det sättet.
Postat: 17 september 2008, 17:38:47
av MoS
Lägger ner detta, känns som att "hjälpen" här ifrån snarare stjälper
Postat: 17 september 2008, 17:57:53
av sodjan
Om du inte kommer vidare nu, med den hjälp som
du har fått så här långt, så är det sannolikt rätt beslut.
Eller, beskriv bättre vad som just nu är problemet.
Postat: 17 september 2008, 19:15:45
av Swech
Ge inte upp.. elektronik med processorer är mycket kul.
De första åren gjorde Microchip processorer som endast gick att programmera 1 gång. Då man utvecklade hade man kretsar med ett litet fönster så att man kunde sudda med UV ljus. Att programmera dem på plats i sitt kretskort var att glömma....
Sedan kom F = Flash. Dessa går att programmera > 10.000 gånger
och kan programmeras på plats i slutprodukten.
Det är skillanden mellan C och F
De olika modellerna av processorer har olika innehåll vad gäller AD omvandlare och kommunikationsmoduler. Själva processorn brukar vara samma. Det är bara lite "krafs" runt om som lagts till eller dragits ifrån.
Då man byter måste man kolla om man använder sig av något "krafs" som antigen försvunnit eller förändrats.. Likaså kan de nya tilläggen också
störa de gamla funktionerna. Men detta är alltså programberoende.
Ett program kan funka utan förändring, nästa får man skriva om mycket.
Så ge inte upp bara för att de som vet tycker att alla borde veta
Swech
Postat: 17 september 2008, 20:40:40
av MoS
Tack Swech och Earendil, kanske vågar man fråga något igen !!!