RT-Thread下使用env工具一键添加ARM-DSP库

5-23

rtt官方有cmsis支持包,,,,又白造轮子了哎


本文主要介绍,如何使用rt-thread的scons工具添加DSP库组件

1. 准备所需文件

在bsp目录下建立文件夹,添加以下文件

RT-Thread下使用env工具一键添加ARM-DSP库_第1张图片

其中.a文件是gcc工具链使用的静态库,.lib文件是keil编译所需的库,笔者没有使用iar工具,故此处没有添加iar工具的对应库文件.

2. 编辑SConscript文件

这里直接给出脚本内容,具体含义可以参考rtt官方的scons手册

Import('rtconfig')
from building import *

cwd = GetCurrentDir()
src = Split('''
''')
CPPPATH = [cwd]             # 将当前路径加入构建搜索的头文件路径
LIBPATH = [cwd]             # LIBPATH 指定库的路径,表示库的搜索路径是当前目录

if rtconfig.CROSS_TOOL == 'gcc':
    LIBS = ['arm_cortexM4lf_math']                    # GCC 下 LIBS 指定库的名称
elif rtconfig.CROSS_TOOL == 'keil':
    LIBS = ['arm_cortexM4lf_math']                # ARMCC 下 LIBS 指定库的名称
else:
    LIBS = ['libabc_iar']                 # IAR 下 LIBS 指定库的名称

CPPDEFINES = ['ARM_MATH_LOOPUNROLL']
CPPDEFINES = ['ARM_MATH_CM4']

group = DefineGroup('arm-dsp', src, depend = ['RT_USING_ARMDSP'], LIBS = LIBS, LIBPATH=LIBPATH, CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)

Return('group')

3. 编辑Kconfig

这里直接编辑board下的Kconfig,添加使能DSP库选项

RT-Thread下使用env工具一键添加ARM-DSP库_第2张图片

config RT_USING_ARMDSP
    bool "Enable ARM-DSP Lib"
    select RT_USING_ARMDSP
    default n

到这里准备工作就完成了,下面介绍如何使用

4. 使用

打开bsp目录,使用menuconfig使能DSP库

RT-Thread下使用env工具一键添加ARM-DSP库_第3张图片

然后导出代码

 scons --dist --target=cmake --project-name=dsp-test

RT-Thread下使用env工具一键添加ARM-DSP库_第4张图片

测试cmake工程

RT-Thread下使用env工具一键添加ARM-DSP库_第5张图片

结果如下,完美计算出正弦值,移植成功。

RT-Thread下使用env工具一键添加ARM-DSP库_第6张图片

同样生成mdk工程,进入生成的目录下,执行

scons --target-=mdk5

编译烧录后结果相同,移植成功。

你可能感兴趣的:(stm32)