Мой компоновщик COSMIC-C генерирует файл карты для моего проекта микроконтроллера STM8S, который, несмотря на наличие нескольких знакомых разделов, немного невыразителен.
Вот вывод файла карты и несколько модулей:
--------
Segments
--------
start 00008080 end 00008084 length 4 segment .const
start 00008087 end 00008298 length 529 segment .text
start 00004000 end 00004000 length 0 segment .eeprom
start 00000000 end 00000000 length 0 segment .bsct
start 00000000 end 0000000a length 10 segment .ubsct
start 0000000a end 0000000a length 0 segment .bit
start 0000000a end 0000000a length 0 segment .share
start 00000100 end 00000100 length 0 segment .data
start 00000100 end 00000100 length 0 segment .bss
start 00000000 end 000003be length 958 segment .info.
start 00008000 end 00008080 length 128 segment .const
start 00008084 end 00008087 length 3 segment .init
-------
Modules
-------
D:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8\lib\crtsi0.sm8:
start 00008087 end 000080d7 length 80 section .text
start 00000100 end 00000100 length 0 section .bss
start 00000000 end 00000000 length 0 section .ubsct
start 00000000 end 00000034 length 52 section .info.
Release\clockcontrol.o:
start 000080d7 end 000080f7 length 32 section .text
start 00000034 end 000000c1 length 141 section .info.
Release\main.o:
start 000080f7 end 00008145 length 78 section .text
start 000000c1 end 00000146 length 133 section .info.
start 00008080 end 00008084 length 4 section .const
Я знаю о .text и .data .и я могу предположить, что bsct и ubsct являются data и bss (несмотря на наличие уже .data и .bss);также о .eeprom и .const , которые могут представлять их очевидные разделы памяти.но:
- Что такое .info, .bit, .share, .init?
- Правильно ли мое предположение о .bsct и .ubsct?если нет, что это за разделы и если да, почему у нас есть оба .bsct / .ubsct и .data / .bss?
- почему у нас два .const?(они являются последовательными)
- , несмотря на то, что они определены, ни один из пунктов, упомянутых в вопросе 1, не появляется ни в каких модулях, которые являются моими кодами.это просто стандарты?
- соответствуют ли эти разделы соглашению об именах или они просто не соответствуют COSMIC?Я имею в виду, являются ли они стандартными или нет.
со многими спасибо.
Обновление :
документация компоновщика COSMIC имеет много описаний накак сделать скрипт компоновщика, но не имеет предопределенной таблицы.кажется, что скрипт отредактирован STVD (IDE).несмотря на это, есть пример (не очень связанный с моим вопросом), который может помочь: