1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/alios-things-gcc-arm-none-eabi-win32

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme.txt
GNU Tools for ARM Embedded Processors
Version: 5

Содержание
* Установка исполняемых файлов на Linux
* Установка исполняемых файлов на Mac OS X
* Установка исполняемых файлов на Windows
* Вызов GCC
* Использование опций архитектуры
* Использование C библиотек
* Скрипты линковщика и стартовый код
* Примеры
* Сервер GDB для аппаратных дебаггеров CMSIS-DAP

* Установка исполняемых файлов на Linux *
Распакуйте tar-архив в каталог установки, например:
$ cd $install_dir && tar xjf gcc-arm-none-eabi-*-yyyymmdd-linux.tar.bz2

Для 64-битных систем требуется 32-битная libc и libncurses для запуска инструментов.
Кроме того, если вы хотите использовать сборку gdb python (arm-none-eabi-gdb-py), вам потребуется установить 32-битную версию python2.7. См. https://answers.launchpad.net/gcc-arm-embedded/+faq/2601

Для некоторых версий Ubuntu инструментарий также можно установить через Launchpad PPA по адресу https://launchpad.net/~team-gcc-arm-embedded/+archive/ubuntu/ppa.

* Установка исполняемых файлов на Mac OS X *
Распакуйте tar-архив в каталог установки, например:
$ cd $install_dir && tar xjf gcc-arm-none-eabi-*-yyyymmdd-mac.tar.bz2

* Установка исполняемых файлов на Windows *
Запустите установщик (gcc-arm-none-eabi-*-yyyymmdd-win32.exe) и следуйте инструкциям.

Инструментарий в zip-пакете для Windows является резервной копией для установщика для тех, кто не может запустить установщик. Необходимо распаковать zip-пакет в правильное место и затем запустить его, следуя инструкциям в следующем разделе.Для использования сборки gdb python (arm-none-eabi-gdb-py) вам потребуется установить 32-битную версию Python 2.7, независимо от того, используется ли 32-битная или 64-битная версия Windows. См. https://www.python.org/download/.

* Вызов GCC *
На Linux и Mac OS X либо вызовите с полным путем, например:
$ $install_dir/gcc-arm-none-eabi-*/bin/arm-none-eabi-gcc

Либо установите переменную PATH, например:
$ export PATH=$PATH:$install_dir/gcc-arm-none-eabi-*/bin
$ arm-none-eabi-gcc

На Windows (хотя вышеупомянутые подходы также работают), можно удобнее установить переменные окружения с помощью установщика, или запустить INSTALL_DIR\bin\gccvar.bat для установки переменных окружения для текущего cmd.

Для zip-пакета для Windows, после распаковки можно вызвать инструментарий либо с полным путем, например:
TOOLCHAIN_UNZIP_DIR\bin\arm-none-eabi-gcc
или запустить TOOLCHAIN_UNZIP_DIR\bin\gccvar.bat для установки переменных окружения для текущего cmd.

* Варианты использования архитектур *Этот инструментарий создан и оптимизирован для разработки на базе Cortex-A/R/M без операционной системы. Таблица ниже показывает, как вызывать GCC/G++ с правильными параметрами командной строки для вариантов архитектур Cortex-A/R и Cortex-M.

| Ядро ARM | Параметры командной строки                  | multilib     |
| / Архитектура ARM |                                        |              |
|------------|--------------------------------------------|--------------|
| Cortex-M0+ | -mthumb -mcpu=cortex-m0plus                | armv6-m      |
| Cortex-M0  | -mthumb -mcpu=cortex-m0                    |              |
| Cortex-M1  | -mthumb -mcpu=cortex-m1                    |              |
|            |--------------------------------------------|              |
|            | -mthumb -march=armv6-m                     |              |
|------------|--------------------------------------------|--------------|
| Cortex-M3  | -mthumb -mcpu=cortex-m3                    | armv7-m      |
|            |--------------------------------------------|              |
|            | -mthumb -march=armv7-m                     |              |
|------------|--------------------------------------------|--------------|
| Cortex-M4  | -mthumb -mcpu=cortex-m4                    | armv7e-m     |
| (Без FP)   |--------------------------------------------|              |
|            | -mthumb -march=armv7e-m                    |              |
|------------|--------------------------------------------|--------------|
| Cortex-M4  | -mthumb -mcpu=cortex-m4 -mfloat-abi=softfp | armv7e-m     |
| (Soft FP)  | -mfpu=fpv4-sp-d16                          | /softfp      |
|            |--------------------------------------------|              |
|            | -mthumb -march=armv7e-m -mfloat-abi=softfp |              |
|            | -mfpu=fpv4-sp-d16                          |              |
|------------|--------------------------------------------|--------------|
| Cortex-M4  | -mthumb -mcpu=cortex-m4 -mfloat-abi=hard   | armv7e-m     |
| (Hard FP)  | -mfpu=fpv4-sp-d16                          | /fpu         | |            |--------------------------------------------|              |
  |            | -mthumb -march=armv7e-m -mfloat-abi=hard   |              |
  |            | -mfpu=fpv4-sp-d16                          |              |
  |------------|--------------------------------------------|--------------|
  | Cortex-M7  | -mthumb -mcpu=cortex-m7                    | armv7e-m     |
  | (Без FP)   |--------------------------------------------|              |
  |------------|--------------------------------------------|--------------|
  | Cortex-M7  | -mthumb -mcpu=cortex-m7 -mfloat-abi=softfp | armv7e-m     |
  | (Soft FP)  | -mfpu=fpv5-sp-d16                          | /softfp      |
  |            |--------------------------------------------| /fpv5-sp-d16 |
  |            | -mthumb -march=armv7e-m -mfloat-abi=softfp |              |
  |            | -mfpu=fpv5-sp-d16                          |              |
  |            |--------------------------------------------|--------------|
  |            | -mthumb -mcpu=cortex-m7 -mfloat-abi=softfp | armv7e-m     |
  |            | -mfpu=fpv5-d16                             | /softfp      |
  |            |--------------------------------------------| /fpv5-d16    |
  |            | -mthumb -march=armv7e-m -mfloat-abi=softfp |              |
  |            | -mfpu=fpv5-d16                             |              |
  |------------|--------------------------------------------|--------------|
  | Cortex-M7  | -mthumb -mcpu=cortex-m7 -mfloat-abi=hard   | armv7e-m     |
  | (Hard FP)  | -mfpu=fpv5-sp-d16                          | /fpu         |
  |            |--------------------------------------------| /fpv5-sp-d16 |
  |            | -mthumb -march=armv7e-m -mfloat-abi=hard   |              |
  |            | -mfpu=fpv5-sp-d16                          |              |
  |------------|--------------------------------------------|--------------|
  |            | -mthumb -mcpu=cortex-m7 -mfloat-abi=hard   | armv7e-m     |
  |            | -mfpu=fpv5-d16                             | /fpu         |
  |            |--------------------------------------------| /fpv5-d16    |
  |            | -mthumb -march=armv7e-m -mfloat-abi=hard   |              |
  |            | -mfpu=fpv5-d16                             |              |
  |------------|--------------------------------------------|--------------| | ARMv8-M    | -mthumb -march=armv8-m.base                  | armv8-m.base |
  | Базовый   |                                            |              |
  |------------|--------------------------------------------|--------------|
  | ARMv8-M    | -mthumb -march=armv8-m.main                  | armv8-m.main |
  | Основной  |                                            |              |
  | (Без FP)   |                                            |              ||
  |------------|--------------------------------------------|--------------|
 | ARMv8-M    | -mthumb -march=armv8-m.main                  | armv8-m.main |
 | Основной   | -mfloat-abi=softfp -mfpu=fpv5-sp-d16         | /softfp      |
 | (Soft FP)  |                                            | /fpv5-sp-d16 |
 |            |--------------------------------------------|--------------|
 |            | -mthumb -march=armv8-m.main                  | armv8-m.main |
 |            | -mfloat-abi=softfp -mfpu=fpv5-d16            | /softfp      |
 |            |                                            | /fpv5-d16    |
 |------------|--------------------------------------------|--------------|
 | ARMv8-M    | -mthumb -march=armv8-m.main                  | armv8-m.main |
 | Основной   | -mfloat-abi=hard -mfpu=fpv5-sp-d16           | /fpu         |
 | (Hard FP)  |                                            | /fpv5-sp-d16 |
 |            |--------------------------------------------|--------------|
 |            | -mthumb -march=armv8-m.main                  | armv8-m.main |
 |            | -mfloat-abi=hard -mfpu=fpv5-d16              | /fpu         |
 |            |                                            | /fpv5-d16    |
 |------------|--------------------------------------------|--------------|
 | Cortex-R4  | [-mthumb] -march=armv7-r                      | armv7-ar     |
 | Cortex-R5  |                                            | /thumb       |
 | Cortex-R7  |                                            |              |
 | Cortex-R8  |                                            |              |
 | (Без FP)   |                                            |              |
 |------------|--------------------------------------------|--------------|
 | Cortex-R4  | [-mthumb] -march=armv7-r -mfloat-abi=softfp  | armv7-ar     |
 | Cortex-R5  | -mfpu=vfpv3-d16                                | /thumb       |
 | Cortex-R7  |                                            | /softfp      || Cortex-R8  |                                            |              |
 | (Soft FP)  |                                            |              |
 |------------|--------------------------------------------|--------------|
 | Cortex-R4  | [-mthumb] -march=armv7-r -mfloat-abi=hard   | armv7-ar    |
 | Cortex-R5  | -mfpu=vfpv3-d16                              | /thumb       |
 | Cortex-R7  |                                            | /fpu         |
 | Cortex-R8  |                                            |              |
 | (Hard FP)  |                                            |              |
 |------------|--------------------------------------------|--------------|
 | Cortex-A*  | [-mthumb] -march=armv7-a                    | armv7-ar     |
 | (Без FP)   |                                            | /thumb       |
 |------------|--------------------------------------------|--------------|
 | Cortex-A*  | [-mthumb] -march=armv7-a -mfloat-abi=softfp | armv7-ar     |
 | (Soft FP)  | -mfpu=vfpv3-d16                             | /thumb       |
 |            |                                            | /softfp      |
 |------------|--------------------------------------------|--------------|
 | Cortex-A*  | [-mthumb] -march=armv7-a -mfloat-abi=hard   | armv7-ar     |
 | (Hard FP)  | -mfpu=vfpv3-d16                             | /thumb       |
 |            |                                            | /fpu         |
 |------------|--------------------------------------------|--------------|
 * Использование библиотек C *Этот инструментарий выпускается с двумя предварительно скомпилированными библиотеками C на основе newlib: одна — стандартная newlib, а другая — newlib-nano для сжатия кода. Чтобы отличить их, мы переименовываем оптимизированные по размеру библиотеки следующим образом:

  libc.a --> libc_nano.a
  libg.a --> libg_nano.a

Чтобы использовать newlib-nano, пользователи должны предоставить дополнительный параметр компиляции и сборки gcc:

 --specs=nano.specs

Во время компиляции, если передан параметр --specs=nano.specs, будет использоваться заголовочный файл 'newlib.h', специально настроенный для newlib-nano.

Nano.specs также управляет двумя дополнительными библиотеками gcc: libstdc++_nano.a и libsupc++_nano.a, которые оптимизированы по размеру кода.

Пример:
$ arm-none-eabi-gcc src.c --specs=nano.specs $(OTHER_OPTIONS)

Этот параметр также может работать вместе с другими параметрами specs, такими как --specs=rdimon.specs.

Обратите внимание, что в отличие от предыдущих версий этого инструментария, --specs=nano.specs теперь является как параметром компилятора, так и параметром линковщика. Убедитесь, что он включен в оба параметра, если компиляция и линковка разделены.

** Дополнительное использование библиотек newlib-nano

Newlib-nano отличается от newlib, помимо названия библиотек. Форматированный ввод/вывод чисел с плавающей запятой реализован как слабый символ. Если вы хотите использовать %f, вам нужно будет включить этот символ, явно указав параметр команды "-u".  -u _scanf_float
  -u _printf_float

Например, чтобы вывести число с плавающей запятой, команда будет выглядеть так:
$ arm-none-eabi-gcc --specs=nano.specs -u _printf_float $(OTHER_LINK_OPTIONS)

Для получения дополнительной информации о различиях и использовании, обратитесь к README.nano в исходном пакете.

Пользователи могут выбрать, использовать или не использовать полусообщение, следуя инструкциям.
** Полусообщение
Если вам нужно полусообщение, связывание будет выглядеть так:
$ arm-none-eabi-gcc --specs=rdimon.specs $(OTHER_LINK_OPTIONS)

** Без полусообщения/перенаправление
Если вы используете перенаправление, связывание будет выглядеть так:
$ arm-none-eabi-gcc --specs=nosys.specs $(OTHER_LINK_OPTIONS)

* Скрипты линковщика и стартовый код *

Последнее обновление шаблонов скриптов линковщика и стартового кода доступно по адресу
http://www.arm.com/cmsis

* Примеры *
Примеры всех вышеупомянутых методов доступны по адресу:
$install_dir/gcc-arm-none-eabi-*/share/gcc-arm-none-eabi/samples

Чтобы получить дополнительную информацию, прочитайте readme.txt в этой папке.

* Сервер GDB для аппаратного дебаггера CMSIS-DAP *
CMSIS-DAP — это интерфейсное программное обеспечение для дебаггера, которое соединяет дебаг-порт с USB. Более подробная информация доступна по адресу
http://www.keil.com/support/man/docs/dapdebug/

Необходимо наличие программного сервера GDB для взаимодействия GDB с аппаратным отладчиком, основанным на CMSIS-DAP. PyOCD является реализацией такого сервера GDB, написанного на Python и распространяемого под лицензией Apache.Для тех, кто использует эту инструментальную цепочку и имеет платформу с аппаратным отладчиком, основанным на CMSIS-DAP, pyOCD рекомендуется как сервер GDB. Дополнительная информация доступна по адресу https://github.com/mbedmicro/pyOCD.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

gcc-arm-none-eabi-win32 Развернуть Свернуть
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/alios-things-gcc-arm-none-eabi-win32.git
git@api.gitlife.ru:oschina-mirror/alios-things-gcc-arm-none-eabi-win32.git
oschina-mirror
alios-things-gcc-arm-none-eabi-win32
alios-things-gcc-arm-none-eabi-win32
master