Servus, übersetze gerade das AVR449 IAR Projekt auf GCC was ersetzt unter GCC "ioavr.h" ? #include <avr/io.h> richtig?
1 | volatile __io PMSMflags_t fastFlags @0x0a; |
wie wird sowas geported? Schöne Grüße Daniel
|
|
Forum: Mikrocontroller und Digitale Elektronik Porting von IAR zu GCCServus, übersetze gerade das AVR449 IAR Projekt auf GCC was ersetzt unter GCC "ioavr.h" ? #include <avr/io.h> richtig?
wie wird sowas geported? Schöne Grüße Daniel Ich habe vor einiger Zeit AVR449 auf C++ portiert.
typedef struct PMSMflags {
//*************************************************
uint8_t motorStopped : 1; //
uint8_t motorSynchronized: 1; //
uint8_t actualDirection : 2; //
uint8_t desiredDirection : 1; //
uint8_t driveWaveform : 2; //
uint8_t unused : 1; //
//*************************************************
} PMSMflags_t;
// GPIOR0 BitFlag
//*************************************************
// iotn861a.h
//*************************************************
//#define GPIOR0 _SFR_IO8(0x0A)
//*************************************************
#define fastFlags (*(PMSMflags_t*) &GPIOR0) //
// (*(volatile PMSMflags_t*) &GPIOR0) // !! IS NoGo with C++
MitLeserin schrieb: > Ich habe vor einiger Zeit AVR449 auf C++ portiert Existiert das Projekt noch? Wenn ja wären die Files verkäuflich? Schöne Grüße Daniel Daniel B. schrieb: > volatile __io PMSMflags_t fastFlags @0x0a; Ist mit AVR-GCC so einfacher:
So läuft bei mir AVR447 ohne Probleme. Matthias S. schrieb: > Ist mit AVR-GCC so einfacher: >
> So läuft bei mir AVR447 ohne Probleme.
Ist aber nur ne Frage der Zeit bis das Probleme bereitet, und dann
suchst du dir nen Wolf.
Hinzu kommt das Register nicht volatile sein können, zumindest nicht in
GCC.
Johann L. schrieb: > Ist aber nur ne Frage der Zeit bis das Probleme bereitet, und dann > suchst du dir nen Wolf. Ich habe das auch nur mit wenigen ausgesuchten Registern gemacht (R9, R2,R4 und R8, wimre). Im Grunde ist selbst das bei AVR447 unnötig, da der MC auch mit normalen Variablen für den Algorithmus schnell genug ist. Hast du denn einen Lösung für den TE? Es geht um die Benutzung von GPIOR0-GPIOR2 als bitadressierbaren schnellen Speicher. Für einfache uint8_t Variablen geht ja sowas hier
Aber eben nicht für diese struct:
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
Noch kein Account? Hier anmelden.
|
|