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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.