前言
回顾上一篇SES的环境搭建,已经从基本开发流程新建了工程,并成功运行了点灯的程序。正如文中提到,由于SES是SEGGER自家IDE,有些库更新不及,该篇打算对常用的文件进行更新和工程整理,也是为了方便移植。
更新内容
CMSIS
SES下载的CMSIS版本为5.0.4,而最新CMSIS已经更新到5.7.0了。
https://github.com/ARM-software/CMSIS_5
做了一些对比图,感兴趣的可以通过对比的路径自行查看具体更新细节。
而关于CMSIS_DSP变化就较大了,最新的DSP库新增了exp和log的计算函数。
GD32外设库
查询了一下GD32的官方固件库, 也已经更新到了 V2.1.0
http://www.gd32mcu.com/cn/download/7?kw=GD32F3
同样做了个对比,两个版本差别不大,但避免有坑,还是建议使用最新的外设库
SEGGER_RTT
SES默认使能了RTT,并绑定了printf,虽然使用上非常方便,但如果考虑到移植,比如移植到KEIL或IAR,就显得很麻烦,这里将RTT分离出来手动添加,对比两个版本,差别不大,只是独立版本添加了更多的宏定义
开整
首先创建工程目录,新建一个工程为Template用来实现上一篇的LED工程。
依次向各个文件夹添加相应的文件
添加CMSIS_CORE
和CMSIS_DSP
添加固件库
添加启动文件
添加SES工程组件
添加之前的工程文件
打开工程文件.emProject
,首先修改工程名称,然后依次修改之前工程的文件路径。
到这里,初步修改已经完成。打开工程编译发现没有错误。
接下来第二步,加载我们新的CMSIS和RTT,右击工程,点击Options。
依次选择Common
,Show Modified Options Only
,关闭CMSIS和Library
再次编译会报错,可以试试 ๑乛◡乛๑
在工程路径中添加我们所需要头文件路径
在工程中添加RTT模组
到此就大功告成了。
编译无错,调试无问题。