PIC24: Malloc/Free mit externem SRAM Speicher

Gast #1415103
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

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