Saletti Miteinander! Habe da eine kleine Frage betreffend Makefile. Ich probiere ein IAR-Projekt in AVR-Studio zu integrieren. Ich glaube das ist die Vorstufe zur Hölle, aber egal, es MUSS irgendwie gehen. Hab es zwei mal probiert und wieder komplett gelöscht da immer mehr Fehler. Nun der dritte und hoffentlich erfolgreiche Versuch. Im Makefile von IAR ist ein Teil namens OPTIONS vorhanden, bei dem einzelne Flags sind die ich übernehmen will für AVR-Studio. Wo kommen die beim GCC-Makefile rein? Hab einfach mal eins mit mfile erstellt. Zusätzlich hats da noch SECURITY_FILES und GATEWAY_FILES, welche projektspezifisch sein müssen... aber im Code wird das nirgends aufgegriffen. Es sind einfach .c-Files gelistet. Ist das für den IAR-Compiler? Im Anhang noch das entsprechende IAR-Makefile. Please help, ich dreh langsam am Rad!! Gruss Rolf
Hi, ich habe das erst gestern durchexerziert. Ich benutze IAR und WinAVR(AVR-GCC). Mein IAR-Compiler erzeugt kein Makefile (bzw. erstellt es evtl. beim compilieren und löscht es dann wieder). Da nutze ich die Einstellmöglichkeiten unter den Projekt-Optionen. Im WinAVR habe ich auch erste mit einem exernen Makefile experimentiert, aber dann festgestellt, dass es ebenfalls mit den Projekt-Optionen einfacher geht. Ich habe trotzdem mal das generierte Makefile in den Anhang gepackt. mfg
Hi Jo Sen danke erstmal für die Antwort. Da ich von IAR eins hatte wollte ich eigentlich diesen Weg gehen, um dann für weitere Projekte mit dem Chip schon eine Vorlage zu haben. Habe nun aber auch über die Projekteinstellungen angefangen, scheint mir auch leichter zu sein. by the way; Hast du sowas schon mal gesehen? #ifndef DOXYGEN_SHOULD_SKIP_THIS #ifndef _IAR_SYSTEMS_ASM_ extern __no_init __root volatile int8u emResetCause; extern __no_init __root volatile int8u emResetCauseMarker; extern __no_init __root volatile int16u emResetRStack; extern __no_init __root volatile int16u emResetCStack; #endif #endif //DOXYGEN_SHOULD_SKIP_THIS irgendwie mag er das root dort nicht in den 4 Zeilen... (Fehler: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__root') Gruss Rolf
Hab ich noch nicht gesehen. __no_init besagt, dass die Variable nicht mit einem Standardwert initialisiert werden soll. __root besagt, dass die Variable in den code eingefügt wird auch wenn sie nicht genutzt wird. Über google hab ich gelesen, dass evtl. __root nicht funktioniert wenn die Variable als __no_init deklariert wurde. mfg
Danke für die Antwort Ich hab nun mal abwechselnd beide Attribute ausgeklammert, jedoch bekomme ich immernoch eine ähnliche Fehlermeldung, einfach mit expected... before 'volatile'. Wenn ich alle drei Attribute ausklammere gehts natürlich, aber ob dann das Programm noch läuft ist eine andere Frage. Werde es mal ausprobieren Grüsse
hallo rolf, hattest du erfolgt mit dem makefile? kannst es mir hochladen? wie sind deine compile und linker aufrufe? welchen iar compiler bzw linker nimmst du? bye
ich will für diese demo sample ein makefile für den IAR compiler erstellen: /************************************************** * * This is a LED chaser example program for the AVR * STK500 starter kit evaluation board. This program * works for all AVRs. * * Description: * This program will turn on the User LEDs one at * a time and circulate this procedure in a forever * loop. * * Copyright 1996 -2005 IAR Systems. All rights reserved. * * $Revision: 1.1 $ * **************************************************/ // Include I/O definition file #include <ioavr.h> #include <intrinsics.h> int main( void ) { unsigned char led; PORTB = 0xFF; // Give PORTB and the User LEDs an initial startvalue led = 1; // Start with LED0 DDRB = 0xFF; // Set PORTB as output while(1) // Eternal loop { PORTB = ~led; // Invert the output since a zero means: LED on led <<= 1; // Move to next LED by performing a rotate left if (!led) led = 1; // If overflow: start with LED0 again __delay_cycles(500000); // Wait for 500 000 cycles } }
ich hab mal hier reingeschaut: http://www.barello.net/avrx/AvrX-2.6/IAR-GCC-Avrx-2.6.zip die verwenden auch IAR und haben ein makefile...
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.