Hallo Ich habe mich stundenweise zuerst mal hier im Forum(PIC vs. AVR) durchgelesen. In meinem Fall PIC18F27J53-Atmega644P. Nun habe ich zwei fragen. 1. Des öffteren wurde mal hier erwähnt dass AVR und PIC preislich etwa gleichgestellt sind. Ich weiss zwar nicht wo man da die Preise hat aber bei meiner Recherche bei Digikey, Farnell sind mir, eingefleischtem AVR Benutzer, Schuppen von den Augen gefallen als ich feststellte dass PIC in etwas 2-3 mal billiger, bei gleicher oder besserer Ausstatung, ist. Was natürlich bei grösseren Stückzahlen der ausschlaggebende Argument ist. Sehe ich da was falsch ? 2. Auf der anderen Seite habe ich festgestellt dass MPLAB+HI-TEC 9.8 PRO für eine uint32_t Division(180 zu 50) oder Multiplikation(160 tu 40) etwas vier mal grösseren Code erzeugt als AVRStudio5. Ist es wirlklich so oder habe ich was da bei der Optimierung übersehen(bild). Gruss
Hi, ich kennen den AVR nicht, aber kann es sein daß Du hier einen 8-Biter mit einem 16-Bitter vergleichst ? Dann wäre ja klar, warum der Code beim PICgrößer ist. Versuch doch auch mal, die Speed Option wegzunehmen, dann wird er wohl einen Codegrößenoptimierten Code erzeugen. Gruß Dirk
Bis ca. 2009 waren die PIC18F z.B. bei Reichelt doppelt so teuer wie die AVRs und damit keine echte Alternative, inzwischen ist es umgekehrt (incl. besserer Verfügbarkeit). Microchip hat in den kostenlosen LITE Versionen der 18F Compiler die Optimierung deaktiviert, daher der größere Code. Wenn Du den Programmspeicher nicht voll ausnutzt ist das evtl. kein Problem. Ansonsten muss man sich den Compiler kaufen und erhält ähnlich kleinen Code wie beim AVR-gcc.
Und das Preisgefüge bleibt auch bei grösseren Stückzahlen. Und bei 10.000 Stk ist es eben nicht mehr egal, ob man 10k oder 20k für die MCs ausgibt, das Geld ist futsch... Bei Neuentwicklungen nehm ich kaum noch AVRs. Schade eigentlich, an sich mag ich sie. 2 Projekte habe ich inzwischen von AVR auf PIC umgestellt, trotz der rel. hohen Einmalkosten. Ob das so bleibt, dass vergleichbare PICs nur die Hälfte kosten, weiss natürlich auch keiner. Im Moment (und seit einiger Zeit) ist es so. Insgesamt scheint Microchip die Zeichen der Zeit besser zu erkennen. Und die andere Seite (AVR32, XMega versus STM32, LPC) sieht auch nicht gerade gut aus für Atmel.
Darf ich jemanden der einen HI-TEC C Compiler Pro hat bitten zu testen ob er auch die gleiche werte kriegt: mit division 228 ohne division 54 Mit AVRStudio5 und ATtiny2313 bekomme ich mit division nur 40 byte grösseren Code. Danke im Voraus #include <htc.h> #include <stdio.h> #include <stdint.h> #include <pic18f27j53.h> void main() { unsigned long int temp_1, temp_2; temp_2 = 0x12576521; while(1) { for(temp_1 = 0; temp_1 < 0xffffff; temp_1++) { LATA = temp_1; //LATA = temp_2 / temp_1; } } }
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.