# Error: selected processor does not support \`cpsid i' in ARM mode

**URL:** https://discourse.cmake.org/t/error-selected-processor-does-not-support-cpsid-i-in-arm-mode/9726
**Category:** Usage
**Created:** [December 27, 2023, 10:21am UTC](https://discourse.cmake.org/t/error-selected-processor-does-not-support-cpsid-i-in-arm-mode/9726 "2023-12-27T10:21:49Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![sridhar](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/s/9fc29f/32.png) [@sridhar](https://discourse.cmake.org/u/sridhar)
#### Post date: [December 27, 2023, 10:21am UTC](https://discourse.cmake.org/t/error-selected-processor-does-not-support-cpsid-i-in-arm-mode/9726/1 "2023-12-27T10:21:49Z")

</div>

I have encountered a error while trying to do build for my cmake file

cmake\_minimum\_required (VERSION 3.0.0)  
set(CMAKE\_SYSTEM\_NAME Generic)  
set(CMAKE\_SYSTEM\_PROCESSOR arm)  
set(CMAKE\_C\_COMPILER arm-none-eabi-gcc)  
set(CMAKE\_CXX\_COMPILER arm-none-eabi-g++)  
set(CMAKE\_ASM\_COMPILER arm-none-eabi-as)  
set(CMAKE\_LINKER arm-none-eabi-ld)  
set(CMAKE\_TRY\_COMPILE\_TARGET\_TYPE STATIC\_LIBRARY)  
set(CMAKE\_C\_FLAGS “${CMAKE\_C\_FLAGS}”)  
set(CMAKE\_CXX\_FLAGS “${CMAKE\_CXX\_FLAGS}”)  
set(CMAKE\_EXE\_LINKER\_FLAGS “${CMAKE\_EXE\_LINKER\_FLAGS}”)  
project (Test)  
set(STM32CUBE\_HAL\_PATH “C:/Users/rsridx/Downloads/edge\_torch\_remote-main/Advanced/Drivers/STM32G0xx\_HAL\_Driver”)  
set(STM32CUBE\_CMSIS\_PATH “C:/Users/rsridx/Downloads/edge\_torch\_remote-main/Advanced/Drivers/CMSIS”)  
set(FREERTOS\_PATH “C:/Users/rsridx/Downloads/edge\_torch\_remote-main/Advanced/Middlewares/Third\_Party/FreeRTOS”)  
file(GLOB SRC\_FILES  
${CMAKE\_CURRENT\_SOURCE\_DIR}/Src/_.c  
${CMAKE\_CURRENT\_SOURCE\_DIR}/Src/lin/_.c  
${CMAKE\_CURRENT\_SOURCE\_DIR}/Src/lcd/_.c  
${CMAKE\_CURRENT\_SOURCE\_DIR}/Src/eacp/_.c  
${STM32CUBE\_HAL\_PATH}/Src/_.c  
${FREERTOS\_PATH}/Source/_.c  
${FREERTOS\_PATH}/Source/portable/MemMang/_.c  
${FREERTOS\_PATH}/Source/portable/GCC/ARM\_CM0/_.c  
${FREERTOS\_PATH}/Source/CMSIS\_RTOS\_V2/\*.c  
)  
file(GLOB INC\_FILES  
${CMAKE\_CURRENT\_SOURCE\_DIR}/Inc  
${CMAKE\_CURRENT\_SOURCE\_DIR}/Inc/lin  
${CMAKE\_CURRENT\_SOURCE\_DIR}/Inc/lcd  
${CMAKE\_CURRENT\_SOURCE\_DIR}/Inc/eacp  
${STM32CUBE\_HAL\_PATH}/Inc  
${STM32CUBE\_HAL\_PATH}/Inc/Legacy  
${STM32CUBE\_CMSIS\_PATH}/Include  
${STM32CUBE\_CMSIS\_PATH}/Device/ST/STM32G0xx/Include  
${FREERTOS\_PATH}/Source/include  
${FREERTOS\_PATH}/Source/portable/GCC/ARM\_CM0  
${FREERTOS\_PATH}/Source/CMSIS\_RTOS\_V2  
)  
add\_executable (Test ${SRC\_FILES})  
target\_include\_directories(Test PUBLIC ${INC\_FILES})  
target\_link\_libraries(Test -Wl,–start-group -lgcc -lc -lm -lrdimon -Wl,–end-group  
)  
set\_target\_properties(Test PROPERTIES SUFFIX “.elf”)  
add\_custom\_command(TARGET Test POST\_BUILD  
COMMAND ${CMAKE\_OBJCOPY} -O ihex $\<TARGET\_FILE:Test\> ${CMAKE\_CURRENT\_BINARY\_DIR}/Test.hex  
COMMAND ${CMAKE\_OBJCOPY} -O binary $\<TARGET\_FILE:Test\> ${CMAKE\_CURRENT\_BINARY\_DIR}/Test.bin  
)

Later I came to know that the ARM cortex is not specified in the cmake flags  
**set(CMAKE\_C\_FLAGS “${CMAKE\_C\_FLAGS} -mcpu=cortex-m4 -mthumb -mno-thumb-interwork -mfpu=fpv4-sp-d16 -mfloat-abi=hard”)**  
**set(CMAKE\_CXX\_FLAGS “${CMAKE\_CXX\_FLAGS} -mcpu=cortex-m4 -mthumb -mno-thumb-interwork -mfpu=fpv4-sp-d16 -mfloat-abi=hard”)**  
**set(CMAKE\_ASM\_FLAGS “${CMAKE\_ASM\_FLAGS} -mcpu=cortex-m4 -mthumb -mno-thumb-interwork -mfpu=fpv4-sp-d16 -mfloat-abi=hard”)**

This has resolved my issue! 😀
