SDCC och pic18
SDCC och pic18
Trots att jag professionellt jobbar med STs 32 bitare så är det ändå nåt speciellt att koppla upp en gammal PIC med tinybootloader på ett kopplingsdäck till PC via USB Uart och styra lite elektronik, framförallt nu när jag lyckats få frugan intresserad av hobbyprojekt (ja det går faktiskt!).
Håller med styra 8 RCservo via mjukvaruPWM men retar mig på att XC8 kompilatorn i free mode injicerar en massa instruktioner för att man ska uppgradera till betalversion för 995$ (lär ju inte hända).
Så testade med SDCC och gputils och porta koden från XC8 var relativt enkelt,...dessvärre funkar inte den kompilerade koden när den laddats in så undrar om nån på forumet lyckats få SDCC lira med pic18 och vad jag kan ha missat.
Håller med styra 8 RCservo via mjukvaruPWM men retar mig på att XC8 kompilatorn i free mode injicerar en massa instruktioner för att man ska uppgradera till betalversion för 995$ (lär ju inte hända).
Så testade med SDCC och gputils och porta koden från XC8 var relativt enkelt,...dessvärre funkar inte den kompilerade koden när den laddats in så undrar om nån på forumet lyckats få SDCC lira med pic18 och vad jag kan ha missat.
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: SDCC och pic18
Det verkar vara "work in progress". Fråga på SDCCs forum: https://sourceforge.net/p/sdcc/discussion/
Re: SDCC och pic18
Kör XC32, fria versionen, och har int sett något konstigt.Håller med styra 8 RCservo via mjukvaruPWM men retar mig på att XC8 kompilatorn i free mode injicerar en massa instruktioner för att man ska uppgradera till betalversion för 995$ (lär ju inte hända).
Du får nog precisera dig lite bättre.
Vad är det som stoppas in, och vad är det som inte funkar.
- Klas-Kenny
- Inlägg: 11343
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: SDCC och pic18
Du måste ju inte köpa hela XC8, går fint att prenumerera månadsvis om du bara behöver betalvariant tillfälligt.
Re: SDCC och pic18
Genererade från CodeBlocks och SDCC en hex-fil och jämförde med en hex-fil från C18.
Detta saknades i filen fån SDCC:
Är ingen expert med är detta inte "fuses" som saknas.
Detta saknades i filen fån SDCC:
Kod: Markera allt
:0600000062EF01F01200A6
:0600080004EF04F01200F9
:060018000CEF04F01200E1
:02002A000000D4
:04002C000101820E3E
Re: SDCC och pic18
TomasL: Du kan inte jämför med XC32 för MIPSarkitektur som är baserad på GCC med XC8, det är ju två helt olika kompilatorer.
Här är ett av de exempel som finns på nätet om xc8:
https://www.t4f.org/articles/optimizati ... -pro-mode/
Baron3d: ja det stämmer att fuses eller configuratiinbits ska defineras i SDCC ckod. Men jag kör tinybootloader för programladdning och då är dessa satta vid inladdning av bootloader.
Vilken gputils kör du? När jag körde 1.5.1 fick jag skumt fel på rad 190 nånstans så jag laddadr ned en fixad variant.
Här är ett av de exempel som finns på nätet om xc8:
https://www.t4f.org/articles/optimizati ... -pro-mode/
Baron3d: ja det stämmer att fuses eller configuratiinbits ska defineras i SDCC ckod. Men jag kör tinybootloader för programladdning och då är dessa satta vid inladdning av bootloader.
Vilken gputils kör du? När jag körde 1.5.1 fick jag skumt fel på rad 190 nånstans så jag laddadr ned en fixad variant.
Re: SDCC och pic18
Spelar ingen roll licenserna är ungefär samma, dvs optimering saknas i den fria versionen. Dock lägger naturligtvis inte kompilatorn till en massa extra som du påstår.Rick81 skrev:TomasL: Du kan inte jämför med XC32 för MIPSarkitektur som är baserad på GCC med XC8, det är ju två helt olika .
Re: SDCC och pic18
Det var SBS (Skit Bakom Spakarna) som orsakade problemet.
Hade gjort en miss vid portning av uartkoden.
Ska bli intressant att testa SDCC lite mer då den dessutom har optimering.
Hade gjort en miss vid portning av uartkoden.
Ska bli intressant att testa SDCC lite mer då den dessutom har optimering.
Re: SDCC och pic18
Det skall bli spännande att följa. Jag har inte kommit i gång än.
Vad som drev mig i riktning mot SDCC var också optimeringen.
Har idéer om PLC ladder programmering.
Vad som drev mig i riktning mot SDCC var också optimeringen.
Har idéer om PLC ladder programmering.
Re: SDCC och pic18
För de som vill testa SDCC körde har jag installerat SDCC för windows på
https://sourceforge.net/projects/sdcc/files/
För gputils 1.5.1 fick jag detta fel
Assertion failed!
Program: C:\PROGRA~2\gputils\bin\gplink.exe
File: gpcofflink.c, Line 190
Expression: sym != NULL
Men finns fixad version på
https://sourceforge.net/projects/gputil ... e/download
I mplab X laddade jag ned SDCC plugin via IDE.
Portning från XC8 till SDCC är princip bara lägga till struct med samma namn som register i datablad .bit
Ex
swdten =1; // xc8, aktivera soft watchdog
wdtcon.swdten=1; // SDCC aktivera soft watchdog
https://sourceforge.net/projects/sdcc/files/
För gputils 1.5.1 fick jag detta fel
Assertion failed!
Program: C:\PROGRA~2\gputils\bin\gplink.exe
File: gpcofflink.c, Line 190
Expression: sym != NULL
Men finns fixad version på
https://sourceforge.net/projects/gputil ... e/download
I mplab X laddade jag ned SDCC plugin via IDE.
Portning från XC8 till SDCC är princip bara lägga till struct med samma namn som register i datablad .bit
Ex
swdten =1; // xc8, aktivera soft watchdog
wdtcon.swdten=1; // SDCC aktivera soft watchdog
Re: SDCC och pic18
Nja, XC8 lägger nog inte till nånting, utan snarare tar inte bort det som bildas vid en standard kompilering, de instruktionerna kan ses som platshållare som kanske kan behövas, senare.Rick81 skrev:Kolla länken vad XC8 lägger till
De tas bort vid optimeringen (som inte finns i den fria XC8an)
Testa en en enkel "if()" i den fria versionen och betalversionen utan optimering påslagen, så brukar det genereras 3 eller flera "goto" i rad.
Slår man på optimeringen i betalversionen försvinner dessa.
Så det handlar mer om att gratisversionen saknar optimering och uppstädning, inte att extra kod läggs till.