Краткая история. Я хочу узнать, как создать хороший сценарий компоновщика, чтобы я мог менять платформы/архитектуры/поставщиков, я снова не зацикливаюсь на ноль земли, не зная, что делать. Меня не интересует сложность задачи, так же как и понимание этого.Консультации по созданию и верификации сценариев компоновщика
Я начал своего рода project, как это было, чтобы создать базу или скелет для программирования и разработки на 32-битных Cortex-M3 чипов СТМ. С помощью jsiei97 Начиная с STM32F103RB (у меня также есть TI Stellaris LM3S828, но это еще одна проблема), без необходимости лицензированной среды IDE. Поскольку я студент, и большинство студентов не могут позволить себе такие вещи.
Я понимаю, что есть плагины ODev и Eclipse, а что нет, и читали разные блоги, вики, документы/man-страницы, а большинство проектов предоставляют вам скрипт-компоновщик, который мало знает, почему и где были определены.
Я скомпилировал инструментальную цепочку arm-none-eabi для STM32, но там, где я повесил трубку, находится в скрипте компоновщика. CodeSourcery также требует его. У меня есть базовая концепция создания и синтаксиса после прочтения страниц gnu man, но я просто не знаю, с чего начать, добавляя различные дополнительные разделы, помимо очевидных .text, .bss и .data ,
Я создал rudimentary version, но я получаю ошибки связи, требующие определения разделов, и вот где я застрял. Я знаю, как их определить, но знать, что то, что я делаю, даже близко к делу, является проблемой.
gnu linker скрипты в лучшем случае весьма болезненны. И от gcc 3.x до 4.x вещи, которые раньше работали, больше не работали, поэтому я предполагаю, что это будет продолжаться, независимо от того, насколько хорошо вы его получите, когда-нибудь они вырвут коврик из-под ваших ног. –
Это правда. Я могу только ожидать этого. Однако с 4.x до 5.x я мог бы получить прочную работу, и это будет вопрос следования журналу изменений. должно произойти какое-либо существенное изменение. – Crewe