本文完整记录了——如何从零搭建MM32F5270 Keil开发环境以及如何编译运行MM32F5270 SDK中的hello_world示例。本文写作过程中参考了一些链接,具体可以在本文末尾找到,感兴趣的读者可以自行查阅。其中,灵动官网提供了最新的芯片用户手册,逐飞科技的网盘中提供了开发板原理图和硬件试用说明,这些资料在后续的开发过程中是经常需要查阅的,建议下载;灵动SDK下载页面提供了在线的API参考,建议收藏。
零、MM32F5270开发板简介
本次试用的开发板是逐飞科技设计生产的PLUS-MM32F5270,它是灵动官方推荐的PLUS Board系列之一,也是2022年全国大学生物联网设计竞赛 安谋科技&灵动微电子赛题 的板子。板载资源十分丰富,外观如下:
开发板功能框图(来自逐飞科技的试用说明文档):
板子包装内附赠了PWLINK2调试器、USB Type-C线、杜邦线。
一、Keil下载和安装
1.1 下载Keil MDK
由于MM32F5270的CPU核是STAR-MC1,而Keil MDK 5.37才添加了对它的支持,因此必须下载MDK 5.37版本才能支持MM32F5270的开发(具体可以参考Keil MDK 5.37的Release Note)。
Keil MDK官网下载链接:https://www2.keil.com/mdk5 (需要注册,下载速度略慢)
国内5.37版本下载链接:https://download.armfly.com/armbbs/bbs/96992/MDK537.EXE
MD5: 9a3e824a57eb370555826d53f2f6056d (国内下载完成后,记得md5sum校验一下)
1.2 安装Keil MDK
MDK安装,默认设置,一路下一步就好了,没啥难度,不再详细介绍。
1.3 激活Keil MDK
首先,下载KeyGen程序(可以生成2032年的,亲测有效): https://pan.baidu.com/s/1oZPXu8OkkZ2EXuePwGbu0A?pwd=keil
下载完成后,解压开keil_keygen_2032。
Keil MDK安装好了之后,打开Keil uVision5。通过 File→License Management菜单,打开License Management界面。在License Management界面中,复制CID。
打开keil_keygen_2032.exe,粘贴CID,Target选择ARM,点Generate生成License ID Code(LIC)。将生成的LIC复制到Keil的License Management界面,粘贴到“New License ID Code”文本框中,点”Add LIC”即可激活Keil。
二、MM32F5270 Keil Pack下载和安装
2.1 下载MM32 Keil Pack
MM32 Keil Pack下载链接:https://mindmotion.com.cn/support/software/keil_pack/
官网提供的是一个压缩包,里面有灵动MM32系列所有芯片的Keil Pack。
2.2 安装MM32 Keil Pack
解压后,双击 MindMotion.MM32F5277E_DFP.0.0.7.pack 文件安装MM32F5270支持包(Keil安装成功后,会自动关联.pack文件)。
三、MM32F5270 SDK下载
MM32F5270 SDK下载链接:https://mindsdk.mindmotion.com.cn/(需要注册账号登录下载)
PS:建议从官网注册下载,一方面来源可靠,另一方面可以保证下载的是最新版本(SDK也会有更新)。
3.1 构建MM32F5270 SDK
登录账号后,默认显示sdk-create页面。在该页面中,Toolchain选择mdk,Board选择plus-f5270,点击BUILD PROJECT开始创建SDK:
3.2 下载MM32F5270 SDK
稍等片刻,页面自动跳转到Build dashboard页面。点击中间的 Windows mdk_plus-f5270 链接后,自动跳转到刚刚触发创建的结果页面:
点击“Download Board Package”开始下载SDK,文件名为 plus-f5270_mdk.zip。
四、编译hello_world示例
4.1 打开hello_world工程
解压开 plus-f5270_mdk.zip 文件,可以看到SDK内的文件目录顶层结构如下:
打开demo_apps\demo_apps\basic\hello_world子目录:
其中,build子目录下有project.uvprojx文件,双击打开(Keil MDK安装成功,会自动关联.uvprojx后缀的文件)。
4.2 构建hello_world工程
使用F7快捷键,或者左上角的Build图标,触发编译构建。
构建完成后,可以看到Build Output子窗体输出了程序空间占用情况:
五、连接PWLINK2调试器和USB串口
5.1 连接PWLINK2调试器
PWLINK2调试器用于开发板的程序烧录和调试,它的一端可以通过USB-A接口连接到电脑,另一端可以通过杜邦线连接到开发板。
开始调试之前,首先需要将PWLINK2和开发板通过附带的杜邦线连接起来。PWLINK2附带的杜邦线,10pin固定的一头带有凸起,直接插入PWLINK2的10针接口上即可。
接下来,需要将杜邦线散开的一头与开发板的调试接口相连。PLUSF5270开发板调试接口的针脚标注如下图所示:
(图片来自,逐飞科技网盘《PLUS-F5270 硬件使用说明》中的“调试接口连接方式”插图)
结合PWLINK2正面的丝印,这里至少要连接4根线:
GND,地线
RST,复位信号
SWDIO,SWD接口输入输出信号
SWDCLK,SWD接口时钟信号
(因为需要另接一根USB串口线,可以供电,所以这里不需要连接3.3v)
最后,将PWLINK2的另一端插入到电脑的USB口上。
5.2 连接USB串口
另外,需要通过将开发板的USB-UART口连接到电脑,以便接收和查看串口输出。
开发板的USB-UART口和主控芯片MM32F5270之间已有一个CH340 USB转串口芯片。
因此,直接使用附赠的USB Type-C线,一段插入到开发板的USB-UART口,另一端插入电脑即可。
连接正常后,设备管理器中将会显示一个CH340的串口设备(如果没有正常识别,可以去沁衡官网下载CH340驱动),如下图所示:
六、配置Keil项目的调试器
6.1 修改Keil MDK项目的调试器配置
Keil项目默认的调试器是ULINK2,无法直接用于PWLINK2。
右击Project视图中的“Target 1”,或者点击工具栏第二行的魔术棒图标,弹出“Options for ‘Target 1
”窗口,如下图所示:
点击Debug标签,Use下拉选择“CMSIS-DAP”调试器(因为附赠的PWLINK2运行的固件是CMSIS-DAP),如下图所示:
配置到这里,一般就可以烧录和调试了。
七、烧录和运行hello_world示例
7.1 烧录hello_world程序
以上操作完成后,点击界面上的下载图标,或者按F8快捷键,即可开始烧录。
烧录过程中,状态栏会显示进度。烧录完成后,Build Output窗口可以看到所用时间的输出:
7.2 运行hello_world程序
烧录完成后,使用串口助手或者其他串口工具连接到前面设备管理器中新增的CH340的串口上,我的是COM7,我这里使用的是MobaXterm,串口参数:
波特率:9600
数据位:8
奇偶校验:无
停止位:1
如下图所示:
点OK打开串口。
MobaXterm打开串口后,按开发板的复位按键。可以看到串口输出:
7.3 设置下载后自动复位
按照前面的步骤,烧录完成后,需要手动按复位按键让程序运行。如果程序反复修改,或者需要进行断点调试的话,每次都要按复位才能运行程序稍显麻烦。因此,建议开启“下载后复位”选项,下面介绍如何操作。
点击“Options for ‘Target 1”窗口中Use右侧的Settings,弹出CMSIS-DAP设置界面,如下图所示:
这里可以看到,SW Device中已经显示了一个设备,说明调试接口已经正常连接并通讯了。
点击Flash Download标签,勾选Reset and Run:
这样每次下载之后自动复位主控芯片,方便调试。这一步不是必须设置的,但如果不设置,下载完成后,需要手动按复位按键,对主控芯片进行复位。
|