MKdemiurg 1 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба здравствуйте. Подскажите пожалуйста с такой проблемой. Нужен был даунгрейд тулчейна с 10.3 на 9.2 На 10 всё собирается и работает. При переходе на 9.2 - всё собирается, но размер с 20Кб вырастает до нескольких сотен МБ. В бинаре просто весь хвост забит нулями. При этом размер HEX и ELF файла ожидаемые и не сельно отличаются в версиях тулчейна. При вызове OBJCOPY вручную, а не из мейкфайла, генерирую такой же бинарь в сотни МБ. Откуда это лезет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба Экстрасенсы требуют загрузить в хрустальный шар map-файл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MKdemiurg 1 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба 10 minutes ago, VladislavS said: Экстрасенсы требуют загрузить в хрустальный шар map-файл. Вот я его тоже уже час смотрю , не могу найти откуда Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MKdemiurg 1 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба 1 hour ago, VladislavS said: Экстрасенсы требуют загрузить в хрустальный шар map-файл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба _user_heap_stack подозрительно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MKdemiurg 1 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба 15 minutes ago, VladislavS said: _user_heap_stack подозрительно. в том и дело, что оно все выверено на 10.3 Что такое отличает 9 и 10 версии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба Давайте и линкерскрипт смотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MKdemiurg 1 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба 25 minutes ago, VladislavS said: Давайте и линкерскрипт смотреть. GD32F303.ld Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 245 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба 54 минуты назад, MKdemiurg сказал: Вот я его тоже уже час смотрю , не могу найти откуда В .map есть адреса каких-то объектов около 0, а есть - около 0x8018000. Очевидно - если их слепить в один .bin, то его размер должен быть не менее 130МБ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MKdemiurg 1 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба 15 minutes ago, jcxz said: В .map есть адреса каких-то объектов около 0, а есть - около 0x8018000. Очевидно - если их слепить в один .bin, то его размер должен быть не менее 130МБ. Вы про это ? .debug_info 0x0000000000001367 0x470 . 19 minutes ago, jcxz said: В .map есть адреса каких-то объектов около 0, а есть - около 0x8018000. Очевидно - если их слепить в один .bin, то его размер должен быть не менее 130МБ. оно точно так же и на версии тулчейна 10.3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 245 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба Какой-то отстойный формат .map... Ни типов объектов (code/data/const/...), ни их атрибутов (rw/ro/...). Трудно понять - что из этой кучи к чему относится? Что должно быть в образе прошивки, а что - только аллоцирует ОЗУ? Может там есть какие-то ключики, чтобы получить более информативный .map? Хотя бы как у IAR? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба On 11/23/2023 at 4:22 PM, MKdemiurg said: Только я один не вижу map файл ? On 11/23/2023 at 6:30 PM, jcxz said: Какой-то отстойный формат .map... Ни типов объектов (code/data/const/...), ни их атрибутов (rw/ro/...). Трудно понять - что из этой кучи к чему относится? Что должно быть в образе прошивки, а что - только аллоцирует ОЗУ? Может там есть какие-то ключики, чтобы получить более информативный .map? Хотя бы как у IAR? Обычный для GCC. Где-то в середине файла должна быть карта памяти, скопированная из файла линковщика. В ней же и атрибуты памяти. Примерно так выглядит Quote Memory Configuration Name Origin Length Attributes RAM 0x20000000 0x00020000 xrw CCMRAM 0x10000000 0x00010000 rw FLASH 0x08000000 0x00020000 xr APP 0x08020000 0x00020000 xr *default* 0x00000000 0xffffffff Далее идут стандартные для GCC text, data, bss. Так же могут быть секции, объявленные пользователем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 245 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба 13 минут назад, dimka76 сказал: Где-то в середине файла должна быть карта памяти, скопированная из файла линковщика. В ней же и атрибуты памяти. Я говорил не про атрибуты регионов памяти и не про них. А про атрибуты выходных секций компилятора. Входных для компоновщика. Возможно какие-то из этих секций почему-то попадают не в свои регионы памяти. Отчего образ памяти начинает охватывать несколько регионов памяти, отчего и разбухает. Раскидывание этих секций по регионам памяти компоновщиком осуществляется обычно на основе их имён и их атрибутов. Коих здесь не видно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба On 11/23/2023 at 7:42 PM, jcxz said: Коих здесь не видно. Мне и map файла не видно ))) On 11/23/2023 at 7:42 PM, jcxz said: Я говорил не про атрибуты регионов памяти и не про них. А про атрибуты выходных секций компилятора. Атрибуты выходных секций соответствуют атрибутам регионов памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 23 ноября, 2023 Опубликовано 23 ноября, 2023 · Жалоба Я всё же _user_heap_stack подозреваю. Посмотрите в hex, там хорошо видно даже глазами кусочки из разных областей памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться