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
- "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