Хочу в программе установить регистр MSP. Есть стандартный инстринсик
Код
__attribute__( ( always_inline ) ) static __INLINE void __set_MSP(uint32_t topOfMainStack)
{
__ASM volatile ("MSR msp, %0\n" : : "r" (topOfMainStack) );
}
...
__set_MSP(123);
При компиляции получаю ошибку
C:\Users\JOHNNY~1.TOP\AppData\Local\Temp\ccOHLARC.s: Assembler messages:
C:\Users\JOHNNY~1.TOP\AppData\Local\Temp\ccOHLARC.s:622: Error: selected processor does not support requested special purpose register -- `msr MSP,r1'
Попробовал явно указать параметры для ассемблера:
Код
CodeSourcery/ARM_EABI_2011_09/bin/arm-none-eabi-g++ -o _build\obj\main.o -c -std=gnu++0x -funsigned-char -funsigned-bitfields -ffunction-sections -fdata-sections -g -Wall -Wclobbered -Wempty-body -Wignored-qualifiers -Wmissing-field-initializers -Wsign-compare -Wtype-limits -Wuninitialized -Wunused-parameter -O2 -mthumb -march=armv7 -mfix-cortex-m3-ldrd -msoft-float -Wa,-mthumb -Wa,-march=armv7 -Wa,-mcpu=cortex-m3 -DSTM32F10X_HD -DHSE_VALUE=12000000 main.cpp
- не помогло.
Подскажите, как можно установить MSP?