This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Error: selected processor does not support `msr psp,r3' in Thumb mode

Hi all

I have the following setup:

  • Arm GNU toolchain v. 11.2 (activated it in uVision under Manage -> Project Items -> Folders/Extensions)
  • Keil uVision V5.37
  • Device: ARMCM33 (no DSP Instructions, no Floating Point Unit, no TrustZone)
  • Run-Time Environment
    • CMSIS -> Core (v. 5.6.0)
    • Device -> Startup (C Startup) (v 2.1.0)

with an empty main.cpp:

int main(void)
{
  return 0;
}

and I am getting the following error:

compiling startup_ARMCM33.c...
RTE/Device/ARMCM33_DSP_FP/startup_ARMCM33.c: In function 'Reset_Handler':
RTE/Device/ARMCM33_DSP_FP/startup_ARMCM33.c(134): warning: implicit declaration of function '__set_MSPLIM'; did you mean '__set_MSP'? [-Wimplicit-function-declaration]
RTE/Device/ARMCM33_DSP_FP/startup_ARMCM33.c(135): warning: implicit declaration of function '__set_PSPLIM'; did you mean '__set_PSP'? [-Wimplicit-function-declaration]
C:\Users\ersk\AppData\Local\Temp\ccMzeu8x.s: Assembler messages:
Error: C:\Users\ersk\AppData\Local\Temp\ccMzeu8x.s:86: Error: selected processor does not support `msr psp,r3' in Thumb mode

Below the files that get pulled in, not sure why there is nothing under CMSIS:

Is there anything that I can try out to help getting to the bottom of this? Do I have to write my own ld script on top of gcc_arm.ld?

Cheers

  • I am not a Windows user, but do use the GNU toolchain. I do see from your directory (folder!) paths that you are including

    ARMCM33_DSP_FP/startup_ARMCM33.c

    I have a hunch that with the GNU toolchain you actually want

    ARMCM33_DSP_FP/GNU/startup_ARMCM33.S

    i.e. a file that live alongside the gcc_arm.ld file.

    I do not see the corresponding .c file in my drop of the CMSIS_5 files from ARM, so I think you use the .S file in its place.