Ich habe ein Linkerscript das die Speicherbereiche kennt.
Nachdem ich die elf Datei erzeugt habe, will ich die beiden
Speicherbereiche getrennt programmieren.
Wie kann ich mir den Inhalt aus dem elf File geschickt wieder ziehen?
Am besten mit den Binutils.
Ich habe schon
objcopy -O binary --only-section=.text foobar.elf foobar.text
gefunden.
Die section ist mir nicht geheuer, fall sich später was verschiebt oder
das Linkerscript modifiziert wird.
Der linker schiebt auch weitere sections ein wie got (global offset
table).
Es soll sich an den Speicherbereich orientieren.
Ich suche eine option - only IRAM or -only DRAM
oder offset size
noch mein LD Script
MEMORY {
IRAM (RX) : ORIGIN = 0x00000000, LENGTH = 0x2000 /* 8k
*/
DRAM (RW) : ORIGIN = 0x10000000, LENGTH = 0x2000 /* 8k
*/
}
REGION_ALIAS("REGION_TEXT",IRAM);
REGION_ALIAS("REGION_RODATA",IRAM);
REGION_ALIAS("REGION_DATA",DRAM);
REGION_ALIAS("REGION_BSS",DRAM);
SECTIONS
{
.text :
{
. = 0x0;
*(.text)
} > REGION_TEXT
/* .rodata :
{
*(.rodata)
rodata_end = .;
} > REGION_RODATA */
.data :
{
. = 0x0;
*(.data)
. = .;
_gp = ALIGN(16) + 0x7ff0;
} > REGION_DATA
.bss :
{
__bss_start = .;
*(.bss)
. = ALIGN(32 / 8);
__bss_end = .;
_end = .;
} > REGION_BSS
}
Gast
#3680971
hi, ich weiß nicht ob das zu deinem objcopy passt, aber vielleicht geht dies bei dir: [-R sectionpattern|--remove-section=sectionpattern]
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.