GCC против Greenhills на ARM
Мне интересны любые сравнения между GCC и компилятором Greenhills C в отношении объема памяти сгенерированного кода на платформах ARM.
Есть ли какие-то тесты или сравнения для этих компиляторов? Кто-нибудь имел какой-либо опыт здесь, что они хотели бы поделиться?
Ответы
Ответ 1
Я не видел никаких тестов, но по моему опыту два компилятора имеют очень похожий размер кода и генерируемый код.
У Green Hills есть много документации и поддержки, если вы хотите уменьшить печать на футбольном носителе, а GCC становится очень одиноким очень быстро после того, как вы отключились. Green Hills также поддерживают сжатые исполняемые изображения, что отлично, если вы ограничены FLASH, но много RAM.
Я также использовал пользовательские библиотеки времени выполнения и библиотеки C (это может сэкономить вам еще больше места) с обоими компиляторами, но вам нужно будет кое-что сделать, чтобы получить информацию о GCC, но зеленые холмы вы можете получить часть материала через мастера, который генерирует файл сборки.
Ответ 2
Следует отметить, что лицензионное соглашение Green Hills явно запрещает лицензиатам публиковать тесты.
Что вы можете сделать, так это получить лицензию на оценку от Green Hills и выполнить собственный бенчмаркинг. Это было бы более достоверным и представительным в любом случае, так как вы могли бы проверить его на реальном производственном коде. И, в любом случае, эталонный показатель, например ARM7, может сильно отличаться от теста Cortex-M3, поэтому любые доступные опубликованные результаты могут не сравниваться как-будто, и не могут быть репрезентативными для вашей платформы.
Остерегайтесь также того, что я столкнулся с различными изменениями в разных бинарных дистрибутивах GCC, даже когда они, предположительно, из той же версии кода (в частности, с производительностью программного обеспечения с плавающей запятой). Таким образом, вы, вероятно, лучше всего доверяете только своим собственным результатам оценки.
Вы можете одновременно рассмотреть Keil и IAR, которые также имеют оценочные версии. Почему вы рассматриваете только эти два? Люди обычно идут с Green Hills, когда у них большие бюджеты, и они могут использовать возможности интеграции и отладки RTOS, доступные из одного источника; любая выгода от использования только компилятора вряд ли оправдает стоимость лицензии ИМО.