Перейти к содержанию
    

Код уменьшился почти на 2 кБ, если линкер настроить на xcl-файл, без диалогов

Контроллер ATmeg324P. При компиляции с включенной опцией "Configure sytem using dialogs (not in XCL file)" размер кода получается 19935кБ. Если скопировать lnkm324ps.xcl в рабочую директорию и настроить линкер от него, то код уже 18079 байт. Не могу понять почему. Размеры CSTACK, RSTACK такие же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В lnkm324ps.xcl есть следующее:

/* Select reduced "printf" support to reduce library size.

See configuration section in manual concerning printf/sprintf. */

 

/*Dlib*/

-e_PrintfSmall=_Printf

 

/*Clib*/

-e_small_write=_formatted_write

 

/*Dlib and Clib*/

-e_small_write_P=_formatted_write_P

 

/* Disable floating-point support in "scanf" to reduce library size.

See configuration section in manual concerning scanf/sscanf */

 

/*Dlib*/

-e_ScanfSmall=_Scanf

 

/*Clib*/

-e_medium_read=_formatted_read

 

/*Dlib and Clib*/

-e_medium_read_P=_formatted_read_P

Вполне возможно, что reduce library size есть виной в сокращении кода.

Вы не сказали какие Library options задавались в настройках проекта. Это и влияет на размер кода (при прочих равных условиях, таких как оптимизация), а вот размеры стеков - никак.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы не сказали какие Library options задавались в настройках проекта.

Виноват. В диалогах указап:

Printf formatter -> Small

Scanf formatter -> Medium

 

Library Configuration->CLIB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Виноват. В диалогах указап:

Printf formatter -> Small

Scanf formatter -> Medium

 

Library Configuration->CLIB

Настройки похожи на те, что в xcl файле.

Чтобы точно знать в чем дело нужно, как уже говорил VladislavS, указать линкеру генерацию map файла и сравнить оба варианта вплоть до байта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...