GD32F470 MDK AC DSP库移植流程

前言

花费了将近大半天的时间,故简单记录一下,避免自己忘记,还未经更多的测试,所以仅供参考。

由于CMSIS的更新,在CMSIS v5.7.0版本之后,CMSIS-DSP 中已不再提供编译好的 lib文件。并且GitHub CMSIS仓库中的DSP部分已经独立出新的仓库,可以自行下载DSP库最新的版本,而不必在MDK安装目录下的ARM/CMSIS中进行复制,CMSIS-DSP仓库地址

移植过程中,最关键的问题是GD32提供的CMSIS接口文件版本比较早,与目前CMSIS-DSP库不匹配。即下图所示,其中主要是core_cm4.h这个文件,如果不移植CMSIS v5.9.0中的版本,DSP库无法移植成功。

其次,是要注意下图中的2个头文件文件都需要移植,源文件当然也是必须的。

下面简述一下步骤。

1、搭建GD32F470 MDK AC6工程

这里没什么好说的,每个人的风格不同,参考GD32官方的移植就行。

2、启用浮点运算

如何CHECK浮点是否开启,可以自行搜索一下,笔者是通过DEBUG查看寄存器值和查看代码中的宏有没有定义操作的。

3、配置全局宏定义

外设库相关: USE_STDPERIPH_DRIVER,GD32F470,

DSP库相关: ARM_MATH_CM4,ARM_MATH_MATRIX_CHECK,ARM_MATH_ROUNDING,ARM_MATH_LOOPUNROLL

这里的含义可以参考安富莱DSP教程中的移植说明,感谢下开源的教程,下载地址

推荐Warnings选项选择AC5-like

4、移植CMSIS和CMSIS-DSP库代码,添加源文件和头文件路径

首先是更新core_cm4.h和其他相关文件,找到自己工程下存放CMSIS库的目录。

更新后如下图。

其次是DSP的库文件,包括下图中的三个文件夹。

MDK中添加源文件,要注意一下添加每个库中的主要源文件即可,文件内已经include其他相关源文件。

这里有个笔者疑惑的地方,F16的版本是什么意思,截至目前还未去了解,主要还是还是在进行库的移植测试。有了解的同学可以评论或者私信告诉我,谢谢。

接下来是添加头文件路径。

5、编译工程,测试DSP库

首先包含头文件,笔者对比测试下二者有什么精度差异

差别好像不是很明显,后续慢慢学习库的使用吧。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gd32f470是一款高性能的微控制器,而emwin是一个功能强大的嵌入式图形界面软件。要在gd32f470移植emwin,首先需要了解gd32f470的硬件特性和emwin的软件要求。 gd32f470具有丰富的硬件资源,包括高性能的ARM Cortex-M4内核、大容量的Flash存储器和SRAM、多个通信接口等。emwin则需要至少16位的处理器和足够的存储空间来运行。 首先,我们需要下载emwin软件包,并按照官方提供的移植指南进行相应的设置。在移植过程中,需要根据gd32f470的硬件资源和emwin的软件要求进行适配。例如,配置gd32f470的时钟源和时钟频率,为emwin提供足够的运行速度。 然后,根据gd32f470的外设资源和emwin的功能需求,进行相关的引脚配置和中断配置。如需使用触摸屏功能,需要配置相应的引脚和中断。同时,根据实际需求,可能还需要对外设进行初始化和设置。 接下来,在项目中包含emwin的源代码文件,并根据gd32f470的编译器和开发环境进行相关的编译和链接设置。确保编译器正确地识别emwin的源代码,并生成适合gd32f470的可执行文件。 最后,在应用程序中调用emwin的相关函数,来实现图形界面的绘制和控制。可以根据需要,编写应用程序来显示图像、文本、按钮等元素,并对其进行交互。 移植过程中,需要注意解决可能出现的硬件兼容性和软件冲突问题。通过逐步调试和测试,可以确保gd32f470上的emwin移植成功,并实现相应的图形界面功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值