реклама на сайте
подробности

 
 
> impure_data, Linaro vs CodeSourcery
IgorKossak
сообщение Jun 10 2012, 18:57
Сообщение #1


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Собрал тем и другим небольшой проект для Cortex-M3. Результат таков:
Код
CodeSourcery arm-2011.09-69-arm-none-eabi
section              size         addr
.isr_vector         0x10c    0x8000000
.text              0x37d4    0x800010c
.ARM.exidx            0x8    0x80038e0
.data                0xf8   0x20000000
.bss                0xb0c   0x200000f8
._usrstack          0x100   0x20000c04

Linaro gcc-arm-none-eabi-4_6-2012q1-20120316
section              size         addr
.isr_vector         0x10c    0x8000000
.text              0x380c    0x800010c
.ARM.exidx            0x8    0x8003918
.data               0x434   0x20000000
.bss                0xb0c   0x20000434
._usrstack          0x100   0x20000f40

Сразу обратил внимание на раздувание секции .data. Расследование показало, что это из-за массива impure_data. Почти килобайт отъело! Код не раздулся, а даже уменьшился, если учесть, что там лежат данные инициализации для всё того же impure_data.
На линаро вразумительного ответа не получил, обещали в версии 4.7 к концу года поправить. Гугление показало, что это недостаток newlib и ключами компиляции\сборки проекта делу не помочь. Похоже, что не все могут нормально библиотеку собрать, чтобы ею можно было пользоваться для контроллеров с маленькой оперативкой.
Должен сказать, что массив impure_data присутствует в обоих случаях (у меня всего одна однобайтовая обнуляемая в стартапе переменная, остальное - impure_data), но с CodeSourcery ещё можно как то жить. Результат же Linaro ни в какие ворота не лезет.
На Linaro польстился на будущее из-за наличия у них полных библиотек с аппаратной плавучкой.
Кто-нибудь сталкивался с проблемой этого пресловутого массива и как избежать его появления?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 09:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016