--library=arm_cortexM0l_math --library=arm_cortexM0_math这个添加在哪里?
时间: 2024-02-02 22:02:43 浏览: 215
在Keil中,可以在工程的 Options for Target 中设置编译器和链接器选项。
具体操作如下:
1. 打开 Keil 工程,选择菜单栏中的 Project -> Options for Target。
2. 在弹出的对话框中,选择 C/C++ Tab。
3. 在 C/C++ Tab 中,将 C99 Mode 选项设置为 C99,并勾选 Use C99 inline functions 选项。
4. 在弹出的对话框中,选择 Linker Tab。
5. 在 Linker Tab 中,在下方的命令行选项中添加链接器选项 `--library=arm_cortexM0l_math --library=arm_cortexM0_math`。
6. 点击 OK 按钮保存设置即可。
添加链接器选项后,重新编译工程,应该可以解决 undefined symbol __mulsc3 和 undefined symbol __divsc3 错误。
相关问题
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, ARM_MATH_CM0, and ARM_MATH_CM0+_are different Cortex-M processor cores from ARM, and the suffixes denote the specific core that the math library is optimized for.
ARM_MATH_CM7 is optimized for Cortex-M7 processors, which are high-performance microcontrollers with advanced features like a dual-issue pipeline, a floating-point unit, and a DSP instruction set.
ARM_MATH_CM4 is optimized for Cortex-M4 processors, which are similar to Cortex-M7 processors but with slightly lower performance and fewer features.
ARM_MATH_CM3 is optimized for Cortex-M3 processors, which are lower-performance microcontrollers that lack floating-point hardware.
ARM_MATH_CM0 is optimized for Cortex-M0 processors, which are even lower-performance microcontrollers that are designed for cost-sensitive applications.
ARM_MATH_CM0+ is optimized for Cortex-M0+ processors, which are similar to Cortex-M0 processors but with added features like a single-cycle multiply instruction.
keil中进行复数的计算,报错“undefined symbol __mulsc3”和“undefined symbol __divsc3”
这个错误通常是因为编译器没有正确引入复数库文件所致。在Keil中进行复数计算,需要使用C99标准库中的复数类型,并且需要在编译选项中指定使用C99标准,同时链接对应的复数库文件。具体的步骤如下:
1. 在Keil的工程选项中,选择C/C++选项卡,将C99 Mode选项设置为C99,并勾选Use C99 inline functions选项。
2. 在编译选项中,添加链接复数库文件的命令。具体的命令以及库文件名称可能会因为所使用的CPU型号和编译器版本而有所不同。例如,对于使用ARM Cortex-M系列处理器的Keil工程,可以在编译选项中添加如下链接命令:
```
--library=arm_cortexM0l_math --library=arm_cortexM0_math
```
其中,`arm_cortexM0l_math` 和 `arm_cortexM0_math` 分别是针对 Cortex-M0+ 和 Cortex-M0 处理器的复数库。如果使用的是其他型号的处理器,请根据实际情况修改链接命令。
3. 在代码中正确引用复数类型,并使用对应的函数进行计算。例如,可以使用 `<complex.h>` 头文件中的 `complex` 类型,以及对应的 `creal`、`cimag`、`cabs`、`cexp`、`clog`、`csin`、`ccos`、`ctan`、`cacos`、`casin`、`catan`、`cpow`、`csqrt` 函数进行计算。
使用以上方法,应该可以解决您遇到的问题。如果还有其他问题,请随时提出。
阅读全文