2014-09-23 7 views
1

Я новичок в разработке ARM. Теперь я действительно запутался в цепочке инструментов ARM. Вот некоторые проблемы, с которыми я столкнулся:Что такое отношения между gcc и arm-linux-gcc

  1. ли разработчики gcc и arm-linux-gcc то же самое? Или существует множество разных разработчиков arm-linux-gcc для разных версий? Если есть, то, что является источником всех компиляторов arm-linux-gcc? Есть ли официальный сайт для arm-linux-gcc?

  2. Где получить официальную документацию от arm-linux-gcc? Теперь я могу получить официальную документацию gcc от the official GNU website, но я скачал arm-linux-gcc с GNUTOOLCHAIN и не могу найти никаких документов. По моему опыту, варианты gcc и arm-linux-gcc не совсем такие же.

  3. И, наконец, каковы различия между различными заранее построенными версиями arm-linux-gcc? Я думаю, единственная разница между ними - это опции по умолчанию для компилятора, верно? Можно ли использовать предварительно построенный arm-linux-gcc для arm1176, чтобы скомпилировать программу для cortex-A8? Если да, то на какие варианты компиляции я должен обратить внимание?

  4. Есть ли авторитетная книга о таких вещах?

ответ

2

Ответы на вопросы ниже:

  1. Существуют различные опции компилятора для компиляции делать для руки от разных разработчиков. Я обычно использую Linaro и Code Sourcery. Вы можете искать эти ключевые слова в Google и легко находить свой сайт.

  2. arm-linux-gcc должен поддерживать все флаги и опции gcc, поэтому все общие вещи такие же, как и gcc. Таким образом, вы можете использовать документацию gcc на официальном веб-сайте GNU. Для чего-то конкретного вы можете использовать документацию конкретного компилятора.

  3. Готовые версии - это те, которые имеют параметры по умолчанию для конкретной платформы, но могут также содержать некоторые исправления или, возможно, взломы, чтобы запускать их на определенной платформе. Например, в случае RPi вы не можете использовать универсальную инструментальную цепочку linaro и должны использовать заранее подготовленную.

+0

Спасибо, мне это очень помогает – demonguy

0

При работе со встроенными устройствами, обычно требуется кросс-компилятор, который работает на быстро хост-машине (например, x86) и компилирует для медленной целевой машины (например, ARM).

arm-linux-gcc является кросс-компилятором для оружия. Это обычный gcc-компилятор, но скомпилированный для запуска на главной машине и для создания цели для машины ARM.

+0

Извините, но вы не ответили ни на один мой вопрос – demonguy