Одно большое различие между предварительно скомпилированным набором инструментов (например, предоставляемым Code Sourcery , MontaVista , Wind River и т. Д.) И одним, построенным из исходного кода это удобство. Создание цепочки инструментов с нуля, особенно для кросс-компиляции, утомительно и может быть сложной задачей. Кроме того, новейшие версии glibc (или uClibc ), gcc и binutils не всегда совместимы, поскольку они разработаны независимо. Существуют инструменты с открытым исходным кодом для упрощения этого процесса (например, crosstool-NG ), но наличие проверенного набора инструментов, оптимизированного для определенной платформы, может сэкономить много времени и головных болей. Это особенно верно в начале нового проекта. Также помогает техническая поддержка, когда дела идут плохо. Конечно ... вы должны платить за это большую часть времени.
Как уже говорилось, компиляция вашей собственной цепочки инструментов, скорее всего, сэкономит вам деньги и может обеспечить большую гибкость в будущем. Насколько мне известно, MontaVista не включает поддержку старых платформ в свои новейшие выпуски инструментов. Например, если вы купили MontaVista Pro 4.X и в него был включен набор инструментов с gcc 3.3.X, это набор инструментов, с которым вы, скорее всего, столкнетесь на всю жизнь своего проекта. Обновление до набора инструментов с помощью gcc 4.X, скорее всего, не подойдет.
Надеюсь, это поможет.