К сожалению, сейчас clang не поддерживает гибкие настройки кросс-компиляции.Поэтому, скорее всего, вам потребуется вызвать необходимые инструменты со всеми необходимыми аргументами.
Начните с сборки llvm + clang с использованием аргумента --target = thumbv7-eabi configure (обратите внимание, что вам понадобится llvm + clang со вчерашнего дняза это).Вы также можете указать --enable-target = arm.Это даст команду clang генерировать код для большого пальца по умолчанию.После этого вы можете вызвать clang -mcpu = cortex-m3 для генерации кода для вас.
Вы должны будете вручную предоставить все необходимые пути для включения / библиотеки через -I / -L и т. Д.
Если вас устраивает взлом C ++, вы можете написать необходимый «HostInfo», чтобы он вызывал нужные инструменты и автоматически предоставлял правильные пути.