2010-01-22 24 views
12

Estoy interesado en cualquier comparación entre GCC y el compilador Greenhills C con respecto a la huella de memoria del código generado específicamente en plataformas ARM.GCC vs Greenhills en ARM

¿Existen referencias o comparaciones para estos compiladores? ¿Alguien ha tenido alguna experiencia aquí que les gustaría compartir?

+0

http://www.eembc.org/coremark/index.php es un sitio web de comparación de compiladores creado para desarrolladores integrados. También puede comparar su propio compilador con sus herramientas. –

Respuesta

4

No he visto ningún punto de referencia pero, según mi experiencia, los dos compiladores tienen un tamaño de código muy similar y el código generado.

Green Hills tiene mucha documentación y soporte si desea reducir la huella de su memoria, con GCC se siente muy solo una vez fuera de los caminos trillados. Green Hills también admite imágenes comprimidas ejecutables que es genial si tienes FLASH limitado pero mucha RAM.

También he utilizado bibliotecas personalizadas de tiempo de ejecución y C (esto puede ahorrarle más espacio) con ambos compiladores, pero tendrá que hacer algunas excavaciones para obtener información de GCC, pero Green Hills puede obtener algunas de ellas un asistente que genera el archivo de compilación.

+1

Estoy de acuerdo con lo que dices, pero quiero añadir que hacer un tiempo de ejecución personalizado con GCC tampoco es muy difícil. Creo que estás bastante bien con ambos. (Pero prefiero GCC por la licencia. Puede configurar máquinas virtuales de desarrollo o portátiles basadas en Linux, tantas como desee. Muy útil cuando necesita traer consultores, poco tiempo de inicio). –

8

Debe tener en cuenta que el EULA de Green Hills prohíbe explícitamente a los licenciatarios la publicación de puntos de referencia.

Lo que puede hacer es obtener una licencia de evaluación de Green Hills y realizar su propia evaluación comparativa. Eso sería más confiable y representativo en cualquier caso, ya que podría probarlo en un código de producción real. Y en cualquier caso, el punto de referencia para, por ejemplo, un ARM7 puede ser muy diferente al de un Cortex-M3 por ejemplo, por lo que los resultados publicados disponibles pueden no ser comparables, y pueden no ser representativos de su plataforma.

Tenga en cuenta también que he experimentado resultados ampliamente diferentes de diferentes distribuciones binarias de GCC incluso cuando aparentemente provienen de la misma versión de código base (específicamente con rendimiento de punto flotante de software. Por lo tanto, probablemente sea mejor confiar en sus propios resultados de evaluación sólo

Considere Keil e IAR al mismo tiempo, que también tienen versiones de evaluación. ¿Por qué está considerando estos dos? La gente generalmente va con Green Hills cuando tienen grandes presupuestos y se pueden beneficiar de la integración y depuración de RTOS capacidades disponibles de una sola fuente; cualquier beneficio que pueda obtener del uso del compilador solo es poco probable que justifique los costos de la licencia IMO.

+4

Escuche, oiga. Un poco turbio de ellos en mi humilde opinión. –

Cuestiones relacionadas