Перейти к содержанию
    

__asm MSR MSP не компилируется

Хочу в программе установить регистр 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?

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...