- Installing the Cross Tools for ARM¶
- Installing the ARM Cross Toolchain¶
- Installing the ARM Toolchain For Mac OS X¶
- Installing the ARM Toolchain For Linux¶
- Installing the ARM Toolchain for Windows¶
- Installing the Debuggers¶
- Installing the OpenOCD Debugger¶
- Installing OpenOCD on Mac OS¶
- Installing OpenOCD on Linux¶
- Installing OpenOCD on Windows¶
- Installing SEGGER J-Link¶
- Как установить arm-none-eabi-gdb на Ubuntu 20.04 LTS (Focal Fossa)
- 1 ответ
- How to install arm-none-eabi-gdb on Ubuntu 20.04 LTS (Focal Fossa)
- 1 Answer 1
- Установка тулчейна для работы с микроконтроллерами ARM/Cortex
- Подновлённая информация от 25.01.2017
- Устаревшая информация
Installing the Cross Tools for ARM¶
This page shows you how to install the tools to build, run, and debug Mynewt OS applications that run on supported ARM target boards. It shows you how to install the following tools on Mac OS, Linux and Windows:
ARM cross toolchain to compile and build Mynewt applications for the target boards.
Debuggers to load and debug applications on the target boards.
Installing the ARM Cross Toolchain¶
ARM maintains a pre-built GNU toolchain with gcc and gdb targeted at Embedded ARM Processors, namely Cortex-R/Cortex-M processor families. Mynewt OS has been tested with version 4.9 of the toolchain and we recommend you install this version to get started. Mynewt OS will eventually work with multiple versions available, including the latest releases.
Installing the ARM Toolchain For Mac OS X¶
Add the PX4/homebrew-px4 homebrew tap and install version 4.9 of the toolchain. After installing, check that the symbolic link that homebrew created points to the correct version of the debugger.
Note: If no version is specified, brew will install the latest version available.
Installing the ARM Toolchain For Linux¶
On a Debian-based Linux distribution, gcc 4.9.3 for ARM can be installed with apt-get as documented below. The steps are explained in depth at https://launchpad.net/
Installing the ARM Toolchain for Windows¶
Download and run the installer to install arm-none-eabi-gcc and arm-none-eabi-gdb. Select the default destination folder: C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2020-q4-major.
Notes:
Check the Add path to environment variable option before you click the Finish button for the installation.
You may select a different folder but the installation instructions use the default values.
Check that you are using the installed versions arm-none-eabi-gcc and arm-none-eabi-gdb. Open a MinGW terminal and run the which commands.
Note: You must start a new MinGW terminal to inherit the new Path values.
Installing the Debuggers¶
Mynewt uses, depending on the board, either the OpenOCD or SEGGER J-Link debuggers.
Installing the OpenOCD Debugger¶
OpenOCD (Open On-Chip Debugger) is open-source software that allows your computer to interface with the JTAG debug connector on a variety of boards. A JTAG connection lets you debug and test embedded target devices. For more on OpenOCD go to http://openocd.org.
OpenOCD version 0.10.0 with nrf52 support is required. A binary for this version is available to download for Mac OS, Linux, and Windows.
Installing OpenOCD on Mac OS¶
Install latest OpenOCD from Homebrew:
Check the OpenOCD version you are using:
You should see version: 0.10.0+dev- .
Installing OpenOCD on Linux¶
Change to the root directory:
Untar the tarball and install into /usr/local/bin. You will need to replace
/Downloads with the directory that the tarball is downloaded to.
Note: You must specify the -p option for the tar command.
Check the OpenOCD version you are using:
You should see version: 0.10.0.
If you see any of these error messages:
openocd: error while loading shared libraries: libhidapi-hidraw.so.0: cannot open shared object file: No such file or directory
openocd: error while loading shared libraries: libusb-1.0.so.0: cannot open shared object file: No such file or directory
run the following command to install the libraries:
Installing OpenOCD on Windows¶
Extract into the C:\openocd-0.10.0 folder.
Add the path: C:\openocd-0.10.0\bin to your Windows User Path environment variable. Note: You must add bin to the path.
Check the OpenOCD version you are using. Open a new MinGW terminal and run the following commands:
Note: You must start a new MinGW terminal to inherit the new Path values.
You should see version: 0.10.0.
Installing SEGGER J-Link¶
You can download and install Segger J-LINK Software and documentation pack from SEGGER.
Note: On Windows, perform the following after the installation:
Add the installation destination folder path to your Windows user Path environment variable. You do not need to add bin to the path.
Open a new MinGW terminal to inherit the new Path values.
Источник
Как установить arm-none-eabi-gdb на Ubuntu 20.04 LTS (Focal Fossa)
Я попытался установить arm-none-eabi-gdb как часть gcc-arm-embedded. Я добавил PPA:
Насколько я понимаю, gcc-arm-embedded не имеет версии для Ubuntu 20. Поэтому я изменил версию выпуска для этого PPA в Software & Updates на bionic, чтобы избежать ошибки 404.
Несмотря на то, что ubuntu 20 имеет libisl22, теперь у меня есть неудовлетворенные зависимости, когда я пытаюсь установить gcc-arm-embedded:
Мне не удалось найти способ установить запрошенную версию libisl, так как apt предлагает только две версии — libisl22 и libisl-dev, и обе не принимаются установщиком.
Мне нужен совет, как установить arm-none-eabi-gdb. Спасибо!
1 ответ
Оказалось, что ARM решила упростить нашу жизнь (сарказм), отказавшись от использования PPA — на их странице на панели запуска теперь есть объявление: «. все новые бинарные пакеты и пакеты с исходным кодом впредь не будут выпускаться на Launchpad. «.
Итак, чтобы использовать их последнюю версию arm-none-eabi-gdb, вам нужно установить gcc-arm-embedded вручную.
Удалите arm-none-eabi-gcc из вашей системы:
Загрузите последнюю версию (Linux x86_64 Tarball) с их веб-сайта, проверьте ее MD5. Распаковать в какой-нибудь каталог. Я использовал /usr/share/:
sudo tar xjf gcc-arm-none-eabi-your-version.bz2 -C /usr/share/
Создайте ссылки, чтобы двоичные файлы были доступны для всей системы:
Источник
How to install arm-none-eabi-gdb on Ubuntu 20.04 LTS (Focal Fossa)
I tried to install arm-none-eabi-gdb as a part of gcc-arm-embedded. I added PPA:
It responded with:
As far as I understand — gcc-arm-embedded doesn’t have a version for Ubuntu 20. So I’ve changed release version for this PPA in Software & Updates to bionic so that I can avoid error 404.
Even though ubuntu 20 has libisl22, now I have unmet dependencies when I try to install gcc-arm-embedded:
I was unable to find a way to install requested version of libisl, as apt offers only two versions — libisl22 and libisl-dev and both are not accepted by installer.
I need advice on how to install arm-none-eabi-gdb. Thank you!
1 Answer 1
It turned out that ARM decided to make our life easier (sarcasm) by deprecating the use of PPA — their page at launchpad now has an anouncement: «. all new binary and source packages will not be released on Launchpad henceforth . «.
So, to make use of their latest arm-none-eabi-gdb you have to install gcc-arm-embedded manually.
Remove arm-none-eabi-gcc from your system:
Download latest version (Linux x86_64 Tarball) from their website, check its MD5. Unpack it into some directory. I used /usr/share/ :
sudo tar xjf gcc-arm-none-eabi-your-version.bz2 -C /usr/share/
Create links so that binaries are accessible system-wide:
Источник
Установка тулчейна для работы с микроконтроллерами ARM/Cortex
Время летит быстро. Не так давно я описывал как устанавливать этот же тулчейн, откуда скачивать исходники, как компилировать и устанавливать кросс-компилятор и сопутствующие утилиты. Но время безжалостно всё это выкинуло на свалку истории. Теперь ничего этого делать не нужно. Теперь не нужны танцы с бубном и полуголыми девицами. Теперь почти весь инструментарий есть в репозиториях Debian и Ubuntu.
Собственно, рассказ о том как сейчас устанавливается этот тулчейн под катом.
У меня на разных винтах установлен Debian-8.4 и Ubuntu-16.04. Установка тулчейна на Debian и на Ubuntu практически не отличаются. Разница только в способе доступа на уровень root-а.
Установка тулчейна осуществляется одной командой:
Паровозиком по зависимостям установятся стандартная библиотека С, стандартная библиотека С++ и утилиты. Они находятся в пакетах binutils-arm-none-eabi, libnewlib-arm-none-eabi, libnewlib-dev, libstdc++-arm-none-eabi-newlib.
Система так же подскажет, что в репозитории имеется так же пакет libnewlib-doc. Это документашка на стандартную библиотеку Си, но не совсем стандартную. В том плане, что это библиотека для микроконтроллеров, а не для компов. Тут есть свои тонкости.
Например, система ввода вывода. В комповой проге можно свободно написать printf(«Hello world!»); , и вывод будет осуществлён на экран монитора. А в микроконтроллерной системе где экран монитора? У системы может вообще не быть никаких коммуникационных портов ввода-вывода. Улавливаете?
В общем, пока вы не соприкоснулись с проблемой, она не существует. Значит и пакет libnewlib-doc не особо нужен. Но если считаете, что пригодится, то команда на установку тулчейна будет следующая:
И это всё, что нужно для компиляции программ!
На этом можно было бы закончить повествование. Но на практике полученный код нужно заливать в микроконтролллер, да и средства для отладки тоже желательно иметь.
Установить ПО для отладки тоже не сложно:
В принципе имя пакета можно было присовокупить к предыдущей команде. Не принципиально.
В репозиториях имеется программа для заливки кода через один из последовательных портов микроконтроллера (USART, USB, CAN). Программа, как и её пакет называется stm32flash. Устанавливается тоже незатейливо:
Таким образом почти полный набор можно установить одной командой:
Я думаю, это не вызовет затруднений даже у тех, кто вчера пришел в мир Линукса.
Программа для заливки кода stm32flash не требует наличия программатора. Достаточно подсоединить микроконтроллер к компу через USB или последовательный порт.
Но, к сожалению, stm32flash не позволяет производить отладку. Для отладки нужно подсоединяться к микроконтроллеру по интерфейсу JTAG или SWD. Кроме того, нужно устройство, которое обеспечивает этот интерфейс. Например, китайский свисток stlink.
Сложность в том, что программное обеспечение для работы с stlink-ом не входит в состав репозитория. Поэтому зажигаем Луну, достаём бубен и приглашаем девушек!
Подновлённая информация от 25.01.2017
Чтобы собрать программное обеспечение stlink (оно называется так же как и сам программатор-свисток), нужно установить несколько дополнительных пакетов. Нам понадобится git, gcc, make, cmake.
Про Ubuntu я Вам ничего не скажу, так как у меня комп уже не «тянет» её, а вот для Debian-8 определённо точно понадобится установить пакеты git, gcc, make, cmake и libusb-1.0-0-dev.
Если какой-то пакет уже установлен в системе, и его версия самая свежая, то его установка будет просто проигнорирована. Иначе говоря, если чего в системе нет, то установится, а то, что есть, — не изменится.
Создаем временный директорий, в котором будем производить сборку утилит, и клонируем в него исходники:
Сейчас мы находимся в директории с исходниками stlink.
Теперь запускаем процесс компиляции и сборки утилит:
Система создаст поддиректорий build, перенесёт в него исходники, создаст конфигурационные файлы для компиляции и произведёт компиляцию и сборку утилит. Я надеюсь, что у вас, так же как и у меня, всё прошло благополучно.
Далее нужно сменить директорию:
и выполнить команду для установки утилит:
Далее можно по Виндовому перезагрузить систему, а можно поступить по умному — выполнить команду актуализации:
После чего можно свободно использовать утилиты. Например:
Убедившись, что всё заработало как надо, не забудьте потом удалить временный директорий вместе с его содержимым — оно уже не понадобится.
Устаревшая информация
Чтобы собрать программное обеспечение stlink (оно называется так же как и сам программатор-свисток), нужно установить несколько дополнительных пакетов. Нам понадобится git, gcc, make, autoconf, может быть ещё какие-то пакеты. У меня обе системы (Debian и Ubuntu) на момент сборки stlink были не совсем «чистые», я уже работал с ними и за долго до этого момента установил и git, и gcc, и ещё что-то. Я не помню что конкретно я устанавливал. Что вам конкретно нужно будет доустановить, сообразите по ходу. Читайте сообщения команд, которые будете выполнять.
Нам определённо точно понадобится установить пакеты autoconf, libtool, libusb-1.0-0-dev и libgtk-3-dev. В общем, смело выполняйте команду:
Если какой-то пакет уже установлен в системе, и его версия самая свежая, то его установка будет просто проигнорирована. То есть чего нет, то установится. А что есть — не изменится.
Теперь сдуваем пыль и удаляем паутину с музыкального инструмента, и следуем за шаманом:
Сейчас мы находимся в директории с исходниками stlink. Энергично ударяя в бубен зазываем девиц в круг:
И вот он — волшебный момент экзотического танца вокруг костра:
Ради этого стоит жить!
У меня компиляция прошла удачно, не считая полудюжины мелких варнингов:
Здесь на скриншоте предупреждения выделены довольно-таки невзрачным блекло-розовым цветом. Их даже сложно заметить. Но самом деле в полноценном окне терминала (не в псевдотерминале!) цвета намного ярче.
Эта ругань только в отношении графической утилиты stlink-gui. Дело в том, что скорость созревания Линукса просто фантастически огромная! Поэтому нередко оказывается так, что одни части программного обеспечения ушли далеко вперёд, пока другие топтались на месте.
Вот так и с утилитой stlink-gui получилось. Пока она «валялась» в течение нескольких месяцев в репозитории на github-е, графическая систем gtk, на которой построена работа графики утилиты, модернизировалась. Всё течёт, всё изменяется!
Gtk модернизировалась, и перестала поддерживать устаревшие (depricated) технологии. В целях совместимости, они еще не выкинуты совсем, но уже заглушены. Компиляция проходит, но работать они не будут! О чём, собственно, компилятор и предупреждает.
В принципе, это всё! Нам остается только проинсталировать утилиты stlink:
На этом процесс инсталляции тулчейна можно считать законченным. Пользуйтесь на здоровье!
После небольшого перерыва для тонких ценителей юных тел фуршет с благовониями и эротический массаж stlink-gui!
Источник