Программирование ARM IAR: создание библиотеки Sun, January 22 2017  

Поделиться

нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

IAR: создание библиотеки Печать
Добавил(а) microsin   

Прекомпилированные библиотеки, которые созданы из модулей кода, полезно использовать в больших проектах для ускорения процесса компиляции. В библиотеки целесообразно поместить код, который не меняется в настоящий момент (когда идет работа над чем-то другим). В составе IAR есть обстоятельная документация "IAR Runtime Environment and Library User Guide" [1], однако оно довольно большое и сложное для изучения. Здесь представлено простое руководство - как в проекте использовать заранее скомпилированный код в виде библиотек (prebuild library), чтобы помногу раз не перекомпилировать одни и те же файлы и экономить время разработки.

[Как создать библиотеку в IAR]

1. Создайте проект, куда добавьте модули исходного кода, которые должны быть помещены в библиотеку (меню Project -> Create New Project... -> C -> main -> OK -> укажите имя файла проекта и выберите папку, куда он будет сохранен). Удалите из проекта модуль main.c, который был создан автоматически, и добавьте в проект все модули кода, которые должны быть помещены библиотеку. Настройки нового проекта для библиотеки будут во многом копировать настройки других Ваших проектов - нужно выбрать тип процессора, уровень оптимизации, прописать пути поиска заголовков и проч.

2. Откройте свойства проекта, перейдите в раздел General Options, выберите закладку Output. Переставьте радиокнопку Output file в положение Library.

3. Скомпилируйте проект. По умолчанию выходной файл библиотеки создастся в папке Debug\Exe, и файл получит имя проекта и расширение *.a. Это и есть прекомпилированный файл библиотеки. Теперь его нужно добавить в тот проект,

[Как добавить библиотеку в проект вместо модулей исходного кода]

1. Удалите из проекта все файлы модулей, которые были перенесены библиотеку. Проще всего, когда эти модули в проекте содержатся в отдельной папке. Тогда достаточно просто отключить от процесса компиляции в проекте папку с этими модулями, не удаляя их из проекта (впоследствии всегда можно их подключить обратно). Щелкните в дереве проекта правой кнопкой на папке, которую хотите отключить от компиляции, выберите Options... и поставьте галочку Exclude from build. Теперь эти модули компилироваться не будут. Код из этих модулей будет браться из библиотеки.

2. В проекте, куда хотите добавить библиотеку, зайдите в свойства проекта через меню Project -> Options, перейдите в раздел Linker -> закладка Library, и в поле Additional libraries добавьте полный путь до файла библиотеки. Не стесняйтесь использовать макросы IAR типа $PROJ_DIR$, чтобы удалить привязку к абсолютным путям. Например, путь до файла библиотеки может быть наподобие следующего:

$PROJ_DIR$\..\..\precompiled-IAR-libs\efsl-lib\Debug\Exe\efsllibprj.a

3. Перекомпилируйте проект с добавленной библиотекой. Он должен скомпилироваться без ошибок.

[Ссылки]

1. IAR Runtime Environment and Library User Guide site:supp.iar.com.

 

Добавить комментарий


Защитный код
Обновить

Top of Page