Dummy Handle bei for-Schleife mit size 8000

OP #4914927
Lesenswert?

Hallo zusammen,

ich versuche gerade einen Algorithmus zu programmieren.

Nachfolgend ein Teil der Berechnung:

  int sample_size=8000;
  int dateisize=8000;
  int a[sample_size];
  int y[sample_size];
  /* Initialize the SAM system. */

  memset(a,0,sample_size);
  memset(y,0,sample_size);

  int c = 0;

  int N[dateisize-1]; //double N[dateisize - 1] = {0};
  // N=SUMME_K=1(w(k))  w(k)=(i(k)-i(k-1)+j(k)-j(k-1))
  int N_SUMME = 0;

  for (int i = 1; i < dateisize; i++) { //dateisize

    N[i] =(a[i] - a[i - 1] + y[i] - y[i-1]);
    N_SUMME = N_SUMME + N[i];

  }

Ich benutze einen ATSAM4S16C Xplained Board Cortex M4. Ich bekomme einen 
Dummy Handler an der stelle mit der for-Schleife und ich weis einfach 
nicht wieso.

Ich habe einen size von 8000, wenn ich diesen auf 100 stelle, 
funktioniert es ohne den Dummy Handler.

Bei Visual Studio funktioniert es...

Vielleicht habt Ihr mir einen Tipp.


Viele dank


Grüße

DDMW
OP #4914958
Lesenswert?

Nach dem erstellen habe ich:

Program Memory Usage   :  100524 bytes   9,6 % Full
Data Memory Usage     :78752 bytes   60,1 % Full

Theoretisch habe ich bei einem Array von (8000*(int 32bit))/8=32000Bytes

Für das Array a = 32000 und y = 32000 als auch N = 32000

-> 96000 Bytes ohne den restlichen Ram

Oder ?
Gast #4915444
Lesenswert?

Hallo

  int dateisize=8000;
  ...
  int N[dateisize-1]; //double N[dateisize - 1] = {0};
  ...
  for (int i = 1; i < dateisize; i++) { //dateisize

    ...
    N_SUMME = N_SUMME + N[i];
  }

Größe von N ist 7999. Der letzte gültige Index ist somit 7998.
In der Schleife erfolgt der letzte Zugriff aber auf 7999!
Beitrag #4964375 wurde von einem Moderator gelöscht.
Beitrag #4964378 wurde von einem Moderator gelöscht.

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