AVR32 Speicherbereich im HSB RAM reservieren

Gast #3705343
Lesenswert?

Hallo Leute,

kann mir jemand kurz erklären, wie ich einen bestimmten Speicherbreich 
in C reservieren kann.
Ich will an der Speicherposition 0xA0000000 64 words speichern (also ein 
uint16_t Array mit 64 Feldern). Mit malloc kann ich mir ja nicht 
aussuchen wo der Speicher reserviert wird bzw. ich weiß nicht wie das 
gehen soll.
Gast #3705361
Lesenswert?

Viele Wege führen nach Rom.

Einer davon wäre eine Variable in einer section (die man vorher im 
richtigen Speicherbreich definiert) anzulegen.

 __attribute__((section(".RamSection"))) const const unsigned char 
variable[64];
Gast #3705630
Lesenswert?

Die einzige Frage die ich noch hab ist, dass ich nicht weiß wie ich die 
"Section" also den Speicherbereich richtig definiere.

Kann ich nicht einfach die Adresse in die Klammern von section() 
schreiben?
Gast #3712284
Lesenswert?

Ich hab mich jetzt nochmal bisschen damit beschäftigt. Dabei ist die 
folgende Zeile rausgekommen.

-Wl,-section-start=.__mob_ch0__=0xA0000000

Diese Zeile habe ich in die Standard "Linker Datei" für meinen µC 
AT23UC3C0512 eingefügt, die man sich bei WinAVR rauskopieren kann 
(C:\WinAVR-20100110\avr32\lib\ldscripts).

Konnte bisher noch nicht testen, ob das auch funktioniert hat. Falls 
jemand gleich mal ein Fehler auffällt, kann er/sie das gleich mal 
posten.

Grüße
B0bbyR4y

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