В проект на C# включены несколько .asm файлов Как задать порядок их линковки чтобы оптимально использовать rjmp и rcall вместо jmp и call Файл сборки с директивами типа
#include "file1.asm" #include "file2.asm"
использовать не хотелось бы
demiurg_spb
Feb 17 2016, 14:55
Правильный метод - это создать свою секцию во флеш-памяти и всё, что нужно сгруппировать поместить туда. Но и этого по большому счёту делать не следует, т.к. компилятор настолько умён, что сам в состоянии перетряхнуть код чтобы минимизировать длинные вызовы и переходы. Для того, чтобы ему помочь с этим следует писать на асме как можно меньше)))
IJAR
Feb 17 2016, 15:00
Цитата(demiurg_spb @ Feb 17 2016, 17:55)
Правильный метод - это создать свою секцию во флеш-памяти и всё, что нужно сгруппировать поместить туда.
так и делаю: нужные .asm файлы кладу в один сегмент, но и внутри сегмента их надо положить в определенном порядке. Как?
dxp
Feb 18 2016, 05:36
QUOTE (IJAR @ Feb 17 2016, 21:00)
так и делаю: нужные .asm файлы кладу в один сегмент, но и внутри сегмента их надо положить в определенном порядке. Как?
Кладите в разные секции, а потом секции размещайте в нужном порядке (в линкерном скрипте).
jcxz
Feb 19 2016, 01:38
Цитата(IJAR @ Feb 17 2016, 21:00)
так и делаю: нужные .asm файлы кладу в один сегмент, но и внутри сегмента их надо положить в определенном порядке. Как?
Вроде по-крайней мере в IAR для ARM среди команд линкера была какая-то опция, говорящая линкеру компоновать входные секции в заданный регион памяти в порядке их указания в списке секций. Не помню точно, надо мануал на линкер шерстить.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.