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

Keil 5, размер выходного файла.

Где настроить чтобы отбражался размер занимаемых ROM RAM после компиляции отдельного модуля а не только всего проекта?

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


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

1 час назад, skripach сказал:

Где настроить чтобы отбражался размер занимаемых ROM RAM после компиляции отдельного модуля а не только всего проекта?

Открыть map-файл после компиляции.

Если он не создается, тогда включить в опциях проекта в листинге.

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


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

On 11/10/2023 at 3:59 PM, HardEgor said:

Открыть map-файл после компиляции.

Это понятно, но не удобно. А просто как в IAR нельзя?

image.png.b90a84c751de57b98c8e5b308bafa5df.png

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


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

5 минут назад, skripach сказал:

Это понятно, но не удобно. А просто как в IAR нельзя?

У меня Keil 5.20 вот так выдает всегда:

image.png.987d5df073af16a04fab22106551bac8.png

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


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

Это у вас похоже весь проект скомпилился и слинковался, такое у меня работает, но это показывает размер всего проекта. Я же хочу компилить один модуль (файл) и видеть сколько и какой памяти этому модулю требуется.

Откройте любой *.с файл, нажмите Ctrl + F7.

У меня 5.38, токое выдаёт:

image.thumb.png.59fd914849ba4ba5c73ece35343ac964.png

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


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

3 часа назад, skripach сказал:

У меня 5.38, токое выдаёт:

 

у вас ARMCLANG, поэтому  всё другое. Наверное можно опции поискать и дописать в Misc Controls линкера.

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


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

5 hours ago, skripach said:

Я же хочу компилить один модуль (файл) и видеть сколько и какой памяти этому модулю требуется.

IAR это как показывает (если показывает)?

9 hours ago, skripach said:

Где настроить чтобы отбражался размер занимаемых ROM RAM после компиляции отдельного модуля а не только всего проекта?

В KEIL такого нет. Есть только для всего проекта.

Как вариант: сделайте пустой проект, запишите его размеры после компиляции и добавляйте туда свой модуль. После компиляции вычесть размер пустого проекта.

Впрочем, не не факт, что итоговый размер будет корректный - оптимизатор удалит из вашего модуля то, что не используется. Поэтому придется в пустом проекте по максимуму задействовать функции и объекты и вашего модуля.

Странная работа получится, очень странная ))

 

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


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

7 minutes ago, Forger said:

Странная работа получится, очень странная ))

И что самое обидное - бесполезная. Лучше это время потратить на выпиливание лобзиком.

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


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

В яре есть 3 кнопки:

- Compile - компилирует отдельный файл, аналогично вот этой кнопку в Кайле image.png.b07e50018c03a6ebbd79edec094f3691.png

- Make - Собирает, линкует весь проект, без перекомпиляции уже скомпилированного ранее, аналогично вот этой кнопку в Кайле image.png.c5ba67a129ed3bab225d3af81b770655.png

- Rebuild all - полностью пересобирает весь проект, аналогично вот этой кнопку в Кайле image.png.8cf044bf9876f1d1582dd234e30f2fc3.png

 

On 11/10/2023 at 11:54 PM, Forger said:

IAR это как показывает (если показывает)?

Вот так, после нажатия на Compile. Скомпилился только uart.c

image.thumb.png.9f98847e306d8c879018b16c3dbef4ff.png

 

On 11/10/2023 at 11:54 PM, Forger said:

Впрочем, не не факт, что итоговый размер будет корректный - оптимизатор удалит из вашего модуля то, что не используется. Поэтому придется в пустом проекте по максимуму задействовать функции и объекты и вашего модуля.

Тонкостей работы не знаю, возмоэно оно отслеживает зависимости и "в зачёт" идет только то что реально используется, проверяется синтаксис всего модуля. Но итоговый размер равен сумме по отдельным модулям.

Родные примеры собраны под Keil, я собрал проект в IAR (ну ближе он мне и родней :pioneer_smoke:), примеры работают на железке и под Keil и под Iar, но размер выходного кода значительно отличается, хотел понять где именно.

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


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

2 hours ago, skripach said:

хотел понять где именно.

Включите в опциях компилятора ОБЯЗАТЕЛЬНУЮ галку как на скрине, проект станет еще меньше чем был:

2.png.b64fe7d90c7d5eda957cbcfe7f4af283.png

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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