Поиск по сайту: |
|
По базе: |
|
Главная страница > Статьи > Средства разработки |
|
||||||||||||||||||
КомпоновкаКомпоновка - процесс связывания и преобразования объектных файлов. Иногда применяют термин линковка и программу называют, линковщиком или линкером. Связывание можно выполнить командой:
Параметр -T задаёт скрипт линкера. Это текстовый файл, на специальном языке управления процессом линковки. Параметр -o задаёт имя выходного файла, по умолчанию генерируется файл формата ELF исполнимый. Среди параметров задаётся список объектных файлов подлежащих связыванию. Скрипт линкера:
Важнейшая команда - SECTIONS . Именно эта команда определяет, как будут связаны секции и по каким адресам размещены. В командном файле линкера может располагаться только одна команда SECTIONS. Напомню, что секции объектного файла, называются входными секциями, а секции исполнимого файла - это выходные секции. Специальная переменная линкера "." ("точка") всегда содержит текущее значение адреса. Во второй строке скрипта, текущее значение адреса устанавливается в ноль. Хотя это не обязательно, так как по умолчанию начальное значение этой переменной ноль. Но допустимо присваивать переменной линкера произвольное значение. В 3-ей строке задано имя выходной секции .text , именно в эту выходную секцию будет загружаться информация. С учётом предыдущего оператора, начало секции .text , будет располагаться с нулевого адреса. В 4-ой строке указано, из какого источника, из объектного файла ex1.o переместить секцию .text. Так же линкер будет выполнять и другие операции, например настройку адресов. Так как название объектного файла указано в скрипте, то задавать это название в параметрах командной строки, при вызове линкера, не обязательно. Возможен и такой вариант:
Здесь название конкретного файла заменено шаблоном "*". Нужно понимать так, секции всех объектных файлов заданных в командной строке, перенести в выходную секцию. Результатом процесса связывания станет исполнимый файл формата ELF. Получить бинарный образ для записи во Flash, можно командой:
Шестнадцатеричный дамп бинарного файла ex1.bin:
В начале можно увидеть значение указателя стека, далее вектор сброса и значения остальных векторов прерывания. При анализе надо учесть обратный порядок следования байтов в бинарном файле (little endian). После заданной в программе строки текста, идут 2 нулевых байта, результат действия директивы .aling . Содержимое файла - двоичный код без служебной информации. Записать бинарный файл в микроконтроллер можно командой:
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|