ARM_MATH_CM7宏定义
时间: 2023-07-02 07:09:16 浏览: 240
ARM_MATH_CM7是一个宏定义,用于告诉编译器使用适合于Cortex-M7处理器的指令集和编译选项。具体来说,它定义了一些编译器选项,包括:
1. 定义__ARM_ARCH_7EM__宏,表示使用的是Cortex-M7处理器。
2. 定义__ARM_ARCH_ISA_ARM、__ARM_ARCH_ISA_THUMB、__ARM_ARCH_ISA_A64等宏,表示使用的是ARMv7-A、Thumb-2、AArch64指令集。
3. 定义__FPU_PRESENT宏,表示处理器具有硬件浮点单元。
4. 定义__CMSIS_RTOS宏,表示使用CMSIS-RTOS操作系统。
在编写适用于Cortex-M7处理器的代码时,需要使用ARM_MATH_CM7宏定义来确保编译器使用正确的指令集和编译选项。
相关问题
Define according the used Cortex core ARM_MATH_CM7, ARM_MATH_CM4, ARM_MATH_CM3, ARM_MA
ARM_MATH_CM7, ARM_MATH_CM4, ARM_MATH_CM3, and ARM_MATH_M0/M0+ are different Cortex cores used in ARM microcontrollers.
ARM_MATH_CM7 is a Cortex-M7 core, which is a high-performance core designed for complex signal processing and control applications. It has a single-precision floating-point unit and can perform up to two instructions per clock cycle.
ARM_MATH_CM4 is a Cortex-M4 core, which is also designed for signal processing and control applications. It has a single-precision floating-point unit and can perform up to two instructions per clock cycle.
ARM_MATH_CM3 is a Cortex-M3 core, which is designed for general-purpose microcontroller applications. It does not have a floating-point unit but can perform up to three instructions per clock cycle.
ARM_MATH_M0/M0+ are Cortex-M0/M0+ cores, which are designed for low-power and cost-sensitive applications. They do not have a floating-point unit and can perform up to one instruction per clock cycle.
--cpu Cortex-M7.fp.dp *.o --library_type=microlib --strict --scatter "STM32H747I_DISCO_CM7\Exe\STM32H747I_DISCO_CM7.sct" --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols --info sizes --info totals --info unused --info veneers --list "STM32H747I_DISCO_CM7.map" -o STM32H747I_DISCO_CM7\Exe\STM32H747I_DISCO_CM7.axf
这段命令是 Keil uVision5 软件的 armclang 编译器的链接命令,用于将目标文件链接成可执行文件。这个命令包含了以下参数:
- `--cpu Cortex-M7.fp.dp`:指定链接器使用的目标处理器。
- `*.o`:指定链接器需要链接的目标文件,`*.o` 表示链接当前目录下所有的 `.o` 目标文件。
- `--library_type=microlib`:指定链接器使用的库类型为 `microlib`。
- `--strict`:启用严格模式。
- `--scatter "STM32H747I_DISCO_CM7\Exe\STM32H747I_DISCO_CM7.sct"`:指定链接器使用的链接脚本文件。
- `--summary_stderr`:将链接器的摘要信息输出到标准错误流。
- `--info summarysizes`:输出链接器的摘要信息。
- `--map`:生成链接器映射文件。
- `--load_addr_map_info`:生成可加载地址映射信息。
- `--xref`:生成交叉引用表。
- `--callgraph`:生成函数调用图。
- `--symbols`:生成符号表。
- `--info sizes`:输出每个目标文件的大小信息。
- `--info totals`:输出总大小信息。
- `--info unused`:输出未使用的符号信息。
- `--info veneers`:输出使用的 Veneer 信息。
- `--list "STM32H747I_DISCO_CM7.map"`:将链接器的详细信息输出到指定的文件中。
- `-o STM32H747I_DISCO_CM7\Exe\STM32H747I_DISCO_CM7.axf`:指定链接器生成的可执行文件的名称和路径。
你可以根据需要进行调整,例如,修改链接器使用的目标处理器、库类型、链接脚本文件等。
阅读全文