У меня может быть тривиальный вопрос, но в чем разница между состоянием Thumb (-mthumb)
и Arm (-marm)
и почему большинство руководств рекомендуют использовать состояние Thumb
?
Мне интересно, что именно это означает? С чем это связано?
Лучший!
У меня может быть тривиальный вопрос, но в чем разница между состоянием Thumb (-mthumb)
и Arm (-marm)
и почему большинство руководств рекомендуют использовать состояние Thumb
?
Мне интересно, что именно это означает? С чем это связано?
Лучший!
Я бы посоветовал прочитать эти две статьи, одну из Arm, Архитектура набора инструкций (- marm означает, что GCC будет генерировать код arm32/A32, -mthumb означает, что он будет генерировать thumb/T32), и эта исследовательская работа Выбор инструкций ARM и ThumbInstructions по профилю.
По сути, два набора инструкций отличаются набором доступных инструкций, а также их кодировкой. Поэтому вы должны получить меньший и более быстрый исполняемый файл, используя thumb/T32, чем с помощью arm/A32.
По этой причине в большинстве руководств рекомендуется использовать набор инструкций thumb/T32.