Как использовать расширение типов фиксированной точки GCC на ARM Cortex-M?

Я использую ARM Cortex-M3 и Cortex-M4. Я хочу использовать gcc расширение типа фиксированной точки. Я использую вызвать-руку-цепочку инструментов. Следующая строка кода

_Fract f = 0.1;

выдает следующую ошибку при компиляции:

error: fixed-point types not supported for this target

действительно ли GCC не поддерживает типы с фиксированной точкой для Cortex-M3 / M4, или я что-то упускаю?

2 ответов


просто для протокола, я отвечу на свой вопрос.

TL; DR: расширение типов с фиксированной точкой поддерживается для архитектуры ARM Cortex-M/R в встроенный ветвь gcc (версия 4.6 и более поздняя). Найдена цепочка инструментов на основе этой ветви gcc здесь.

ответ:

на момент написания статьи,призыв-рука-цепочка инструментов загрузок по умолчанию linaro-gcc-4.5-2011.02 (или альтернативно gcc-4.5.2). Это не по умолчанию включены типы с фиксированной точкой


по данным GCC Wiki, вы можете включить расширения с фиксированной точкой, передав --enable-fixed-point в качестве параметра для GCC при его настройке.

далее, согласно комментарию к этому gcc ошибка и этой один.

поддержка фиксированной точки в настоящее время поддерживается только для цели MIPS.