发新帖本帖赏金 30.00元(功能说明)我要提问
返回列表
打印
[MM32生态]

MM32开发环境注意事项

[复制链接]
1283|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 芯领域电子科技 于 2024-8-20 17:02 编辑

#申请原创#   @21小跑堂

最近在使用MM32的芯片开发项目,在开发过程中遇到一些注意事项,做一个记录,并分享给大家

1、开发环境
1.1、参考MM32的官方例程,常用的开发环境有2个,一个是IAR的EWARM,另一个是KEIL的MDK-ARM;
1.2、对于使用ARM Star-MC1内核的MM32系列MCU来说,EWARM需要使用9.30.1及以上的版本,MDK-ARM需要使用5.37及以上的版本;
1.3、对于使用ARM Cortex-M0/M0+/M3内核的MM32系列MCU来说,EWARM需要使用8.22.1及以上的版本,MDK-ARM需要使用5.23及以上的版本;
1.4、在使用MDK-ARM集成开发环境打开官方例程的时候,弹出Wait for Pack Installer窗口时,如下图所示:

说明当前系统环境中没有安装对应芯片的PACK支持包,这个时候我们可以通过在官网上下载芯片的PACK包进行安装(https://www.mindmotion.com.cn/support/software/keil_pack/),然后重新打开官方例程就可以了;

1.5、安装KEIL PACK包
1.6、EWARM同样也需要安装芯片的PACK包(https://www.mindmotion.com.cn/support/software/iar_pack/),在此不再重复;


2、调试/烧录工具
2.1、MM32全系列的MCU都支持SWD的调试/烧录接口,支持标准的CMSIS-DAP、J-LINK、MM32-LINK MINI工具,但市面上的DAP品类繁多,对于支持MCU的型号也不尽相同,所以建议还是使用官方的MM32-LINK MINI或者是J-LINK这两个在线调试/烧录工具;
2.2、调试/烧录工具选择J-LINK时,需要预先安装好J-LINK的驱动软件,下载地址:https://www.segger.com/downloads/jlink;

2.3、调试/烧录工具选择MM32-LINK MINI时,不需要预先安装驱动,CMSIS-DAP是一个免驱的工具,系统可以自动识别并安装;MM32-LINK MINI的相关信息链接:https://www.mindmotion.com.cn/support/development_tools/debug_and_programming_tools/mm32_link_mini

2.3、选择J-LINK作为调试/烧录工具时,在MDK-ARM的Debug配置页面,需要选择J-LINK/J-TRACE Cortex,如下所示:
在Setting配置子页面中Cortex-M0/M0+内核的芯片需要将Port选择为SW模式,Cortex-M3/ARM Star-MC1内核的芯片Port可以选择为JTAG,也可以选择为SW;如下图所示:

2.4、选择MM32-LINK MINI作为调试/烧录工具时,在MDK-ARM的Debug配置页面,需要选择CMSIS-DAP这一栏,如下所示:

CMSIS-DAP工具使用的是SW接口模式与MCU进行连接的,所以只需要SW的连接线序正确,就可以正确检测到芯片;
2.5、有些时候在打开官方例程,配置使用J-LINK时,会弹出J-Link Device Selection的窗口,如下所示:

在点击OK后,弹出的Target device settings窗口中找到的相应的Manufacturer也没有相应的芯片型号……

这表明当前J-LINK的软件版本中没有该型号的MCU,此时我们有三种解决方式:
2.5.1、下载安装最新版本的J-LINK驱动软件
2.5.2、选择芯片对应的内核

2.5.3、官网上下载安装J-LINK PACK支持包(https://www.mindmotion.com.cn/support/software/keil_pack/)

建议使用最直接拷贝的方式来安装J-LINK PACK支持包,具体的步骤是,找到J-LINK驱动软件的安装目录,然后将J-LINK PACK支持包中PackageFiles文件夹下的Devices文件夹和JLinkDevices.xml文件直接拷贝到J-LINK驱动软件的安装目录,如下所示:

2.6、对于有离线烧录需求的,在官方提供了第三方烧录器的支持列表(https://www.mindmotion.com.cn/support/third_party_tools/mm32_list),可以通过这个列表中的推荐选择适合你的离线烧录器品牌(常用的有创芯工坊、芯园电子等等);



3、官方例程、开发板及工具
3.1、官方的例程都是基于官方的Mini系列的开发板进行开发的,默认选择MM32-LINK MINI作为调试工具,所以在申请开发的时候,最好也同时申请一下MM32-LINK MINI这个调试工具;
3.2、官方开发板的调试接口默认使用SW接口方式,适用MM32全系列的MCU;同时带有RX/TX串口打印功能;开发板的调试/下载接口与MM32-LINK MINI保持一致:

3.3、如果使用J-LINK连接MM32官方的开发板需要注意哪些呢?J-LINK对于SWD接口的定义以及与芯片的连接示意图如下所示:


其中PIN4和PIN6都连接到了GND,如果直接与MM32开发相连接,可能会导致官方示例程序串口运行异常,解决这个问题的方法有两个:
一是将官方例程中的串口打印映射到其它的GPIO引脚上去,或者将相连接的串阻去除掉;
二是使用转接工具,可以参考(https://cdet.taobao.com)JTAG转SWD工具同时还支持J-LINK VCOM的连线方式,这样使用J-LINK的VCOM功能,一个转接板也实现了MM32-LINK MINI一样的功能;



使用特权

评论回复

打赏榜单

21小跑堂 打赏了 30.00 元 2024-08-26
理由:恭喜通过原创审核!期待您更多得原创作品~

评论
21小跑堂 2024-8-26 15:41 回复TA
基础的MM32单片机开发环境搭建,单片机软件开发必备技能,对新手入门有一定借鉴意义。 
沙发
芯领域电子科技|  楼主 | 2024-8-20 12:07 | 只看该作者
本帖最后由 芯领域电子科技 于 2024-8-20 16:50 编辑

使用特权

评论回复
板凳
芯领域电子科技|  楼主 | 2024-8-20 12:12 | 只看该作者
本帖最后由 芯领域电子科技 于 2024-8-20 16:43 编辑

使用特权

评论回复
地板
芯领域电子科技|  楼主 | 2024-8-20 12:13 | 只看该作者
本帖最后由 芯领域电子科技 于 2024-8-20 16:46 编辑

使用特权

评论回复
5
yangxiaor520| | 2024-8-21 08:00 | 只看该作者
这个三维展示效果还可以

使用特权

评论回复
6
xionghaoyun| | 2024-8-21 09:04 | 只看该作者
兄弟 这些是程序员的基本操作啊

使用特权

评论回复
7
芯领域电子科技|  楼主 | 2024-8-21 09:14 | 只看该作者
xionghaoyun 发表于 2024-8-21 09:04
兄弟 这些是程序员的基本操作啊

但有些刚接触的不了解哈,这不是让想用MM32的小伙伴少走弯路么……

使用特权

评论回复
8
呐咯密密| | 2024-8-21 09:43 | 只看该作者
都是基础操作,但是对小白有一定帮助

使用特权

评论回复
9
hmf1235789| | 2024-9-14 09:25 | 只看该作者
本帖最后由 hmf1235789 于 2024-9-14 09:35 编辑

正版Keil
IDE-Version:
μVision V5.36.0.0
Copyright (C) 2021 ARM Ltd and ARM Germany GmbH. All rights reserved.

Tool Version Numbers:
Toolchain:        MDK Essential 5.36 (Flex): 4 user(s)  Version: 5.36.0.0
Toolchain Path:    C:\Keil_v5\ARM\ARMCC\Bin
C Compiler:         Armcc.exe        V5.06 update 7 (build 960)
Assembler:          Armasm.exe        V5.06 update 7 (build 960)
Linker/Locator:     ArmLink.exe        V5.06 update 7 (build 960)
Library Manager:    ArmAr.exe        V5.06 update 7 (build 960)
Hex Converter:      FromElf.exe        V5.06 update 7 (build 960)
CPU DLL:               SARMCM3.DLL          V5.36.0.0
Dialog DLL:         TARMCM1.DLL          V1.14.4.0
Target DLL:             Segger\JL2CM3.dll      V2.99.40.0
Dialog DLL:         TARMCM1.DLL          V1.14.4.0

开发MM32SPIN160C芯片,按教程安装好J-link支持包后,KEIL和J-Flash V7.92e均能识别到器件,
但是只要下载或者Debug就会报
Device: R7S921040VCBG_SPIBSC_OctaFlash: Flash bank 0x30000000: No loader specified
错误,导致不能Debug
点击Debug Settings框提示错误,后才能识别到器件

用J-Flash V7.92e连接也是一样的情况


2222222.png (307.68 KB )

2222222.png

屏幕截图 2024-09-14 092444.png (15.79 KB )

屏幕截图 2024-09-14 092444.png

111111111.png (296.22 KB )

111111111.png

使用特权

评论回复
10
suncat0504| | 2024-9-17 21:20 | 只看该作者
记录是好习惯,靠**无法记住所有错误及其解决方案。谢谢分享!

使用特权

评论回复
发新帖 本帖赏金 30.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

粉丝