58313

[i] Warning A1950W (armasm is deprecated) после перехода на новую версию Keil 5.42.0.0


После перехода на новую версию Keil (5.42.0.0) при сборке проекта появилось предупреждение:

Warning: A1950W: The legacy armasm assembler is deprecated. Consider using the armclang integrated assembler instead.

Подскажите, с чем связано данное предупреждение?

В предыдущих версиях среды Keil было доступно два компилятора:
- "ARM Compiler V5", который по умолчанию в качестве ассемблера использует "armasm";
- "ARM Compiler V6", который по умолчанию в качестве ассемблера использует "armclang".

В новой версии Keil 5.42.0.0 компилятор "ARM Compiler V5" был исключен. Поддержка ассемблера "armasm" ещё осталась, однако при его использовании выводится предупреждение A1950W.

Новый ассемблер "armclang" поддерживает как синтаксис GNU, так и синтаксис ARM, который применялся в ассемблере "armasm", поэтому текущий проект может быть перенесен на ассемблер "armclang". Для этого в настройках проекта необходимо перейти во вкладку "Asm" и в поле "Assembler Option" выбрать пункт "armclang (Auto Select)" (выбор "Auto Select" позволяет "armclang" автоматически определять синтаксис ассемблерных файлов):

Рисунок 1 - Выбор ассемблера "armclang"

Подробнее про переход с синтаксиса ARM ("armasm") на GNU ("armclang") приведено на официальном сайте Keil: https://developer.arm.com/documentation/100068/0624/Migrating-from-armasm-to-the-armclang-Integrated-Assembler

Теги

Был ли ответ полезным?