• MM32F5270 Keil开发环境搭建


    本文完整记录了——如何从零搭建MM32F5270 Keil开发环境以及如何编译运行MM32F5270 SDK中的hello_world示例。本文写作过程中参考了一些链接,具体可以在本文末尾找到,感兴趣的读者可以自行查阅。其中,灵动官网提供了最新的芯片用户手册,逐飞科技的网盘中提供了开发板原理图和硬件试用说明,这些资料在后续的开发过程中是经常需要查阅的,建议下载;灵动SDK下载页面提供了在线的API参考,建议收藏。

    零、MM32F5270开发板简介

    本次试用的开发板是逐飞科技设计生产的PLUS-MM32F5270,它是灵动官方推荐的PLUS Board系列之一,也是2022年全国大学生物联网设计竞赛 安谋科技&灵动微电子赛题 的板子。板载资源十分丰富,外观如下:
    PLUS-F5270
    开发板功能框图(来自逐飞科技的试用说明文档):
    PLUS-F5270开发板功能框图
    板子包装内附赠了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:
    mindsdk_build_page.png

    3.2 下载MM32F5270 SDK

    稍等片刻,页面自动跳转到Build dashboard页面。点击中间的 Windows mdk_plus-f5270 链接后,自动跳转到刚刚触发创建的结果页面:
    mindsdk_build_dashboard.png
    点击“Download Board Package”开始下载SDK,文件名为 plus-f5270_mdk.zip。

    四、编译hello_world示例

    4.1 打开hello_world工程

    解压开 plus-f5270_mdk.zip 文件,可以看到SDK内的文件目录顶层结构如下:
    plus-f5270_mdk.png
    打开demo_apps\demo_apps\basic\hello_world子目录:
    mm32f5270_hello_world_demo.png
    其中,build子目录下有project.uvprojx文件,双击打开(Keil MDK安装成功,会自动关联.uvprojx后缀的文件)。

    4.2 构建hello_world工程

    使用F7快捷键,或者左上角的Build图标,触发编译构建。

    构建完成后,可以看到Build Output子窗体输出了程序空间占用情况:
    mdk_build_done.png

    五、连接PWLINK2调试器和USB串口

    5.1 连接PWLINK2调试器

    PWLINK2调试器用于开发板的程序烧录和调试,它的一端可以通过USB-A接口连接到电脑,另一端可以通过杜邦线连接到开发板。

    开始调试之前,首先需要将PWLINK2和开发板通过附带的杜邦线连接起来。PWLINK2附带的杜邦线,10pin固定的一头带有凸起,直接插入PWLINK2的10针接口上即可。

    接下来,需要将杜邦线散开的一头与开发板的调试接口相连。PLUSF5270开发板调试接口的针脚标注如下图所示:
    plus-f5270_swd.jpg
    (图片来自,逐飞科技网盘《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驱动),如下图所示:
    device_manager.png

    六、配置Keil项目的调试器

    6.1 修改Keil MDK项目的调试器配置

    Keil项目默认的调试器是ULINK2,无法直接用于PWLINK2。

    右击Project视图中的“Target 1”,或者点击工具栏第二行的魔术棒图标,弹出“Options for ‘Target 1

    ”窗口,如下图所示:
    mdk_options_target1.png

    点击Debug标签,Use下拉选择“CMSIS-DAP”调试器(因为附赠的PWLINK2运行的固件是CMSIS-DAP),如下图所示:
    mdk_options_debug_probe.png

    配置到这里,一般就可以烧录和调试了。

    七、烧录和运行hello_world示例

    7.1 烧录hello_world程序

    以上操作完成后,点击界面上的下载图标,或者按F8快捷键,即可开始烧录。

    烧录过程中,状态栏会显示进度。烧录完成后,Build Output窗口可以看到所用时间的输出:
    mdk_download_done.png

    7.2 运行hello_world程序

    烧录完成后,使用串口助手或者其他串口工具连接到前面设备管理器中新增的CH340的串口上,我的是COM7,我这里使用的是MobaXterm,串口参数:

    • 波特率:9600
    • 数据位:8
    • 奇偶校验:无
    • 停止位:1

    如下图所示:
    moba_settings.png
    点OK打开串口。

    MobaXterm打开串口后,按开发板的复位按键。可以看到串口输出:
    hello_world.png

    7.3 设置下载后自动复位

    按照前面的步骤,烧录完成后,需要手动按复位按键让程序运行。如果程序反复修改,或者需要进行断点调试的话,每次都要按复位才能运行程序稍显麻烦。因此,建议开启“下载后复位”选项,下面介绍如何操作。

    点击“Options for ‘Target 1”窗口中Use右侧的Settings,弹出CMSIS-DAP设置界面,如下图所示:
    mdk_cmsis_dap_setup.png

    这里可以看到,SW Device中已经显示了一个设备,说明调试接口已经正常连接并通讯了。

    点击Flash Download标签,勾选Reset and Run:
    mdk_cmsis_dap_setup_2.png
    这样每次下载之后自动复位主控芯片,方便调试。这一步不是必须设置的,但如果不设置,下载完成后,需要手动按复位按键,对主控芯片进行复位。

    八、参考链接

    本篇是对灵动官网资料和技术社区已有的几篇环境搭建帖的整理和总结。主要参考了以下内容:

    1. 【灵动官网】PLUS-F5270开发板介绍(含资料链接): https://www.mindmotion.com.cn/support/development_tools/evaluation_boards/plus_board/mm32f5277e9pv/
    2. 【灵动官网】MM32F5270芯片介绍(含资料链接): https://www.mindmotion.com.cn/products/mm32mcu/mm32f/mm32f_performance/mm32f5270/
    3. 【技术社区】基于灵动MM32F5系列芯片的PLUS-F5270开发板资料(包含逐飞科技网盘链接): https://aijishu.com/a/1060000000341750
    4. 【技术社区】[MM32F5270开发板试用] 基本开发环境搭建篇: https://aijishu.com/a/1060000000346688
    5. 【技术社区】带灵动微MM32F5的Plus-F5270开发板怎么玩? https://aijishu.com/a/1060000000341495

    本文首发于极术社区,部分内容修改后再次发布,原文链接:https://aijishu.com/a/1060000000346928

  • 相关阅读:
    单点登录和分布式登入用户状态储存
    MQ基础介绍
    日志打印的碎碎念总结
    golang平滑重启库overseer实现原理
    C++ Among Us 太空狼人杀(上半部分)
    python 读取pdf 将每页转成jpg
    Kafka磁盘写满日志清理操作
    项目中遇到的LocalDateTime时间格式转换问题
    LIO-EKF: 运行数据UrbanNav与mid360设备详细教程
    OB_MYSQL UPDATE 优化案例
  • 原文地址:https://blog.csdn.net/xusiwei1236/article/details/126400292