提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
在Clion中利用CubeMX使用DSP库
前言
一直使用Keil对stm32进行开发,但是过于陈旧的UI设计不太美观,于是尝试了使用Clion这个IDE来编写嵌入式代码。但是最近想使用ST的DSP库发现在Cubemx里勾选DSP后不能直接使用,查阅了一些资料搞定以后记录一下。
一、什么问题
之前使用Keil的时候,使用DSP库只需要在添加库文件以及路径后,在魔术棒中的C/C++栏添加ARM_MATH_CM4宏定义
然后选择单精度浮点即可
但是Clion使用Cmake管理工程,不知道在哪里添加宏指令。
二、添加步骤
1.CubEMX勾选DSP库
在Select Components中选择DSP Library,如果没有下载会自动下载。
然后勾选DSP Library Library,点击GENERATE CODE
2.在Clion中配置
打开CMakeLists_template.txt文件
找到如图所示部分
取消代码注释(示例):
#Uncomment for hardware floating point
add_compile_definitions(ARM_MATH_CM4;ARM_MATH_MATRIX_CHECK;ARM_MATH_ROUNDING)
add_compile_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
add_link_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
然后在如图代码下添加语句
#这句是自动生成的
add_executable($${PROJECT_NAME}.elf $${SOURCES} $${LINKER_SCRIPT})
#添加的是这句
target_link_libraries(${PROJECT_NAME}.elf ${CMAKE_SOURCE_DIR}/Middlewares/ST/ARM/DSP/Lib/libarm_cortexM4lf_math.a)
之后再在Cubemx中点击GENERATE CODE,CMakeLists.txt中会更新刚刚添加在CMakeLists_template.txt中的内容,之后再重新加载Cmake项目即可使用DSP库了。
总结
记录一下解决方法免得遗忘,解决方法参考了B站UP主@成电电子科协
https://www.bilibili.com/read/cv19024271/