Forum: PC-Programmierung elf Memorybereiche extrahieren


von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

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
}

von Stephan (Gast)


Lesenswert?

hi,
ich weiß nicht ob das zu deinem objcopy passt, aber vielleicht geht dies 
bei dir:

[-R sectionpattern|--remove-section=sectionpattern]

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