Arrays in SDRAM speichern

Gast #2037192
Lesenswert?

Also in der Annahme:

- Du redest von C-Code und Microblaze
1. es ist ein Prozessor im Einsatz
2. dieser sollte Speicher zugewiesen gekommen (ram/rom)
3. diese Speicherbereiche liegen im FPGA z.B. als BlockRAM oder in 
deinem SDRAM
4. Diese Speicherbereiche haben Adressen.
5. Schreibe das Array an die entsprechende Speicheradresse
Gast #2037450
Lesenswert?

Danke

Bei mir ist die Speicherbereich für SD-RAM ist : 0x60000000-0x6FFFFFFF

Jetzt wie es daunten aussieht, habe ich ein Array mit einem Dimension 
erzeugt.:

  volatile int **pic = (int**)0x60000000;

  pic[5] = 10;

  xil_printf( "%x\r\n", &pic[5]);
  xil_printf( "%d\r\n", pic [5]);

ich will aber ein 2D Array erzeugen. Kann jemand weiter helfen?
Gast #2038622
Lesenswert?

Einfach einen Pointer auf das Ram und reinschreiben ist KEINE gute Idee. 
Willst du nicht lieber dem Compiler die Speicherzuteilung überlassen?

2D Array kannst du ganz normal anlegen mit z.B. int pic[30][10]
Überlege dir aber ob du das Array am Stack oder Heap haben möchtest und 
verwende dafür eben die Funktionen zur dynamischen Speicherfunktionen 
(malloc, new)

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