在arm cortex-M4上使用DSP指令(C语言扩展)

时间:2015-08-25 14:05:55

标签: c gcc arm

我正在使用CooCox CoIDE和GCC ARM嵌入式4.9q2,我使用cmsis库,在ARM Cortex-M4 STM32F3 MCU上进行编程。

我正在尝试在中断中做一些快速饱和的算术。我的印象是我可以使用ARM C语言扩展(ACLE)来避免在我的C代码中插入一些汇编程序。

但是,当我调用像__qadd16(a,b)这样的函数时,我得到一个“未定义的引用”错误。

我想我还有更多要包含的内容或编译器选项,以便启用ACLE,但我不知道究竟是哪一个。

所以我的问题是:

是否有可能或者我误解了ACLE的使用?

能够调用这些功能的步骤是什么?他们不是GCC的一部分吗?如果没有,我应该包括什么?

提前致谢!

1 个答案:

答案 0 :(得分:1)

你应该

#include <core_cm4_simd.h>

来自CMSIS标题。它将指令定义为内联函数,前缀为__