Dessa fria begränsade kompilatorer

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
jfri
Inlägg: 180
Blev medlem: 1 februari 2010, 21:41:20

Dessa fria begränsade kompilatorer

Inlägg av jfri »

Jag programmerar PIC mestadels i C. Använder just nu nya XC8 kompilatorn. Kan inte hjälpa att känna mig lite besvärad över meddelandet att koden skulle bli 40% mindre om den var optimerad dvs om jag använt den fulla betalda versionen. Såvitt jag vet så gäller detta allmänt att om kompilatorn är fri så är den begränsad. Eller finns det några möjligheter till en gratis kompilator som också optimerar fullt ut? Eller är vilkoret för hemanvändaren som inte vill betala flera tusen kronor att han måste acceptera icke optimerad C kod eller hålla sig till assembler?
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Dessa fria begränsade kompilatorer

Inlägg av Krille Krokodil »

Gå över till AVR. :)
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Dessa fria begränsade kompilatorer

Inlägg av PHermansson »

Precis, det var anledningen till att jag "bytte sida" :)
Användarvisningsbild
psynoise
EF Sponsor
Inlägg: 7226
Blev medlem: 26 juni 2003, 19:23:36
Ort: Landvetter

Re: Dessa fria begränsade kompilatorer

Inlägg av psynoise »

Eller ännu bättre, lämna 8-bitars till dåtiden. I tråden Varför 8 bit? finns en del argument för och emot.

http://elektronikforumet.com/forum/view ... =7&t=59070

Annars kan du kolla in hur långt SDCC (Small Device C Compiler) har kommit kring PIC

http://sdcc.sourceforge.net/
Användarvisningsbild
Icecap
Inlägg: 26651
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Dessa fria begränsade kompilatorer

Inlägg av Icecap »

En snabb koll:
Krav:
Vdd max. 5,5V
Den billigaste 16 bit PIC på ELFA kostar då 25:30. Det är en PIC24FV16KA301-I/SO, 2k RAM, 16k Flash, 512 bytes EEPROM.
Den billigaste 8 bit med samma RAM & Flash blir då PIC18LF4550-I/PT till 75:60. Den har 2k RAM, 32k Flash, 256 bytes EEPROM.

Jag valde 5V som driftspänning då det ger en del fördelar som amatörer kan behöva.

Resultatet: skippa de gamla typer av PIC och anamma de moderna, det är mycket billigare!
zealotry
Inlägg: 919
Blev medlem: 9 oktober 2004, 22:28:40
Ort: Västerås

Re: Dessa fria begränsade kompilatorer

Inlägg av zealotry »

Och dom fria kompilatorerna för 16bit har inga begränsningar? Eller varför tar ni upp det i diskussionen om kompilatorer?
Användarvisningsbild
Icecap
Inlägg: 26651
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Dessa fria begränsade kompilatorer

Inlägg av Icecap »

Kombinera med SDCC...
jfri
Inlägg: 180
Blev medlem: 1 februari 2010, 21:41:20

Re: Dessa fria begränsade kompilatorer

Inlägg av jfri »

Krille Krokodil skrev:Gå över till AVR. :)
Är dom fria kompilatorerna till AVR lika bra som dom fulla registrerade motsvarigheterna för PIC ?
Användarvisningsbild
Glenn
Inlägg: 36749
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Dessa fria begränsade kompilatorer

Inlägg av Glenn »

Icecap skrev: Resultatet: skippa de gamla typer av PIC och anamma de moderna, det är mycket billigare!
Det är ju uppenbart ett medvetet val av microchip att göra så, istället för att sluta tillverka gamla modeller låter man dom bara ligga kvar på samma prisnivå, medans ersättarna blir billigare och billigare.

Smart tycker jag, det är ett snyggt sätt att få folk att uppgradera sej, utan att tvinga dom.

..Fast nu är det ju så att en ny 8bit också är billigare än en gammal, en klassiker är ju PIC16F877A som ersattes av PIC16F887 för typ en fjärdedel av priset, trots i princip identiska eller bättre data.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Dessa fria begränsade kompilatorer

Inlägg av jesse »

jfri skrev:
Krille Krokodil skrev:Gå över till AVR. :)
Är dom fria kompilatorerna till AVR lika bra som dom fulla registrerade motsvarigheterna för PIC ?
Atmel Studio 6 är antagligen "ungefär" lika bra, eftersom Atmel bara har en version oavsett om man är proffs eller inte, och den är gratis.
Den stödjer även Atmels 32-bitars.
farskost
Inlägg: 454
Blev medlem: 17 april 2006, 19:55:21
Ort: Mölndal

Re: Dessa fria begränsade kompilatorer

Inlägg av farskost »

Att priset på nyare kretsar kan vara lägre brukar ha en koppling till att det ofta mindre kiselyta i dem, för relativt lika designer, billigare att producera.

Utvecklingsmiljön för AVR är både gratis och riktigt trevlig, helt klart en rekomendation.
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Dessa fria begränsade kompilatorer

Inlägg av Krille Krokodil »

Atmel Studio har ingen egen C-kompilator men är inställd för att köra mot fria AVR-GCC. IAR påstår att deras kommersiella kompilator producerar kod som är 20-25% mindre, så situationen är liknande TS.
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Dessa fria begränsade kompilatorer

Inlägg av bearing »

Om man skriver koden med avr-gcc i bakhuvudet tror jag att koden blir väldigt effektiv. Atmel har en appnote i hur man skriver koden så att den blir effektiv på en AVR. Man får göra några "specialare", som att skriva inline-funktioner i .h-filer och liknande.

Men det är ju väldigt sällan man verkligen behöver den där extra optimerade koden, om man nu inte försöker slå något rekord i att göra något så häftigt som möjligt med en så liten processor som möjligt.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46986
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Dessa fria begränsade kompilatorer

Inlägg av TomasL »

Om man har egenutvecklade optimeringsalgoritmer som exempelvis Microchip, är det väl inte konstigt att man vill ha betalt. Samma gäller Microchips version av gcc, vill du ha full optimering mm, får du köpa den, nöjer du dig med gcc's normala optimering, så är det gratis, men de extra 50% eller vad det nu är kostar pengar. Vidare är det så att om man använder standard gcc till pic32, kan man inte använda uChips egna special-libbar.

Då det handlar bla om vad Microchip kallar "procedural abstraction" där all kod görs om till en mängd subrutiner, vilka återanvänds. Dessutom är det så att all kod inte går att optimera, de 50% som Mikrochip pratar om är maximal optimering, vilket man sällan uppnår.

Notera dock att, om koden är optimerad med dessa speciella algoritmer så går det inte att debugga den. Vilket för mig innebär att optimering är oanvändbar, eftersom optimeringen då genererar något helt annat än det man skrev, som man inte kan avlusa.

Om du har sådana behov att optimera, har du gjort fel, antingen har du skrivit fruktansvärt dålig kod eller valt fel processor.
Btw, skrota de där gamla stenålderspicarna, och använd lite modernare i stället.
jfri
Inlägg: 180
Blev medlem: 1 februari 2010, 21:41:20

Re: Dessa fria begränsade kompilatorer

Inlägg av jfri »

Krille Krokodil skrev:Atmel Studio har ingen egen C-kompilator men är inställd för att köra mot fria AVR-GCC. IAR påstår att deras kommersiella kompilator producerar kod som är 20-25% mindre, så situationen är liknande TS.
20-25 % mindre än Atmel Studio ? Frågan är då hur många % motsvarar då XC8 40% mindre än utan optimering som jag nu får med deras liteversion?
Skriv svar