Visual studio arm64 что это

Обновлено: 07.07.2024

Это даже не руководство, а небольшое описание и собственные ощущения о переходе с Keil'а на VSCode. Здесь нет рассказа от том, как настроить систему сборки, только немного о настройках самого редактора.

Небольшая заметка о том, как я решил отказаться от keil и перешел на visual studio code.

Давно я собирался это сделать, но никак не мог решиться. Больше всего в vscode привлекал удобный редактор с его плюшками, до которого keil'у, да и многим другим IDE расти и расти.

Основной проблемой было то, как настроить сборку, как выполнять загрузку и отладку. "У страха глаза велики" - это правда, на деле всё оказалось куда проще. Даже этот текст, который вы читаете, написан в vscode.

Если стало интересно - читайте дальше.

Установка VS Code и расширений

Для разработки приложений на языке Си для микроконтроллеров ARM будем использовать несколько плагинов:

Основные - это верхние три, остальные это лишь небольшие улучшения и дополнения, хотя в принципе достаточно и первых двух.

Настройка среды

Вся настройка производится в файлах json .

Файл .vscode\launch.json соделжит конфигурации запуска и отладки.

Пример моей конфигурации:

Это конфигурация для плагина Cortex-Debug, в которой указаны параметры типа ядра, путь к elf файлу, ипя конфигурации для отладки, интерфейс, тип операционной системы, тип отладчика, путь к файлу описания регистров микроконтроллера (SVD файл), его можно найти в папке с файлами поддержки семейства микроконтроллеров для STM32CubeMx, например для STM32F0 здесь

Следующий файл - .vscode\settings.json , - настройки рабочего пространства, у меня выглядят примерно так.

Указаны лишь три настройки, могут быть и другие, но эти важны для нашего проекта.

Теперь приступим к настройкам нашего проекта, а именно укажем пути к заголовочным файлам, дефайны и настройки стандарта языка, это всё нужно не для сборки проекта, а для работы системы IntelliSense. Главное быть внимательным, так как эти настройки должны быть максимально синхронны с настройками при компилировании файлов, вплоть до указания предопределенных макросов типа __GNU__ и подобных. Иначе можно получить весьма неожиданный результат, на экране будет одно, а по факту проект будет собираться уже по другом из-за вмешательства препроцессора и раскрытия макросов.

Из названия настроек всё понятно: имя конфигурации, путь к компилятору, его аргументы, пути к заголовочным файлам, опеределения макросов и указание стандарта языка. Более подробно об этих параметрах можно почитать в официальной документации.

В принципе все основные настройки готовы, осталось определелить несколько задач для сборки и загрузки прошивки в микроконтроллер. Для этого их необходимо описать в файле .vscode\tasks.json .

Первая задача Build - задача сборки, о чем намекает параметр "kind": "build" , именно её редактор будет предлагать к выбору при выборе меню Терминал -> Запустить задачу сборки. , либо при нажатии кнопок CTRL+SHIFT+B .

Команда которая будет выполняться написана в параметре command .

В первой задаче это запуск утилиты make с параметрами.

Во второй это запуск утилиты jlink для записи файла прошивки в микроконтроллер. Видно, что здесь указаны тип устройства, интерфейс и скорость соединения и скрипт прошивки. Скрипт выглядит следующим образом:

Другие команды, для чтения, очистки и сброса можно посмотреть в документации к jlink .

Ну вот и всё, Вам же осталось только написать свой код, написать Makefile и пользоваться средой.

Немного об ощущениях

  • Превосходный редактор с отличным функционалом;
  • Можно переходить к определнию функции по клику с нажатым CTRL ;
  • куча расширений функционала редактора.
  • Немного непривычная отладка: значения регистров и переменных в десятичном формате;
  • Отладка без дизассемблера;
  • Возможность отстрелить ногу с предопределенными компилятором макросами (то, о чем я писал выше);
  • Много ручной работы по настройке проекта и системы сборки;
  • GCC вместо ARM Compiler 6.

На первый взгляд кажется что минусов больше, но на самом деле удобство работы в редакторе кода компенсирует многое. А расширение функции отладки скорее всего дело будущих версий этого плагина.

Microsoft Visual C Redistributable. Что это? Как скачать и установить?

Практически любой активный геймер, предпочитающий запускать более-менее современные игры, сталкивался с необходимостью установки Microsoft Visual C Redistributable. Этот программный пакет очень важен, так как большая часть игр последних лет без него просто откажутся запускаться.

Что такое Microsoft Visual C++ Redistributable?

Redistributable пакет из коробки

Как правило, с установкой никаких проблем не возникает. Все крупные сервисы цифровой дистрибуции игр, будь то Steam, Origin, Uplay и их аналоги, всегда заботятся о поддержке игроков. Например, в Steam DirectX, Microsoft Visual C++ Redistributable и другой нужный для запуска той или иной игры софт ставится автоматически при первом запуске продукта, а Ориджин предлагает в начале установки выбрать, хотите ли вы поставить программу (нужно отметить галочкой).

Однако, дружок, если ты привык качать пиратский контент с торрентов, далеко не всегда игра будет комплектоваться набором необходимых библиотек. Иногда приходится заходить на официальный сайт Microsoft и вручную загружать оттуда свежий дистрибутив.

О старых версиях C++. Нужно ли их удалять?

Если перейти по адресу Пуск – Панель управления – Установка и удаление программ, в списке можно найти с десяток наименований различных версий Microsoft Visual C++. Версии х86 и х64, версии 2005, 2008, 2010, 2017, различные численные нумерации и т.д. Пользователи вполне логично полагают, что имеющаяся версия 2017 года самая новая, а остальное можно смело удалять, также как и версии для х86 систем, если они в данный момент сидят на 64-разрядной версии операционной системы.

Много разных версий Microsoft Visual C++ Redistributable. Удалять их не стоит.

В общем так это не работает, нельзя рассчитывать, что более свежая версия обладает обратной совместимостью. Более старые игры используют устаревшие версии Microsoft Visual C++ Redistributable, поэтому отсутствие в системе необходимой версии программного пакета приведет к невозможности запуска. То же самое касается и различных разрядностей (х86, x64) – они также могут использоваться программами и играми.

Как вручную скачать Microsoft Visual C++ Redistributable

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

На выбор для скачивания предоставляется множество ссылок с различными разрядностями и версиями программного пакета C++. Общий вес их небольшой – много дискового пространства на винчестере они не потребуют. Поэтому имеет смысл сразу поставить весь список (2008, 2010, 2012, 2013, 2015, 2017). Одни понадобятся для уже относительно старых игр и программ, другие – для современных новинок. Сама установка интуитивно понятна.

Установить пакет Redistributable очень просто - пара кликов

Как переустановить библиотеки Visual C++

Пользователю может понадобиться переустановить Visual C++, например, если он столкнется с ошибкой о каком-нибудь отсутствующем .dll файле. Часто бывает так, что идущий в комплекте с игрой установщик не совсем исправен или при установке происходит сбой. Тогда игру невозможно запустить, что приводит к необходимости переустановки. Делать это нужно следующим образом:

  • Удалить проблемный дистрибутив, воспользовавшись пунктом “Установка и удаление программ” в Панели управления Windows или специализированным софтом для очистки системы, где есть соответствующий функционал, например, CCleaner.
  • Перезагрузиться.
  • Загрузить на компьютер дистрибутив/дистрибутивы необходимых версий Microsoft Visual C++ для своей разрядности операционной системы.
  • Запустить инсталлятор и провести установку согласно инструкции.
  • Провести повторную перезагрузку, чтобы все установилось корректно.

Версии Microsoft Visual C++ Redistributable по годам и архитектурам

Microsoft Visual C++ Redistributable 2005

Microsoft Visual C++ Redistributable 2008

Microsoft Visual C++ Redistributable 2010

Microsoft Visual C++ Redistributable 2012

Microsoft Visual C++ Redistributable 2013

Microsoft Visual C++ Redistributable 2015

Microsoft Visual C++ Redistributable 2017

Технология эмуляции доступна в Windows 10 Insider Preview Build 21277 и может быть установлена на устройства Windows 10 с ARM-архитектурой. Компания подготовила подробные инструкции в отдельной публикации.

Windows 10 build 21277: Установка через Центр обновления Windows

В программе Windows Insider запускается тестирование эмуляции 64-битных приложений для устройств Windows на ARM

Когда Windows 10 впервые запускалась на ARM в конце 2017 года, клиентам были доступны преимущественно 32-разрядные приложения x86. Поэтому команда Microsoft сосредоточила свои усилия на создании эмулятора x86, который бы позволял беспрепятственно использовать развитую экосистему приложений Windows. Со временем фокус стал смещаться в сторону 64-битных приложений x64, и пользователи все чаще запрашивали поддержку таких программ для ARM64. Новая предварительная версия эмулятора x64 как раз решает данную задачу.

Возможности эмулятора расширяются и для максимального удобства пользователей разработчикам рекомендуется поддерживать свои приложения прямо на ARM64. Приложения ARM64 полностью поддерживаются в Windows SDK и в Visual Studio 2017, поэтому разработчики могут без лишних опасений перекомпилировать свои приложения под ARM64.

В данной предварительной версии поддерживается установка приложений x64 из магазина Microsoft Store и любых других источников. Уже сейчас вы можете протестировать приложения для повышения продуктивности, например Autodesk Sketchbook, а также некоторые игры, например Rocket League. Другие приложения, такие как Chrome, которые сегодня работают на ARM64 как 32-разрядные приложения, могут запускаться как 64-разрядные с использованием новой возможности эмуляции x64. В результате им станет доступно для работы больше оперативной памяти.

Предварительная версия эмулятора x64 распространяется на канале Dev, потому что технология еще находится в разработке и со временем получит улучшения совместимости и производительности. Обратите внимание, что некоторые приложения при запуске в режиме эмуляции могут не запуститься. Microsoft призывает инсайдеров протестировать механизм эмуляции и поделиться ценной обратной связью через приложение «Центр отзывов» в подкатегории Приложения > Приложения x64 на ARM.

Для наилучшей производительности приложений установите предварительную версию графического драйвера Qualcomm Adreno для своего устройства:

Разработчики все чаще поддерживают приложения для ARM64, поэтому эмуляция приложений x64 является важным шагом в развитии экосистемы Windows 10 на ARM. Благодаря совместной работе с Qualcomm Technologies, Windows 10 на компьютерах ARM обеспечивает невероятное время автономной работы, возможности подключения к сетям 4G LTE и 5G, технологии ускорения на базе искусственного интеллекта и поддержку стилуса и сенсорного ввода. Все эти возможности способствуют продуктивной работе и учебе из дома и из других удаленных мест

Microsoft стремится прислушиваться к отзывам клиентом, чтобы предоставить им лучший пользовательский опыт на ARM-устройствах Windows 10. Экосистема данной платформы постоянно расширяется. Недавно были представлены новые устройства Windows 10 на ARM: Acer Spin 7, Lenovo Flex 5G и новый Surface Pro X. Также вышли нативные клиенты Microsoft Teams и Adobe Lightroom для ARM64, а также бета-версия Adobe Photoshop для ARM64. Кроме того, были реализованы уровни совместимости OpenGL/OpenCL и анонсирована технология совместимости через App Assure.

B83-0

Подготовка Visual Studio Code

Для примера используется Visual Studio Code v1.33.1, на старых версиях могут быть небольшие отличия в плане конфигурационных json файлов.

Предполагается, что у вас уже установлена или есть портативная версия Visual Studio Code. Для работы с C\C++ и отладчиком Cortex-M нам потребуются следующие расширения:

Установить их можно прямо в VS Code, поиском по имени в окне расширений:

B83-1

Настраивать особо там ничего не требуется.

Установка тулчейна, драйверов отладчика

Далее нам потребуются инструменты, которыми мы будем собирать и заливать прошивку. Cкачиваем официальный тулчейн GNU Arm Embedded Toolchain версии x32 или лучше GNU MCU Eclipse ARM Embedded GCC arm-none-eabi-gcc-xpack x64 версию, т. к. в официальной последней х32 я столкнулся с багом objcopy.exe в GNU Arm Embedded Toolchain, который выглядит во время сборки проекта вот так (более подробно по ссылке выше):

B83-2

B83-3

У меня это выглядит вот так:

B83-4

Как можно видеть выше, у меня прописаны пути аж к Visual Studio тулчейну\инструментам (чтобы не делать две копии на ПК), и я могу тем самым делать проекты как в большой и могучей Visual Studio, так и в сторонних приложениях (как мы сейчас разбираем, Visual Studio Code). Да, GNU MCU Eclipse ARM Embedded GCC я просто распаковал взамен стокового (очень старого) тулчейна, устанавливаемого с Visual Studio.

Пути, которые я добавил (у вас будут явно другие, просто пример, до каких папок необходимо указывать):

Тестовый проект

В качестве тестового проекта возьмем любимый всеми STM32CubeMX и сгенерируем в нём для старючей STM32F4DISCOVERY (просто она есть под рукой) минимальный проект, чтобы не собирать исходники и не писать самому makefile (предполагается, что вы уже знаете уже, как это делается). В проекте задействуем кнопку и светодиоды:

Читайте также: