2010-01-22 72 views
12

我對GCC和Greenhills C編譯器之間的任何比較感興趣,關於ARM平臺上專門生成的代碼的內存佔用情況。GCC vs Greenhills on ARM

這些編譯器是否有任何基準或比較?有沒有人有過任何他們想分享的經驗?

+0

http://www.eembc.org/coremark/index.php是爲嵌入式開發人員創建的編譯器基準測試網站。你也可以使用他們的工具來測試你自己的編譯器。 – 2017-02-13 14:59:23

回答

4

我還沒有看到任何基準,但從我的經驗來看,兩個編譯器是非常類似的代碼大小和代碼生成。

如果您希望減少記憶足跡,Green Hills提供大量文檔和支持,使用GCC,一旦您離開了僻靜的軌道,就會非常快速地感到孤獨。 Green Hills也支持壓縮的可執行映像,如果FLASH有限但RAM很大,那麼這個映像是非常棒的。

我也使用過這兩種編譯器的自定義運行庫和C庫(這可以爲您節省更多空間),但您需要進行一些挖掘才能獲取GCC的信息,但是可以通過Green Hills獲得一些信息一個生成構建文件的嚮導。

+1

我同意你的意見,但想補充一點,使用GCC做自定義運行時並不完全困難。我認爲你們兩個都很好。 (但是我更喜歡GCC,因爲它有許可證,你可以根據你的需要設置基於Linux的開發虛擬機或者筆記本電腦,當你需要引入顧問的時候非常方便,啓動時間短) – 2014-10-01 07:54:00

8

您應該注意,Green Hills EULA明確禁止許可證持有者發佈基準。

你可以做的是從Green Hills獲得一個評估許可證並執行你自己的基準測試。在任何情況下,這都會更加值得信賴和具有代表性,因爲您可以在實際生產代碼上進行測試。在任何情況下,例如ARM7的基準可能與Cortex-M3的基準非常不同,因此任何可用的已發佈結果可能都不會與喜歡的對象進行比較,並且可能不代表您的平臺。要知道,即使表面上來自相同的代碼庫版本(特別是軟件浮點性能),我也經歷了來自不同的GCC二進制分發的廣泛不同的結果,因此您仍然可能最好的信任您自己的評估結果爲什麼你只考慮這兩個?人們通常會在Green Hills有預算的時候去使用它,並且可以從RTOS集成和調試器中受益可從單一來源獲得的功能;單獨使用編譯器可能會帶來的任何好處不太可能證明許可證費用IMO的合理性

+4

聽到,聽到。有點陰道他們恕我直言。 – 2014-10-01 07:55:16