Applikation auf Fujitsu MB90F347 Controller

fujitsufan

Erfahrenes Mitglied
Hallo,
wer kann mir einen Tipp geben, wie man beim Fujitsu MB90F347 nichtflüchtige Daten ins Flash schreibt?
Die Grundvoraussetzung mit den von Fujitsu vorgefertigten Funktionen
Code:
__far UINT8 Flash_sector_erase(volatile __far UINT16 *sector_adr)
__far UINT8 Flash_write(volatile __far UINT16 *w_write_adr, volatile UINT16 w_data)
__far UINT16 Flash_read(volatile __far UINT16 *start_flash_adr)
habe ich schon erfüllt: d.h.
1. Flash-Routinen erstellen und im RAM Speicherbereich definieren.
Code:
#pragma section FAR_CODE=RAMCODE /* located the program into RAM */
#pragma section CODE=RAMCODE
2. Im Start-up File den Kopiervorgang der Flasch-Routinen vom ROM ins RAM freigeben.
Code:
#set      COPY_RAMCODE      ON     ; <<< enable RAMCODE section to
                                                        ; be copied from ROM to RAM
2. System stack ist im Start-up File auch auf 1k erweitert.
Code:
#set      STACK_SYS_SIZE 1024    ; <<< byte size of System stack

Ich kann in einer Anwendung mit kleinem Umfang die Flash Speicherfunktionen ausführen.
z.B.: Sektoren löschen, Sektoren beschreiben, Sektoren lesen.
In einer Anwendung mit größerem Umfang, (ROM 87kB; RAM 3,5kB) funktioniert der Zugriff auf das Flash nicht mehr.
Beim Aufruf einer der Flash-Routinen z.B.
Code:
__far UINT16 Flash_read(volatile __far UINT16 *start_flash_adr)
geht der Programmcounter zwar noch auf eine Adresse die im RAM-Bereich liegt und an der die Funktion auch liegt,
der Controller führt aber die gewünschten Funktionen nicht aus.
Der Monitor Debugger von Accemic verliert hier ebenfalls die Fährte.
Ab diesem Zeitpunkt sind auch über den Monitor Debugger von Accemic keine lokalen Variablen mehr erkennbar.
Also kein Debuggen mehr möglich.

Wie geht´s weiter? :confused:
 
Ich hab zwar nur mit Intel und Motorola Prozessoren gearbeitet, aber soweit ich mich erinnere, war da noch was mit dem Supervisor Mode.

Solltest du den nicht gesetzt haben, kann es sein das der Controller das nicht macht.

Keine Ahnung ob dir das jetzt hilft... :suspekt:
 
Zurück