Збирання toolchain-a


Toolchain - це набір програм, необхідних для створення інших програм. Ми зазвичай говоримо, що для написання програми потрібен компілятор. Це правильно, але компілятор сам по собі може складатися з декількох виконуваних файлів, наприклад: препроцесор, власне компілятор, линкер, удаляльщік налагоджувальної інформації і т.д ..
Ось це все і є toolchain.

Зазвичай ми пишемо програму на тій же машині, на якій вона буде працювати. Але це не стосується розробки ПО для вбудованих систем. Тут завжди використовується так званий крос-компілятор. Тобто працює він на одній платформі, а вироблений ним код буде працювати на інший.

У Linux є свій рідний toolchain під назвою GCC. Він всім хороший, але ви не зможете за допомогою GCC для PC писати програми для АРМ-ів. Тому треба роздобути крос-компілятор. Можна його завантажити, а можна зібрати з початкових кодів. Це не так складно, як може здатися на перший погляд.

У будь-якому випадку - збирати його з вихідних - дуже правильно, тому що фактично ви можете зібрати toolchain для ARM-9 під будь-який комп, на якому є GCC. Крім того, це дуже корисний досвід, тому що для деяких платформ готовий toolchain скачати може виявитися дуже складно.

Щоб полегшити процес складання групи ентузіастів зібрали спеціальні набори скриптів і make-файлів, які вміють самозбирається. Тобто скачавши такий набір, розміром близько сотень кілобайт і запустивши його на самосборку ви отримуєте на виході гігабайти 2-3 початкових кодів разом з готовим компілятором. Природно, він не породжує нову інформацію, просто цей набір викачує необхідні вихідні з інтернету. І після цього компілює їх. Тут буде розглянуто дистрибутив Pengutronix.

Попереджаю одразу, що якщо ви не хочете, то можете завантажити готовий toolchain. Але якщо ви будете і далі намагатися повторити те, що тут буде написано, то необхідні дії можуть злегка відрізнятися від тут описаних. Крім того, по ходу компіляції ми зіткнемося з декількома повідомленнями про помилки, які устранятся шляхом доустановки в ваш PC-шний Linux відповідних пакетів. Відповідно при подальшій компіляції ми з цими помилками вже не зіткнемося, а ви можете, якщо скачаєте готовий тулчейн. Так що вирішуйте самі. Готовий toolchain знаходиться тут - встановлювати його рекомендується в директорію / opt

Отже, власне опис процесу складання:

Я створив директорії

/Proj/OSELAS-toolchain1.1.1 на своїй машині і переніс туди тільки що скачав архів, зайшов туди, розархівуйте такою командою:

звертаю увагу, що проекти (projects) під версію 1.0.0.


разархивируем там же проекти і патч