STM32/STM8技术论坛
直播中

硬汉Eric2013

9年用户 1035经验值
擅长:嵌入式技术
私信 关注
[经验]

【安富莱——DSP教程】第6章 ARM官方DSP库的移植

`第6章  ARM官方DSP库的移植
    本期教程主要讲解ARM官方DSP库的移植和一些相关知识的介绍。
    6.1 DSP库的下载和说明
    6.2 DSP库在MDK上的移植
    6.3 简易DSP库函数验证
    6.4 总结

`

回帖(4)

硬汉Eric2013

2015-6-2 10:27:42
本帖最后由 硬汉Eric2013 于 2015-6-2 10:30 编辑

6.1  DSP库的下载和说明
    下面详细的给大家讲解一下官方DSP库的移植。

6.1.1  DSP库的下载
    DSP库是包含在CMSIS(Cortex Microcontroller Software Interface Standard)里面的,所以下载DSP库也就是下载CMSIS。有两个地方可以下载CMSIS,一个是ARM官网,一个是ST官网。首先说一下如何在ARM官网下载。
l  第一步:登陆ARM官方网址:http://www.arm.com/zh/
l  第二步:注册一个ID号,ARM官网不像ST官网,不注册就可以下载大部分资料,在ARM官网下载资料一定要注册一个ID。
6.1.png

l  第三步:具体注册过程就不多说了,按照提示步骤走即可。注册后可以简单的熟悉一下ARM官网的结构,然后查询我们需要下载的CMSIS,也可以直接在这里检索CMSIS即可。
6.2.png

    n  检索后打开界面如下:
6.3.png

    n 点击进去后,如下就是我们要找的CMSIS
       6.4.png
关于ST官方上CMSIS的下载就不在这里赘述了,在STM32-V5开发板用户手册第5章:ST官方固件库介绍有详细的说明。

6.1.2  DSP库的说明
    这里我们以ST官方的F4系列固件库V1.3.0为标准进行移植。打开固件库里面的CMSIS文件,可以看到如下几个文件:
6.5.png

l  其中DSP_Lib中的文件如下:
6.6.png

Examples中的文件如下(这些是ARM官方提供的DSP实例):
6.7.png

Source中的文件如下(这些是DSP库的源文件):
6.8.png

一般情况下不建议将源文件加到工程里面,直接将ARM官方整理好的DSP库文件加入到工程中即可。不过需要查看库文件源码实现的话,可以加入源文件。
l Lib文件夹中就是DSP库文件
    打开后主要有以下三个文件夹:
6.9.png

    其中ARM文件夹中是我们可以加入到MDK中的DSP库,主要有以下几个版本:
6.10.png

    其中最后一个arm_cortexM4lf_math.lib是用于Cortex-M4系列带FPU的DSP库文件(l表示小端格式,b表示大端格式)。

举报

硬汉Eric2013

2015-6-2 10:35:18
本帖最后由 硬汉Eric2013 于 2015-6-2 10:37 编辑

6.2  DSP库在MDK上的移植
    下面我们讲解一下如何在MDK上面移植DSP库,DSP库的移植相对比较容易。这里我们仅介绍如何移植DSP库到MDK上面,官方没有IAR版本的库,所以无法提供移植(可以尝试将源码在IAR中进行编译)。

6.2.1  第一步:建立MDK工程并添加DSP库
    为了方便起见,我们这里不再专门建立一个MDK工程了,直接以V5开发板中的例子:V5-101_按键检测和LED控制例程为模板进行添加即可。打开这个实例并在左侧添加针对Cortex-M4F的DSP库。

6.11.png

6.2.2  第二步:添加头文件路径
    添加DSP所需的头文件路径,这个头文件路径是已经在工程中添加好的,这里只是跟大家强调一下。

6.12.png

6.2.3  第三步:添加宏定义
    添加宏定义如下(这里将STM3240XX换成了STM32F40_41xxx):

6.13.png



6.2.4  第四步:开启
FPU
    需要客户通过MDK开启FPU,开启方法如下:
6.14.png
另外根据ARM官方DSP库的要求,还需要设置宏__FPU_PRESENT为1,不过这个宏已经在文件stm32f4xx.h中设置了(为保险起见,建议把__FPU_PRESENT在第三步的地方也加上,因为部分DSP函数会因为没有这个声明而报错)。

6.15.png



6.2.5  第五步:添加头文件
arm_math.h
    用到DSP库函数的相应的文件得添加#include"arm_math.h"的支持。
按照上面五部操作即可完成DSP库的移植,移植好我们通过几个DSP库中的函数验证下是否正确。

举报

硬汉Eric2013

2015-6-2 10:40:00
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

硬汉Eric2013

2015-6-2 10:40:57
6.4  总结
    本期教程主要跟大家介绍了官方DSP库的移植,相对来说移植也比较简单,建议初学的同学按照这个步骤移植一遍。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分