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