DDS Software auf anderer Hardware/Compiler

Wenn unter den anderen Software-Themen kein passendes dabei ist oder wenn das Thema mehrere Bereiche überspant, dann versuche es hier einmal.
Antworten
dg1vs
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 122
Registriert: 20.12.2009, 22:26

DDS Software auf anderer Hardware/Compiler

Beitrag von dg1vs » 18.11.2010, 22:49

Hallo,

ich versuche gerade die Teile der DDS-Software auf eine andere Platform zu heben. Nein, ich will nicht das DDS nachbauen. Aber die DDS-Software ist eine gute Basis für neue Projekte. Aktuell versuche ich mich am UConnect XE164. Dass Ding kann man mitnehmen und auch mal im Hotel was machen.
http://www.infineon.com/cms/en/product/ ... 72841c00e0

Dazu gibt es einen Tasking-Compiler, der mit gewissen Einschränkungen den vollen Umfang kostenfrei darstellt. Da ich gerade mit dem Parser kämpfe die Frage:

Hat jemand bereits Erfahrung mit der C-Firmware und anderen Compilern und ist über Probleme gestolpert?

Ich stolpere über folgendes Problem

Code: Alles auswählen

//  {.SubCh = 2,   .rw = 1, .fct = 0, .type = PARAM_FLOAT,  .scale = SCALE_mV,   .u.s = {.ram.f = &Params.dPeakLevel, .eep.f = (float*)-1}},
    {.SubCh = 2,   .rw = 1, .fct = 0, .type = PARAM_FLOAT,  .scale = SCALE_mV,   .u.s.ram.f = &Params.dPeakLevel, .u.s.eep.f = (float*)-1},
benutze ich die Originalversion (oben auskommentiert) bekomme ich folgende Fehlermeldung

Code: Alles auswählen

c166 W542: ["..\generic-parser.c" 220/97] missing braces around initializer
c166 E279: ["..\generic-parser.c" 220/117] unknown member name "eep"
Weiterhin beschwert sich der Tasking über c166 W586: ["..\dds.h" 178/5] unnamed struct/union field bei folgendem Code

Code: Alles auswählen

typedef union
{
    uint8_t u8;
    struct
    {
        uint8_t Unused      : 1;
        uint8_t FuseBlown   : 1;
        uint8_t OverVolt    : 1; // In our case TRMSC Overvoltage
        uint8_t OverTemp    : 1;
        uint8_t EEUnlocked  : 1;
        uint8_t CurrentMode : 1;
        uint8_t UserSRQ     : 1;
        uint8_t Busy        : 1;
    };
} STATUS;


Grüße
Karsten

Antworten