在arm cortex-M4上使用DSP指令(C语言扩展)
Using DSP instructions on arm cortex-M4 (C-language extension)
我正在使用 CooCox CoIDE 和 GCC ARM 嵌入式 4.9q2,我使用 cmsis 库,在 ARM Cortex-M4 STM32F3 MCU 上编程。
我目前正在尝试在中断内进行一些快速饱和运算。我的印象是我可以使用 ARM C 语言扩展 (ACLE) 来避免在我的 C 代码中插入一些汇编程序。
但是,当我调用像 __qadd16(a,b) 这样的函数时,我得到一个 "undefined reference" 错误。
我想我要包含更多内容或要指定编译器选项以启用 ACLE,但我不知道具体是哪个。
所以我的问题是:
有可能还是我误解了ACLE的使用??
调用这些函数的程序是什么?他们不是 arm GCC 的一部分吗?如果没有,我应该包括什么?
提前致谢!
你应该
#include <core_cm4_simd.h>
来自 CMSIS headers。它将指令定义为内联函数,前缀为 __
.
我正在使用 CooCox CoIDE 和 GCC ARM 嵌入式 4.9q2,我使用 cmsis 库,在 ARM Cortex-M4 STM32F3 MCU 上编程。
我目前正在尝试在中断内进行一些快速饱和运算。我的印象是我可以使用 ARM C 语言扩展 (ACLE) 来避免在我的 C 代码中插入一些汇编程序。
但是,当我调用像 __qadd16(a,b) 这样的函数时,我得到一个 "undefined reference" 错误。
我想我要包含更多内容或要指定编译器选项以启用 ACLE,但我不知道具体是哪个。
所以我的问题是:
有可能还是我误解了ACLE的使用??
调用这些函数的程序是什么?他们不是 arm GCC 的一部分吗?如果没有,我应该包括什么?
提前致谢!
你应该
#include <core_cm4_simd.h>
来自 CMSIS headers。它将指令定义为内联函数,前缀为 __
.