CMake工具链文件:CMAKE_SYSTEM_PROCESSOR用于嵌入式开发的适当值

问题描述 投票:0回答:1

[尝试阅读文档并阅读互联网上的其他示例后,我着手为嵌入式CMake指定以下变量。

set(CMAKE_SYSTEM_NAME Generic)
#set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_SYSTEM_PROCESSOR cortex-m3)

[我已经尝试将armcortex-m3都作为提供给CMAKE_SYSTEM_PROCESSOR的值,但是我仍然必须使用以下标志来手动标识要编译的体系结构。

add_compile_options(
    -mcpu=cortex-m3
    -mthumb
)

我希望这些看似明显的标志会被CMake抽象,并通过指定CMAKE_SYSTEM_PROCESSOR的值来拾取。

是我弄乱了明显的东西,还是应该在CMake工具链文件中利用不同的变量?

c++ cmake arm embedded toolchain
1个回答
0
投票

您的假设是错误的。所有手臂处理器都不同。

仅举一个示例,臂芯可以具有:

  • Thumb-1说明
  • Thumb-2说明
  • 硬件乘法(32/32/32和32/32/64)
  • 划分
  • dsp
  • 单精度浮点硬件
  • 双精度浮点硬件
  • 信任区
  • 协处理器
  • 还有更多...

因此,不存在单个M3臂内核,每个硬件制造商的实现都会有所不同。

© www.soinside.com 2019 - 2024. All rights reserved.