Aufruf der Code in RAM

Gast #3730838
Lesenswert?

Hallo,

ich habe eine Funktion, die Flash löschen und schreiben kann. Das 
Problem ist, dass das Flashblock, wo die Funktion gespeichert ist, nicht 
gelöscht oder geschrieben werden kann. Dann habe ich eine Idee. Nach 
Startup kopiere ich die Funktion in RAM. Aber meine Frage ist, wie die 
Funktion aufgeruft werden kann. Da die Funktion eigentlich nach Download 
auch in Flash gespeicert ist, wird die Funktion aber nicht von Flash 
aufgeruft sondern von RAM.

Gruß,
Chris
Gast #3730862
Lesenswert?

Aber wie? Ich habe so implementiert:

void MyFunk()
{
  Flash erease;
  Flash write;
}
in Flash gespeichert.

unsigned char MyFunk_RAM [512];

Die Code soll in Array MyFunk_RAM kopiert werden. Kann ich so einfach 
aufrufen: MyFunk_RAM( );

Gruss.
Gast #3730914
Lesenswert?

Chris schrieb:
> Ich habe so implementiert:
Nein, hast du nicht!

> unsigned char MyFunk_RAM [512];
> Kann ich so einfach aufrufen: MyFunk_RAM( );
Ein C-Buch wäre der erste Schritt, denn du weisst nicht, was du tust...

Chris schrieb:
> void MyFunk()
> {
>   Flash erease;
>   Flash write;
> }
Was soll das sein?
Gehe direkt ins C-Gefängnis, gehe nicht über Los und ziehe keine 4000DM 
ein. Nach durcharbeiten eines C-Buches kommst du aus dem Gefängnis frei.

Außerdem Fehlen da eventuell noch ein paar Infos wie z.B.:
Welcher Controller?
Welcher Compiler/Tool-Chain/Build-Umgebung?

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