Article View: be.science.electronics
Article #166Re: PICs en draadloze verbindingen
From: Martijn van Buul
Date: Thu, 11 Sep 2008 10:27
Date: Thu, 11 Sep 2008 10:27
100 lines
5709 bytes
5709 bytes
Nico Coesel (nico@puntnl.niks) schreef: > Martijn van Buul <pino@dohd.org> wrote: > >>Nico Coesel (nico@puntnl.niks) schreef: >> >>[ grote knip ] >> >>Tot hier was ik het roerend met je eens, maar: >> >>> Als je begint met een platform waarop je goed in C kunt programmeren (dus >>> niet de PIC, 8051 of AVR), >> >>Een AVR valt fantastisch in C te programmeren. Een 8051 in zekere zin >>ook, maar die wil je om andere redenen niet meer. > > Maak eens een programma waarin je met strcpy en strcat een constante > en niet constante character array naar een niet constant character > array wilt kopieren. Dat gaat niet op een harvard architectuur zonder > bijzondere (trage) pointer acrobatiek omdat de processor aan de > pointer zelf niet kan zien in welke geheugen de data moet worden > opgehaald/weggeschreven. So? Het is wat minder handig, inderdaad, maar *juist omdat je in C programmeert* heb je er helemaal geen last van, omdat de compiler dit soort details voor je oplost. Je ondergraaft je eigen stelling. Je wil juist een taal als C gebruiken om allerlei details over je processor te verbergen. Of wou je beweren dat MIPS lekker fijn in assembly programmeert? >>[knip] >> >>> En tegenwoordig zijn er voor veel platforms (ARM, MIPS, MSP430, H8) >>> uitstekende GCC compilers beschikbaar voor niets. >> >>Gcc? Uitstekend? Laat me niet lachen. Gcc is een vrij slechte compiler. Het >>*werkt* voor veel targets, maar daar is het dan ook mee gezegd. Performance is >>(op alle targets!) vrij bedroevend. De beschikbaarheid van gcc voor een bepaald >>platform (waaronder AVR, overigens) is geen reden om andere beschikbare >>C-compilers die vele malen beter presteren (Keil cq Tasking voor de 8051, >>CodeVision AVR voor de AVR) te negeren. > > Met de 8051 en de AVR noem je 2 specifieke 8 bit platforms waarbij de > 8051 nog eens zo krom is als een hoepel (been there, done that). Ik pak de 2 platformen die jij eerder al aan de kant had geschoven omdat je ze niet in C zou kunnen programmeren. Wat baarlijke onzin is. En geloof me, ik ken de 8051. Heb jarenlang op de 8-bit microcontroller sales support van een bepaalde voormalige gloeilampenfabrikant in het zuiden des lands gewerkt. Je mag drie keer raden welke CPU. > Maar voor 32 bit platforms presteert de GCC compiler zeer goed. *proest*. >>Gcc is *zo* brak, dat een alle-remmen-los release build van gcc, met maximale >>optimalisaties, vaak *langzamer* is dan een debug build van msvc. Om maar >>eens een zijstraat te noemen. En dat is dan op een mainstream platform als >>32-bits x86. > > Dat lijkt me erg sterk. Dit soort stellingen komen meestal van mensen > die van de ene compiler wel goed weten hoe die werkt en van de andere > compiler totaal niet. En toch zie ik het keer op keer. Inmiddels weet ik hoe ik mijn C zo moet schrijven dat zelfs het stomste kindje uit de klas (Wist je overigens dat GCC een afkorting is? Staat voor GCC Can't Compile) het een beetje snapt. En zelfs dan. GCC is stom. En het ergste is nog dat het er van uitgaat dat ik *OOK* stom ben. > 1 ding weet ik zeker: er zit veel meer tijd en energie in GCC dan in iedere > andere compiler. Veel meer tijd ja - waaronder heel veel verprutste tijd. Tijd verprutst aan het toevoegen van zinloze warnings omdat er zoetwaterprogrammeurs zijn die te stom zijn om te weten dat && boven || gaat. > Als GCC veel slechter presteert dan een commerciele compiler dan doe je of > iets heel erg fout of je hebt heel erg veel geld betaald voor de commerciele > compiler. Of de commerciele compiler is voor een specifieke architectuur geschreven, ipv voor zoveel mogelijk achitecturen tegelijkertijd. Intel's icc bestaat niet voor niets, bijvoorbeeld. Als je dat fundamentele verschil weigert te accepteren, vraag ik me af wie er nou degene is die oogkleppen op heeft. Maar weet je wat de belangrijkste reden is waarom OP misschien beter af is met een simpele AVR? Heeft helemaal niets met architecturen, C-compilers of wat dan ook te maken, maar met een hele simpele reden: Een Atmel AVR komt in een fijne DIL behuizing, en is gemakkelijk op een stuk gaatjesbord te solderen. Kom daar maar eens mee, met je 48 pins LQFP "low pin count" ARM. Of MIPS. Of H8. Zeker zo vriendelijk voor een hobbyist. -- Martijn van Buul - pino@dohd.org
Technical Details
Message-ID:
<slrngchsk3.1tnv.pino@mud.stack.nl>Path:
arc1-ca.pugleaf.net!g2news2.google.com!news2.google.com!eweka.nl!lightspeed.eweka.nl!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!news.stack.nl!not-for-mailReferences:
<48c58ac4$0$2865$ba620e4c@news.skynet.be> <48c6c8b1.855499423@news.planet.nl> <48c6d025$0$2860$ba620e4c@news.skynet.be> <48c6ec14.864558679@news.planet.nl> <slrngceqke.16e7.pino@mud.stack.nl> <48c84ad2.14394508@news.planet.nl>Show Full Headers
Complete Article Headers
X-Google-Thread: ff242,8ce267f2294dd70f X-Google-Thread: 10bc2a,8ce267f2294dd70f X-Google-Thread: 1115fc,8ce267f2294dd70f X-Google-Attributes: gidff242,gid10bc2a,gid1115fc,domainid0,public,usenet X-Google-Language: DUTCH,ASCII-7-bit Path: arc1-ca.pugleaf.net!g2news2.google.com!news2.google.com!eweka.nl!lightspeed.eweka.nl!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!news.stack.nl!not-for-mail From: Martijn van Buul <pino@dohd.org> Newsgroups: be.science.electronics,nl.hobby.elektronica,alt.nl.electronica.zelfbouw Subject: Re: PICs en draadloze verbindingen Date: Thu, 11 Sep 2008 10:27:15 +0000 (UTC) Organization: Eindhoven University of Technology Lines: 100 Message-ID: <slrngchsk3.1tnv.pino@mud.stack.nl> References: <48c58ac4$0$2865$ba620e4c@news.skynet.be> <48c6c8b1.855499423@news.planet.nl> <48c6d025$0$2860$ba620e4c@news.skynet.be> <48c6ec14.864558679@news.planet.nl> <slrngceqke.16e7.pino@mud.stack.nl> <48c84ad2.14394508@news.planet.nl> Reply-To: pino+nl_hobby_elektronica@dohd.org (Martijn van Buul) NNTP-Posting-Host: mud.stack.nl X-Trace: mud.stack.nl 1221128835 63232 2001:610:1108:5011:2e0:81ff:fe03:c4bf (11 Sep 2008 10:27:15 GMT) X-Complaints-To: abuse@stack.nl NNTP-Posting-Date: Thu, 11 Sep 2008 10:27:15 +0000 (UTC) X-Favourite-Drink: Alcoholic, yet fluid User-Agent: slrn/0.9.8.1 (FreeBSD)