Arm none eabi gcc windows

Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем

Часовой пояс: UTC+03:00

Сборка c аrm-none-eabi-gcc и прошивка через COM порт

Начать новую тему Ответить на тему Страница 1 из 1 [ 5 сообщений ]
Версия для печати Пред. тема | След. тема
Автор Сообщение
Sergey3141592
Не в сети

Зарегистрирован: 2018-дек-17 15:20
Сообщения: 148
Организация: частное лицо

Инструкция для сборки прошивки с помощью arm-none-eabi-gcc и программирования через UART
контроллеров Миландр серий 1986х 1901х (для Windows).

I Требования
Аппаратное обеспечение:
1. Компьютер с установленной Windows (7, 10 . ) и COM портом
(или USB-Serial адаптер в случае отсутствия COM порта)
2. Нуль модемный кабель
3. Отладочная плата Миландр 1986ВЕ91Т (либо 1986ВЕ1Т, 1901ВЦ1Т)

Программное обеспечение:
1. mingw32-make (напимер из состава Qt)
2. Компилятор gcc для ARM контроллеров (arm-none-eabi-gcc)
3. Утилита прошивки контроллеров через UART (MSA-mcufmloader-1.0.rar)
4. Библиотека для контроллеров Миландр и пример использования
библиотеки (test-evbrd-src.rar)

II Установка программного обеспечения
1. Установка mingw32-make
1.1 Скачать и установить дистрибутив Qt.
mingw32-make.exe находится в папке » \Qt \Tools\mingw491_32\bin»
1.2 Добавить путь к mingw32-make.exe в системную переменную Path.

2. Установка компилятора arm-none-eabi-gcc
2.1 Скачать и распаковать архив с компилятором в любую директорию.
Скачать можно здесь:
https://launchpad.net/gcc-arm-embedded/ . -win32.zip
Компилятор arm-none-eabi-gcc.exe находится в папке » \bin
2.2 Добавить путь к arm-none-eabi-gcc.exe в системную переменную Path.

3. Установка утилиты mcufmloader
3.1 Скачать и распаковать архив с утилитой (MSA-mcufmloader-1.0.rar) в любую директорию.
3.2 Добавить путь к mcufmloader в системную переменную Path.

III Исходный код примера (test-evbrd-src.rar)
Директория lib содержит низкоуровневый код для работы с периферийными
утсройствами микроконтроллеров Миландр серий 1986х, 1901х.
Директория test-evbrd содержит исходный код примера и Makefile для его сборки
Директория test-evbrd/src содержит файлы исходного кода примера
Директория test-evbrd/output содержит выходные файлы после сборки:
output/bin — файлы прошивки после сборки в форматах elf, hex, bin, а также map файл;
output/lst — файлы листингов;
output/obj — объектные файлы.

IV Сборка исходного кода
Все команды выполняются в каталоге test-evbrd.
Все символы в командной строке латинские.
По умолчанию сборка производится для контроллера 1986ВЕ91Т

1. Сборка прошивки для 1986ВЕ91Т:
mingw32-make -f Makefile-test

2. Сборка прошивки для 1986ВЕ1Т:
mingw32-make -f Makefile-test MCU=1986BE1x MCUM=1986BE1T

3. Сборка прошивки для 1901ВЦ1Т:
mingw32-make -f Makefile-test MCU=1901BC1x MCUM=1901BC1T

V Программирование/стирание EEPROM
Перед программированием подключите отладочную плату нуль-модемным кабелем к
компьютеру и установите на плате переключатели SW1,SW2,SW3 в режим загрузки по UART
(UART loader, см. описание на соответствующую плату).
После этого рекомендуется выключить и затем снова включить питание платы.

По умолчанию программирование производится через порт COM1, используйте
опцию «-port N» утилиты mcufmloader для выбора порта:
«-port 0» соответствует COM1; «-port 1» соответствует COM2 и т.д.
Выполните команду «mcufmloader —help» для получения подробной справки.

1. Программирование EEPROM 1986ВЕ91Т:
mingw32-make -f Makefile-test program

2. Программирование EEPROM 1986ВЕ1Т:
mingw32-make -f Makefile-test MCU=1986BE1x MCUM=1986BE1T program

3. Программирование EEPROM 1901ВС1Т:
mingw32-make -f Makefile-test MCU=1901BC1x MCUM=1901BC1T program

4. Стирание EEPROM 1986ВЕ91Т:
mingw32-make -f Makefile-test erase

5. Стирание EEPROM 1986ВЕ1Т:
mingw32-make -f Makefile-test MCU=1986BE1x MCUM=1986BE1T erase

6. Стирание EEPROM 1901ВС1Т:
mingw32-make -f Makefile-test MCU=1901BC1x MCUM=1901BC1T erase

Arm none eabi gcc windows

GNU MCU Eclipse ARM Embedded GCC

GNU MCU Eclipse ARM Embedded GCC is a new GCC toolchain distribution for ARM devices, that complements the official GNU Arm Embedded Toolchain distribution, by ARM.

For main benefits for the users are:

  • convenience: binaries for all major platforms are provided (Windows 64/32-bit, GNU/Linux 64/32-bit, macOS);
  • uniform and portable install: the toolchain is also available as a binary xPack, and can be easily installed with xpm ;
  • improved support for Continuous Integration usage: as for any xPack, the toolchain can be easily used in test environments.

Compared to the original ARM release, there are no functional changes; the same architecture options are supported, and the same combinations of libraries (derived from newlib) are provided.

The GNU MCU Eclipse ARM Embedded GCC releases generally follow the official GNU Arm Embedded Toolchain releases, maintained by ARM.

This release is functionally equivalent to 8-2018-q4-major from December 20, 2018, and is based on gcc-arm-none-eabi-8-2018-q4-major-src.tar.bz2 (download), but fixes the bugs present in the initial ARM release.

The intermediate releases 8.2.1-1.5 to 8.2.1-1.2 were deprecated.

This release is functionally equivalent to 8-2018-q4-major from December 20, 2018, and is based on gcc-arm-none-eabi-8-2018-q4-major-src.tar.bz2 (download).

This release is functionally equivalent to 7-2018-q2-update from June 27, 2018, and is based on gcc-arm-none-eabi-7-2018-q2-update-src.tar.bz2 (download).

There should be no changes compared to the ARM release.

This release is functionally equivalent to 7-2017-q4-major from December 18, 2017, and is based on gcc-arm-none-eabi-7-2017-q4-major-src.tar.bz2 (download).

The only changes are small improvements to newlib, which was extended with —enable-newlib-io-c99-formats to enable C99 support in IO functions like printf/scanf. This option does not affect newlib-nano.

This release is functionally equivalent to 6-2017-q2-update from June 28, 2017, and is based on gcc-arm-none-eabi-6-2017-q2-update-src.tar.bz2 (download).

The only changes are small improvements to newlib, which was extended with —enable-newlib-io-c99-formats to enable C99 support in IO functions like printf/scanf. This option does not affect newlib-nano.

The procedure to install GNU MCU Eclipse ARM Embedded GCC is platform specific, but relatively straight forward (a .zip archive on Windows, a compressed tar archive on macOS and GNU/Linux).

A portable method is to use xpm :

More details are available on the How to install the ARM toolchain? page.

The build scripts are part of the separate gnu-mcu-eclipse/arm-none-eabi-gcc-build project.

This project does not include any source files, the build scripts use the Source Invariant archives provided by ARM.

The procedure used to publish the binaries is documented in the separate PUBLISH page.

windows-arm-none-eabi

metalcode-eu

GNU Arm embedded toolchain for Windows

The GNU Embedded Toolchain for Arm is a ready-to-use, open source suite of tools for C, C++ and Assembly programming targeting Arm Cortex-M and Cortex-R family of processors. It includes the GNU Compiler (GCC) and is available free of charge directly from Arm for embedded software development on Windows, Linux and macOS operating systems.

This repository is the original Windows version of the GNU Compiler from Arm packaged for Visual Studio Code:

Install

In Visual Studio Code goto extensions (Shift+Ctrl+X), search for ‘metalcode-eu‘ and install the extension that is suited for your operating system.

The extension has four paths for the toolchain. You can use this in the tasks.json.

  • arm-none-eabi.bin
  • arm-none-eabi.include
  • arm-none-eabi.lib
  • arm-none-eabi.libgcc

Here is an example of tasks.json for GNU make.

With the following makefile:

Release Notes

Version 0.1.6

Version 8-2018-q4-major for Windows
Released: December 20, 2018

Version 0.1.2

Fixed typo in path to repository causing a wrong link in the marketplace.

Added a path to the libgcc files.

When you do bare metal development, you often exclude all standard libraries but you still need libgcc.a for integer division etc. The path to this file contains a version number that changes with every release of the toolchain. Using this variable you do not need to update your makefiles with every new release of the toolchain.

Version 0.1.0

Version 7-2018-q2-update for Windows

Version 0.0.5

Operating system specific PATH environment variable.

Version 0.0.2

Version 0.0.1

Version 7-2017-q4-major for Windows Released: December 18, 2017

Настраиваем бесплатную сборку для написания и отладки программ под микроконтроллеры на основе ядра ARM под Windows 10

Идея написать статью (которая войдет в цикл статей для новичков, остро жаждущих создавать что-то на микроконтроллерах при почти нулевых знаниях в области программирования в принципе) пришла мне после того, как мне пришлось немного отвлечься от своих основных дел, чтобы помочь другу настроить рабочую среду для написания софта под его небольшой домашний проект на основе board-а с stm32f103 на борту. Я рассчитывал, что это займет около получаса, максимум час, но ноутбук друга был на Windows 10 x64, что для меня уже непривычно (сам работаю в Ubuntu). По итогу мы потратили практически 8 часов на настройку и создание простого проекта, борясь с многими не очевидными вещами.

Параллельно с этим мне пришлось подробно объяснять, какой элемент сборки для чего нужен, а так же, как эти элементы взаимодействуют между собой, поскольку друг до этого никогда ранее с микроконтроллерами не сталкивался (от слова «видел Arduino в магазине»).

Данный материал призван помочь начинающим быстро и без проблем настроить полностью бесплатную инфраструктуру для работы с микроконтроллерами, а так же понять, каким образом происходит сборка итогового бинарного файла. Производитель и модель микроконтроллера на этапе настройки этой инфраструктуры неважны. Главное, чтобы в его основе лежало ядро ARM.

Оглавление

  1. Постановка задачи.
  2. Выбор программных средств реализации.
  3. Ставим Eclipse Neon 3.
    • Скачиваем установщик Eclipse.
    • Устанавливаем JRE.
    • Устанавливаем Eclipse.
    • Устанавливаем в Eclipse плагин GNU ARM Eclipse.
    • Патчим JRE (на случай появления ошибки при установке плагина).
    • Устанавливаем GNU ARM Eclipse Windows Build Tools.
  4. Скачиваем и устанавливаем GNU ARM Embedded Toolchain.
  5. Устанавливаем OpenOCD.
  6. Устанавливаем драйвера на st-link v2.
  7. Разбираемся, как все это работает.
  8. Заключение.

Постановка задачи

Выбор программных средств реализации

Для решения поставленных задач нам потребуются следующие программные продукты:

  1. Eclipse Neon 3 для C/C++ (самая последняя версия на момент написания статьи). Будет использована нами как IDE (текстовый редактор с удобным авто дополнением + удобства по взаимодействию со средствами отладки), в которой мы будем писать код.
  2. JRE (на момент написания статьи, самая последняя версия 1.8.0). Без него не запустится установщик Eclipse (ну и сам Eclipse).
  3. GNU ARM Embedded Toolchain (на момент написания статьи, самой последней версией был 5_4-2016q3-20160926). Это комплекс нужных нам программных решений (таких как компилятор C кода «gcc», C++ кода «g++», линкер — «ld», средство загрузки и отладки финальной прошивки — «gdb» и многие другие), благодаря которым мы получим из наших файлов с исходным кодом файл с разрешением «.elf», представляющий из себя бинарный файл прошивки микроконтроллера, который в последствии будет загружен в микроконтроллер (об этом ниже).
  4. OpenOCD 0.10.0. С помощью него мы будем загружать наш «.elf» файл программы в микроконтроллер (на деле, OpenOCD предоставляет связь между gdb из указанного выше toolchain-а и отладчиком).

Помимо перечисленных средств, нам нужно будет поставить еще несколько небольших пакетов, о которых я скажу уже непосредственно в процессе установки.

Ставим Eclipse Neon 3

Как говорилось выше, для того, чтобы писать код, нам нужен текстовый редактор, в котором было бы удобно писать (различные методы авто-дополнения, поиска по проекту, навигация по файлам и т.д). А после того, как мы написали код, было бы неплохо, чтобы его компиляция, сборка и исполнение — были бы делом пары комбинаций клавиш (или кликов мышью, кому как удобно).
Для этих целей я использую Eclipse. Помимо редактора, он представляет еще возможность подключения различных расширений, которые значительно упрощают жизнь разработчика, сводя всю рутинную работу (сборку, компоновку, загрузку программы в контроллер) к паре кликов/нажатий.

Читайте также:  Calculate linux scratch что это
Оцените статью