Forum: Mikrocontroller und Digitale Elektronik PIC24: Malloc/Free mit externem SRAM Speicher


von PeFi1 (Gast)


Lesenswert?

Hallo!

An einen PIC24FJ96GA010 habe ich über I/O-Ports einen externen 
SRAM-Speicher (512K x 8) angebunden. Der Microchip C30-Compiler für 
diesen Prozessor unterstützt dabei das Anlegen von Speicherbänken, wie 
im Benutzerhandbuch beschrieben ist (Stichwort: "External Pointer"). Die 
entsprechende Funktionen habe ich implementiert und sie scheinen auch 
für statisch definierte Variablen zu laufen (via LogicPort am SRAM 
beobachtet).

Frage: Hat jemand Erfahrung, ob man bei einem solchen externen Speicher 
das MALLOC und FREE des C-Compiler nutzen kann? Wenn ja: Wie sieht die 
Lösung aus? Das Handbuch sagt leider nichts dazu.

//Definieren einer Speicherbank:
extern int ExtMem_Bank0 _attribute_ (( 
space(external(size(EXTMEMSIZE))) ));

//Definieren einer Pointer-Variablen in der Speicherbank
static _external_ int *ptrExtMemArr 
__attribute__((space(external(ExtMem_Bank3)) ));

//Reservieren von Speicher:
ptrExtMemArr = (int *) malloc(1500 * sizeof(int));

Das Reservieren scheint zu funktionieren, aber die Zugriffe hauen leider 
überhaupt nicht hin...

Danke im vorraus.
PeFi1

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.