Универсальный makefile содержит секции настроек с параметрами:
При внесении изменений в первую секцию требуется перегенерация шаблона проекта (см. соответствующий раздел). При внесении изменений во вторую секцию требуется пересборка проекта путем подачи команды make clean и затем make all.
Настройки секции генерации шаблона:
Имя параметра | Значение |
---|---|
CFG_ENTRYPOINT_NAME | Имя точки входа (по умолчанию функция main) |
CFG_PROGRAM_ADDR * | Адрес Flash-памяти, по которому располагается приложение |
CFG_PROGRAM_SIZE * | Размер приложения во Flash-памяти |
CFG_RAM_ADDR * | Адрес начала RAM, резервированной для загружаемого кода |
CFG_RAM_SIZE * | Размер RAM, зарезервированной для загружаемого кода |
CFG_INPUT_BUFFER_NAME | Имя буфера ввода, через который данные передаются в загружаемый код |
CFG_INPUT_BUFFER_SIZE | Размер буфера ввода |
CFG_OUTPUT_BUFFER_NAME | Имя буфера вывода, данные из которого возвращаются вызывающему приложению |
CFG_OUTPUT_BUFFER_SIZE | Размер буфера вывода |
CFG_STACK_SIZE | Размер программного стека |
CFG_INCLUDE_DIR | Путь до директории, содержащей заголовочные файлы GcaAPI.h и GrdAPI.h |
CFG_SYS_DIR | Путь до директории, содержащей служебные утилиты |
CFG_TARGET_NAME | Имя двоичного bin-файла, получаемого при компиляции |
Поскольку в ключе под загружаемый код по умолчанию резервируется вся Flash-память и вся RAM, значения в этих пунктах изменять не нужно. |
В makefile доступны следующие настройки сборки проекта:
Имя параметра | Значение |
OPT | Уровень оптимизации. Рекомендуемые значения 2 или s (так же допустимые значения 0 и 1, значение 3 крайне не рекомендуется) |
SRC | Набор С-файлов, используемых в проекте |
ASRC | Набор ASM-файлов, используемых в проекте |
Важно заметить, что задаваемые имена файлов зависят от регистра. К примеру, при несовпадении регистра в имени файла main.c, при сборке может возникнуть следующая ошибка:
-------- begin --------
make: *** No rule to make target `main.o’, needed by `elf'. Stop.
Несовпадение имен как таковых проверяется отдельно и вызывает более внятную ошибку:
-------- begin --------
File main.c not found! Please check makefile (SRC, ASRC and CPPSRC values).