GCC ARM Embedded

Arm and GNU project contributors · Кросс-компиляционная цепочка Arm GNU для прошивок C/C++ без ОС: компилятор arm-none-eabi, двоичные утилиты, библиотеки и отладчик.

CaskЯзыки программирования и среды выполненияЧип Apple · Intel
Главная
Источник homebrew/cask
Установки за последние 30 дней878Приложение: место 204
Установки за последний год15,6 тыс.Всего за 365 дней
Последняя версия15.3.rel222 часа назад · 9 окт.
Размер загрузки281МБarm64 / x86_64 · pkg
Частота обновленийНерегулярно1 релиз за 30 дней

Описание

GCC ARM Embedded — название каталога для готовой к использованию кросс-компиляционной цепочки GNU от Arm для разработки прошивок без операционной системы под Arm с разрядностью 32. Выбранные инструменты arm-none-eabi работают на компьютере Mac и создают код для совместимых целевых устройств Arm; процессор хоста и архитектура целевого устройства для прошивки — разные параметры. Это компилятор и цепочка инструментов командной строки, а не графическая среда разработки, эмулятор платы или полноценное приложение для прошивки микроконтроллеров.

Возможности и целевая аудитория

  • Компиляция прошивок на C и C++ с помощью GCC и целевой платформы arm-none-eabi.
  • Сборка и компоновка кода с помощью GNU Binutils.
  • Просмотр символов, дизассемблирование объектных файлов и преобразование двоичных форматов.
  • Отладка с помощью GDB при наличии подходящей целевой системы и настройки сервера отладки.
  • Использование предоставляемых библиотек среды выполнения для систем без операционной системы, Newlib и документированных примеров.
  • Выбор параметров процессора, набора инструкций и ABI для операций с плавающей точкой в соответствии с платой.

Предназначена для разработчиков встроенных систем, систем сборки прошивок и преподавателей, работающих с поддерживаемыми целевыми системами Cortex-M, Cortex-R и другими системами AArch32 без операционной системы. В более широкую версию Arm GNU Toolchain входят и другие варианты целевых платформ; этот cask выбирает именно arm-none-eabi. Он не устанавливает варианты для AArch64 или Linux и не превращает Mac в хост для Arm Linux.

Установка и поддержка Mac

Установите с помощью brew install --cask gcc-arm-embedded или воспользуйтесь соответствующим официальным установщиком пакета macOS. Пакет 15.3.rel1 по умолчанию в каталоге — darwin-arm64: инструменты для нативного хоста Apple Silicon, предназначенные для систем AArch32 без операционной системы. В официальных примечаниях к выпуску указана необходимость macOS 11 или новее. Это не сборка только для Intel, и сам факт, что целевой код предназначен для Arm, не означает необходимости в Rosetta.

В текущем cask варианты для Mac с процессорами Intel остаются на версии 14.2.rel1 с инструментами darwin-x86_64; в примечаниях к этому выпуску указана необходимость macOS 12 или новее. Поддержка хостов Intel macOS объявлена устаревшей в выпуске 14.2 и отсутствует в таблице поддержки хостов 15.3. Не следует считать, что Intel получает новейший выпуск по умолчанию или что Rosetta позволит пакету для хоста arm64 работать на Mac с Intel. Требования для исторических выпусков необходимо проверять отдельно.

cask устанавливает файлы в /Applications/ArmGNUToolchain/<version>/arm-none-eabi и размещает ссылки на инструменты с префиксами в каталоге bin для Homebrew. При прямой установке может понадобиться добавить соответствующий каталог bin в PATH; использование явных путей к инструментам упрощает выбор сборки. Другие SDK и цепочки инструментов могут предоставлять программы arm-none-eabi с такими же именами. Проверяйте порядок PATH и фиксируйте нужный компилятор в проекте, а не полагайтесь на то, что первый найденный исполняемый файл имеет ожидаемую версию или ABI.

Зависимости и работа

Выбирайте флаги компилятора и скрипты компоновщика с учётом фактического MCU, карты памяти платы, ABI для операций с плавающей точкой и требований среды выполнения. SDK плат, стартовый код, средства сборки и редактор или IDE являются отдельными зависимостями проекта. Для сборки прошивки не требуется подключать плату, но для программирования или отладки оборудования обычно нужны совместимое оборудование, отладочный адаптер и отдельная настройка программного обеспечения или сервера отладки. Одного GDB недостаточно для предоставления всех драйверов отладочных адаптеров и утилит прошивки. В cask не указаны дополнительные зависимости formula или явные конфликтующие cask.

Начиная с 15.2, пакеты macOS включают обычный GDB и отдельный вариант GDB с суффиксом -py, поддерживающий сценарии на Python и собранный для Python 3.9.7. Следуйте требованиям к настройке Python для этого выпуска, только если используете отладчик с поддержкой сценариев; обычная компиляция не подразумевает обязательного наличия Python. В версии GDB для macOS из более раннего выпуска 14.2 поддержка сценариев на Python отсутствует. Зависимости, указанные для Linux или Windows, не становятся автоматически требованиями для Mac.

Для установки системного пакета может потребоваться разрешение администратора. В остальном цепочка инструментов использует доступ к файловой системе из командной строки для чтения исходных файлов и создания результатов сборки; согласно документации, обычная компиляция не требует разрешения на доступ к функциям универсального доступа или записи экрана. Arm предупреждает, что компиляция недоверенного исходного кода может привести к произвольному выполнению кода или чрезмерному расходу ресурсов, и рекомендует использовать изолированную среду. К исходным файлам и сценариям сборки следует относиться как к исполняемым входным данным проекта, а не как к заведомо безопасным документам.

Стоимость, лицензия и история продукта

Arm GNU Toolchain можно бесплатно скачивать и использовать; для локальной компиляции не нужна платная лицензия на компилятор или учётная запись онлайн-сервиса. За использование дополнительных IDE, облачных сервисов, плат и отладочных адаптеров могут взиматься отдельные платы; на них также могут распространяться отдельные лицензии. Компоненты распространяются по разным лицензиям: на GCC, Binutils и GDB распространяются условия GPL, к применимым файлам среды выполнения GCC относится исключение GCC Runtime Library Exception, а у Newlib и других библиотек свои уведомления. При распространении копий сверяйтесь с предоставленной коллекцией EULA и лицензий; не следует приписывать одну лицензию всем компонентам или созданным программам.

Arm объединила прежние линейки выпусков для A-profile и GNU Arm Embedded в Arm GNU Toolchain. Старая страница загрузки объявлена устаревшей, а новые выпуски официально размещаются на Arm GitLab; это не означает, что сам текущий cask отключён или объявлен устаревшим. Текущий cask не отключён и не объявлен устаревшим. Основанный на LLVM Arm Toolchain for Embedded — другой продукт, а не альтернативное обозначение версии этого пакета GNU.

Пакет 15.3.rel1 по умолчанию для Apple Silicon — 280,574,793 байт согласно официальным данным HTTP HEAD. Установленные файлы и сборки для других хостов имеют другие размеры. В примечаниях к выпуску перечислены известные ограничения, в том числе вложенные вызовы intrinsic MVE, клонирование и компоновка CMSE, а также отладка с отброшенными секциями; учитывайте их при использовании соответствующих возможностей.

Источники: Официальный проект, Примечания к выпуску 15.3, Примечания к выпуску 14.2, Официальное руководство по установке, Лицензии компонентов.

Новая версия Что нового в 15.3.rel2 Из истории коммитов Homebrew

Для этой версии нет отдельного описания обновлений.

Графический интерфейс Homebrew с открытым исходным кодом. Устанавливайте через клиент macOS или команду brew.

© 2026 OpenNavo