Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как задать порядок линковки файлов
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
IJAR
В проект на C# включены несколько .asm файлов
Как задать порядок их линковки чтобы оптимально
использовать rjmp и rcall вместо jmp и call
Файл сборки с директивами типа

#include "file1.asm"
#include "file2.asm"

использовать не хотелось бы
demiurg_spb
Правильный метод - это создать свою секцию во флеш-памяти и всё, что нужно сгруппировать поместить туда.
Но и этого по большому счёту делать не следует, т.к. компилятор настолько умён, что сам в состоянии перетряхнуть код чтобы минимизировать длинные вызовы и переходы.
Для того, чтобы ему помочь с этим следует писать на асме как можно меньше)))
IJAR
Цитата(demiurg_spb @ Feb 17 2016, 17:55) *
Правильный метод - это создать свою секцию во флеш-памяти и всё, что нужно сгруппировать поместить туда.

так и делаю: нужные .asm файлы кладу в один сегмент, но и внутри сегмента их надо
положить в определенном порядке. Как?
dxp
QUOTE (IJAR @ Feb 17 2016, 21:00) *
так и делаю: нужные .asm файлы кладу в один сегмент, но и внутри сегмента их надо
положить в определенном порядке. Как?

Кладите в разные секции, а потом секции размещайте в нужном порядке (в линкерном скрипте).
jcxz
Цитата(IJAR @ Feb 17 2016, 21:00) *
так и делаю: нужные .asm файлы кладу в один сегмент, но и внутри сегмента их надо
положить в определенном порядке. Как?

Вроде по-крайней мере в IAR для ARM среди команд линкера была какая-то опция, говорящая линкеру компоновать входные секции в заданный регион памяти в порядке их указания в списке секций. Не помню точно, надо мануал на линкер шерстить.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.