GCC против Greenhills на ARM - PullRequest
       50

GCC против Greenhills на ARM

12 голосов
/ 22 января 2010

Меня интересуют любые сравнения между GCC и Greenhills C компилятором в отношении объема памяти генерируемого кода, особенно на платформах ARM.

Есть ли какие-либо критерии или сравнения для этих компиляторов? У кого-нибудь был здесь опыт, которым они хотели бы поделиться?

Ответы [ 2 ]

9 голосов
/ 26 января 2010

Следует отметить, что лицензионное соглашение Green Hills явно запрещает лицензиатам публиковать эталонные тесты.

Что вы можете сделать, это получить пробную лицензию в Green Hills и выполнить свой собственный сравнительный анализ. В любом случае это будет более надежным и представительным, поскольку вы можете протестировать его на реальном производственном коде. И в любом случае эталон для, скажем, ARM7 может сильно отличаться от эталона, например, для Cortex-M3, поэтому любые доступные опубликованные результаты могут не сравниваться между собой и могут не отражать вашу платформу.

Остерегайтесь также того, что я испытал очень разные результаты от различных двоичных распределений GCC, даже когда якобы от одной и той же версии кода (особенно с программной производительностью с плавающей запятой. Поэтому вам, вероятно, лучше всего доверять только своим собственным результатам оценки .

Вы можете рассмотреть Keil и IAR одновременно, которые также имеют ознакомительные версии. Почему вы рассматриваете только эти два? Люди обычно используют Green Hills, когда у них большой бюджет и они могут воспользоваться возможностями интеграции RTOS и отладчика, доступными из одного источника; любая выгода, которую вы можете получить от использования только одного компилятора, вряд ли оправдывает стоимость лицензии IMO.

4 голосов
/ 22 января 2010

Я не видел никаких тестов, но по моему опыту два компилятора очень похожи по размеру и сгенерированному коду.

У Green Hills есть много документации и поддержки, если вы хотите уменьшить отпечаток памяти, с GCC очень быстро становится одиноко, когда вы сбиваетесь с дороги. Green Hills также поддерживает сжатые исполняемые образы, что прекрасно, если у вас ограниченная FLASH, но достаточно оперативной памяти.

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

...