Evaluating the address of the parameter

Gast #6971029
Lesenswert?

Hallo,

ich mache gerade QAC und in einer Funktion habe ich eine Warnung, die 
ich nicht weiß wie ich die wegbekommen kann.
1
typedef struct
2
{
3
  uint8_t type;
4
  uint32_t data;
5
}msgType
6

7
void videoTransmit(msgType msg)
8
{
9
  (void)cam_Transmit(sizeof(pfm_msg_st),(uint8*)(&msg));
10
}

Die Warnung ist:
Evaluating the address of the parameter 'msg'
1
uint8_t cam_Transmit(uint16_t window_size, uint8_t* sendWindow);


Aber was genau soll geprüft werden?
#6971051
Lesenswert?

Ich glaub eher das Problem ist vllt. folgendes.

Er hat seine Kopie, wenn er diese nun einer Funktion übergibt die z.B. 
per DMA überträgt und somit gleich wieder zurück kommt, verlässt er die 
obere Funktion auch und seine Kopie ist futsch (obwohl evtl. noch nicht 
verarbeitet).
#6971327
Lesenswert?

N. M. schrieb:
> Auf das wollte ich unter anderem raus :-)

Gut :-)

N. M. schrieb:
> Vllt legt er ja eine Kopie der Kopie an.

Damit diese Funktion evtl. die Daten wiederum als Kopie in den 
Peripheriespeicher legt...je nach HW, einige haben DMA Zeiger, andere 
FIFO.

Aber der Source ergibt auch kein Sinn.
Woher kommt "pfm_msg_st"?

Aber ich weiß nun auch net, wie QAC von MISRA abweicht.
Wäre interassant zu wissen, was es nun ist.

Könnte ja auch etwas undefiniertes sein, wie:
1
v[i] = i++;   // wie bjarne erwähnte

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren