Объединить эльфийские разделы - PullRequest
0 голосов
/ 14 июля 2020

У меня есть файл эльфа с этими разделами:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .rtc.text         PROGBITS        400c0000 14e3c92 000000 00   W  0   0  1
  [ 2] .iram0.vectors    PROGBITS        40080000 000074 000400 00  AX  0   0  4
  [ 3] devices           PROGBITS        3ffb0000 13b2780 000090 00  WA  0   0  4
  [ 4] _k_mem_slab_area  PROGBITS        3ffb0090 13b2810 000038 00  WA  0   0  4
  [ 5] _k_sem_area       PROGBITS        3ffb00c8 13b2848 000048 00  WA  0   0  4
  [ 6] _k_mutex_area     PROGBITS        3ffb0110 13b2890 000014 00  WA  0   0  4
  [ 7] _net_buf_pool_are PROGBITS        3ffb0124 13b28a4 000050 00  WA  0   0  4
  [ 8] net_if            PROGBITS        3ffb0180 13b2900 0000a0 00  WA  0   0 32
  [ 9] net_if_dev        PROGBITS        3ffb0220 13b29a0 000020 00  WA  0   0  4
  [10] initlevel         PROGBITS        40080400 000474 000080 00   A  0   0  4
  [11] sw_isr_table      PROGBITS        40080480 0004f4 000100 00  WA  0   0  4
  [12] shell_sections    PROGBITS        40080580 0005f4 00002c 00   A  0   0  4
  [13] shell_root_cmds_s PROGBITS        400805ac 000620 000040 00   A  0   0  4
  [14] text              PROGBITS        400805ec 000660 000115 00  AX  0   0  4
  [15] .dram0.data       PROGBITS        3ffb0240 13b29c0 000128 00  WA  0   0  4
  [16] rodata            PROGBITS        3ffb0368 13b2ae8 0034d0 00   A  0   0  4
  [17] bss               NOBITS          3ffb3838 13b5fb8 001900 00  WA  0   0  8
  [18] app_noinit        PROGBITS        3ffb5138 14e3c92 000000 00   W  0   0  1
  [19] noinit            NOBITS          3ffb5140 13b5fb8 005e10 00  WA  0   0 16
  [20] .intList          PROGBITS        3ebfe010 000790 000048 00  WA  0   0  4
  [21] .flash.text       PROGBITS        400d0018 14d2798 0114fa 00  AX  0   0  4

Я использую инструмент, который принимает этот эльф в качестве входных данных, но может работать только с максимум 16 разделами. Как видите, некоторые из этих разделов являются смежными.

Есть ли способ объединить эти разделы либо во время связывания, либо непосредственно перед использованием другого инструмента?

1 Ответ

0 голосов
/ 14 июля 2020

Я использую инструмент, который принимает этого эльфа в качестве входных данных, но может работать только с максимум 16 секциями. https://github.com/espressif/esptool

Поскольку инструмент имеет открытый исходный код, было бы намного проще исправить его, а затем попытаться обойти это ограничение.

Объединение секций с одинаковыми флагами и последовательностью не сложно, но может сломать код, если есть перемещения, ссылающиеся на начало / конец раздела.

Если есть таких перемещений нет, вы должны посмотреть , почему у вас вообще все эти разделы.

...