制作灵动单片机mm32f3277测试版(代码片段)

卓晴 卓晴     2023-01-28     319

关键词:

简 介: 介绍了在Windows7下安装基于MM32-LINK开发软件。设计制作了MM32F3277的测试电路板,并对如何正确从MM32-LINK将调试电缆连接至MM32F3277开发板进行介绍。需要保证编程电流长度以及线序都满足要求,才能够正确完成程序高速下载。

关键词 MM32F3277MM32-LINK下载电缆

 

§01 MM32F3277


一、背景简介

  手边有两款主要的 灵动ARM核单片机MM32F3277 ,MM32SPIN27 。由于近期基于灵动单片机完成MicroPython移植版本应用于 全国大学生智能车竞赛 的基础组、专科组等,因此对于该款单片机的使用以及基于MicroPython软件平台的制作需要进行进一步的测试。

二、安装MM32-LINK

1、MM32-LINK

  MM32-LINK 仿真器 是对灵动单片机缝针与编程一体的工具。手边有三套来自于灵动公司基于的MM32-LINK。

▲ 图1.2.1 MM32-Link

(1)MM32-LINK特点:

  • 支持 Win 10,Win 7 和 Windows XP 操作系统,在 Win10 环境下无须安装驱动程序

  • 支持 MM32 Cortex-M 全系列 MCU 代码编程,自动匹配目标芯片

  • 支持在线 ICP SWD 方式编程

  • 支持在线 ICP 自动编程机接口

  • 支持离线 ICP、APM 自动编程机接口

  • 在线/离线 ICP / APM 编程方式下,128KB 编程时间小于3秒,16KB 编程时间小于 0.5 秒

  • Micro USB 高速通讯接口,提供供电电源

  • 编程适配器选件:ICP-Adapter、ISP-Adapter、APM-Adapter

(2)功能特征

  在 MM32-LINK系列产品功能特征表 给出了产品功能特性介绍。

▲ 图1.2.2 MM32-LINK功能特性

  可以看到型号MM32-LINK-ISOL是一种带有隔离的量产开发器,应该比较适合对于功率电子系统的开发。现在已经向灵动的苏勇申请看是否能够得到一套这款调试器了。

(3)MM32-LINK接口定义

  MM32-LINK有PIN20的接口,这个定义在其封装内说明卡片中给出。

▲ 图1.2.7 MM32-LINK 接头功能定义

▲ 图1.2.4 使用MM32-LINK连接OneOS板

▲ 图1.2.5 使用MM32-LINK连接OneOS板

▲ 图1.2.6 接口PIN定义

2、安装驱动

  由于现在我使用开发电脑内的是Windows7,所以需要安装MM32-Link的USB驱动。如果使用的Win10,则无需安装驱动程序。

(1)USB驱动下载与安装

  USB驱动程序可以在: MM32-LINK仿真器/编程器USB 驱动程序 下载到。安装过客可以参见:MM32-LINK+Application+Notes中的说明。

  下面是下载后文件及其解压缩之后的文件。

 MM32-Link+Application+Note.zip
 mm32_devkit_setup_v1_60_23.zip
 mm32_usb_setup_v1.01.zip
 Upgrade+v169.zip
MM32-Link+Application+Note
     qs_MM32-LINK_V1.1.pdf
     ug_MM32-LINK programmer_V12.1.00.pdf
     Win7_Xp下USB驱动安装失败的解决方法.zip
     使用前注意.txt
mm32_devkit_setup_v1_60_23
     mm32_devkit_setup.exe
mm32_usb_setup_v1.01
     mm32_usb_setup.exe
     USB驱动安装注意事项.txt
     Win7_Xp下USB驱动安装失败的解决方法.zip
Upgrade+v169
  └─Upgrade v169
          MM32LINKUpgrade.exe
          mm_device.dll
          mm_driver.dll
          MUPGRADE.DAT
          winusb.dll

  加开压缩包之后运行其中的MM32_usb_setup.exe。在运行过程中需要注意运行Windows安装没有数字签名的驱动程序。

▲ 图1.2.7 安装时请使用“以管理员身份运行”

  • mm32_usb_setup.exe
  • USB驱动安装注意事项.txt
  • Win7_Xp下USB驱动安装失败的解决方法.zip

  安装正确之后,会在电脑设备管理中出现“MM32 Device”。

▲ 图1.2.3 安装MM32-LINK之后在电脑设备管理

3、安装开发软件包

(1)下载与安装

  MM32-Link编程开发与调试安装包,包含MM32-Link KEIL Debugger驱动组件、MM32-Link IAR Debugger驱动组件、MM32Program PC端软件与使用说明。

  请至灵动官网: http://www.mm32.com.cn下载MM32-Link编程开发与调试安装包,解压后点安装文件mm32_devkit_setup.exe完成软件程序的安装(需要右击,选择“以管理员身份运行”)。

  在第一次运行MM32-LINK program的时候出现了如下的提示。具体升级过程见下面【§1.2.4:升级MM32-LINK固件】部分内容。

▲ 图1.2.8 安装之后显示版本过低,需要进行升级

(2)确认安装文件

  • 确认MindMotion安装:

  可以在安装目录:

C:\\Program Files (x86)\\MindMotion\\MM32-LINK\\Programmer

  下来找到MM32Program安装程序以及使用说明。

  • 确认IAR 编程DLL:

  由于我使用是 IAR EW.7.40 进行程序开发,所以在:

C:\\Program Files (x86)\\IAR Systems\\Embedded Workbench 7.2\\arm\\bin

  中可以确认ARMM32LINK.dll程序的存在。

▲ 图1.2.9 确认IAR Systems中安装的armmm32link.dll

4、升级MM32-LINK固件

  灵动官网:http://www.mm32.com.cn下载MM32-Link固件升级包Upgrade v1.36。插入MM32-LINK,确保MM32-LINK没有被KEIL、IAR或MM32LINK program所占用。右击MM32LINKUpgrade.exe以管理员身份运行。

▲ 图1.2.10 升级MM32-LINK固件结束

  MM32-LINK升级完之后,在【§1.2.3.1:下载与安装】遇到的版本问题便可以解决了。

 

§02 计测试板


一、参考资料

1、MM32F3277资料

(1)基本信息

  手边有LQFP-64封装的MM32F3277G7P芯片。通过 灵动的在线选型工具 可以查到这款MCU的主要参数。

▲ 图2.1.1 灵动单片机在线选型工具

▲ 图2.1.2 MM32F327X 内部资源

(2)数据手册

2、建立AD库

(1)数据手册定义管脚

▲ 图2.1.3 LQFP64的管脚分布

▲ 图2.1.4 LQFP48 管脚分布

(2)AD库文件

▲ 图2.1.5 AD建立LQFP48, LPQP-64

3、测试板设计

(1)调试接口

▲ $#Y 1:调试接口

(2)时钟电路

▲ 图2.1.7 时钟电路

二、测试电路

1、设计实验板

(1)原理图


▲ 图2.2.1 测试电路原理图

(2)快速做板PCB


▲ 图2.2.2 快速制版布线PCB

(3)快速制板

▲ 图2.2.3 快速制版

(4)焊接实验板

▲ 图2.2.4 焊接实验板

2、测试实验板

(1)制作转接线

▲ 图2.2.5 转接线

▲ 图2.2.6 制作的下载转接线

  ※ 出现的问题:无法使用MM32-LINK下载程序。

三、测试OneOS系统板

1、下载的条件

  使用扁平电缆连接MM32-LINK与ONeOS的20PIN的调试端口,可以正常下载程序。

  为了确定究竟哪些连接线对于下载起到作用,下面利用杜邦线一一对应将MM32-LINK 的输出口与ONEOS调试版连接。如下所示:

▲ 图2.3.1 使用杜邦线连接调试端口

  测试结果:◎ 仍然无法完成读、写操作。

▲ 图2.3.2 下载程序出现错误

2、测试连接方式

▲ 图2.3.3 能够进行下载的配置

  经过测试发现,只有将SWD, SWC之间需要相间一个GND才能够正确下载程序。下图给出了能够完成下载的扁平电缆配置。

▲ 图2.3.4 能够完成下载的线序配置

  下面是指做的连接下载线。经过测试,它可以正常通过MM32-LINK下载程序了。

▲ 图2.3.5 直接使用杜邦线可以下载程序了

 

试总结 ※


  先下载安装了MM32-LINKUSB的驱动程序。由于是在Windows7下安装,所以安装驱动过程需要手动进行。安装完毕之后:

  • 可以通过检查IAR System目录、MM32等相关目录查看到安装的文件;
  • 在计算机的设备管理中,查看到:
    • 通讯串行总线扫支起:MM32 Device
    • 端口(COM和LPT): MindMotion Virtual COM Port(COM10)。注:经过测试,不知为何MindMotion对应的串口在Windows7中无法正常打开。

  设计制作了MM32F3277的测试电路,设计了基于SWD,SWC的调试端口,定义了调试端口:

  • +3.3V,GND,SWC, SWD, nRST

  经过测试可以知道,从MM32-LINK对测试电路下载程序,需要保证:

  • 下载扁平电缆的长度不超过15mc;
  • 在SWD,SWC之间需要增加GND作为隔离;
      否则就无法使用MM32进行正常下载程序。

▲ 图3.1 读取单片机内存过程


■ 相关文献链接:

● 相关图表链接:

灵动微m3内核32位单片机lqfp100封装mm32f3277g8p

灵动微MM32F3277G8P使用高性能的ARM®Cortex®M3为内核的32位单片机,ARM®的Cortex®M3微控制器是一个可配置的并具有多级流水线的32位精简指令集处理器,具有高性能和低功耗的特点。MM32F3277G8P包含多达3个12位的ADC、2个比较器、2个16位... 查看详情

测试mm32micropython测试电路板的基本功能(代码片段)

...能。关键词:MicroPython,MM32,逐飞,灵动单片机 §01测试板简介  在测试逐飞的MM32F3277MicroPython开发板的基本功能中对于来自于逐飞的MM32MicroPython测试模块的基本功能进行了初步测试。包括 查看详情

设计带有sd卡的mm32f3277micropython实验板(代码片段)

简介:本文测试了基于MM32F3277下的MicroPython电路板设计。其中包含有SD卡接口,常用外设接口等。验证了现在的移植的MicroPython的对文件的基本操作功能。关键词:MM32F3277,MicroPython,SD卡 §01设计背景一、MM32F32... 查看详情

测试逐飞的mm32f3277micropython开发板的基本功能(代码片段)

简介:对于给定的MicroPython移植版本进行了初步的测试。对比之下,MCU中还有很多的模块尚未支持。这些工作需要近期尽快补充测试完毕。关键词:MM32,MicroPython §01MicroPython开发一、背景介绍  为了能够在第十... 查看详情

设计制作mm32f0144c4测试电路板(代码片段)

 01测试电路板一、前言灵动单片机MM32F1044测试电路板二、资料准备  关于MM32F140资源简介,可以参见MM32F140产品选型。 由于手边的芯片样品是TSOP32封装的,现在首先建立该芯片的AD元器件封装。 通过对比,可以... 查看详情

设计制作mm32f0144c4测试电路板(代码片段)

 01测试电路板一、前言灵动单片机MM32F1044测试电路板二、资料准备  关于MM32F140资源简介,可以参见MM32F140产品选型。 由于手边的芯片样品是TSOP32封装的,现在首先建立该芯片的AD元器件封装。 通过对比,可以... 查看详情

测试mm32f3277基本模块功能(代码片段)

#mermaid-svg-qzGbzdxmdGRVUe4t.labelfont-family:\'trebuchetms\',verdana,arial;font-family:var(--mermaid-font-family);fill:#333;color:#333#mermaid-svg-qzGbzdxmdGRVUe4t.labeltextfill:#333#mermaid-svg-qzGbzdxmdGRVUe4t.noderect,#mermaid-svg-qzGbzdxmdGRVUe4t.nodecircle,#mermaid-svg-qzGbzdxmdGRVUe4t.nodeel... 查看详情

测试mm32f3277中的micropython的signal功能(代码片段)

简介:通过对这个版本MicroPython中的Signal功能进行测试,可以看到它现在还存在问题。后来经过SuYong修正之后,问题解决了。关键词:MicroPython,MM32,Signal#mermaid-svg-RMEXQrNJ5t4QONFO.labelfont-family:\'trebuchetms\',verd... 查看详情

调试来自于逐飞的mm32f3277移植有micropython开发板(代码片段)

简介:对于从逐飞寄送的MicroPython开发板进行初步测试,建立了基于REPL进行交互式开发的环境。关键词:MicroPython,MM32,Thonny §01开发板信息  今天(2021-10-27)收到逐飞公司发送过来的移植有MicroPyth... 查看详情

测试mm32f3277micropython的定时器功能(代码片段)

简介:对于SuYong发送过来的带有Timer功能版本的MicroPython进行了测试。在新版的MicroPython中,可以最多定义两个不同频率的定时器中断,完成对于周期时间的控制和输出。这一点在很多数字控制系统中应用比较重要。关... 查看详情

mm32f3277micropython移植过程中对应的接口文件(代码片段)

简介:给出了在MM32移植MicroPython过程中基础语法中Pin相关的内容。关键词:MM32F3277,machine,Pin §01MacinePin/*machine_pin.h*/#ifndef__MACHINE_PIN_H__#define__MACHINE_PIN_H__#include"py/runtime.h 查看详情

制作测试mm32f3277-micropython最小电路板(代码片段)

简介:设计制作了基于MM32F3277的MicroPython测试电路,下载了来自于SeekFree已知的MicroPython,证明它可以完成正常使用。关键词:MM32F3277,MicroPython,快速制版 §01参考设计一、设计背景  在前天已经通过以... 查看详情

在mm32f3273上运行micropython,对于性能进行测试(代码片段)

简介:通过设计简单的测试电路,验证了MicroPython在MM32F3273上运行的情况。初步证实它可以运行移植后的MicroPython。关键词:MM32F3273,MicroPython,STM32,Bootloader,ISP §01测试过程  在上午进行了设计带... 查看详情

mindmotionmm32f3277softi2c功能测试(代码片段)

简介:对于从MindMotionSuYong发送过来的带有SoftI2C的移植版本进行测试。初步证明了该SoftI2C移植功能。利用OLED显示测试,可以看到该版本的SoftI2C的外部总线的命令非常慢。经过测试,可以看到该版本的SoftI2C对于输出时... 查看详情

利用seekfree的核心板调试mm32f3277的isp功能(代码片段)

简介:最终,还是没有能够调通ISP的功能。问题出在哪儿?现在还不得而知。关键词:MM32,ISP#mermaid-svg-9ijY2RKvsoSaoeTF.labelfont-family:\'trebuchetms\',verdana,arial;font-family:var(--mermaid-font-family);fill:#333;color:#333#mermaid-svg-9i... 查看详情

mm32f3277micropython的mem函数对于mcu内存访问(代码片段)

简介:通过mem32,mem16,mem8可以使得MicroPython向访问数字一样访问MCU中的任意内存。在ARM模型下,所有的寄存器都是基于RAM地址访问,所以原则上,可以通过memxx编程,在MicroPython层完成对于MCU中所有的... 查看详情

mm32f3277空闲中断+dma接收不定长数据(代码片段)

摘要:在实际项目中经常用到串口接收一些不定长的数据,怎么判断这一帧数据接收完成了呢?通常使用UART非空中断配合简单的数据协议,在数据中加入帧头、帧尾,在程序中判断是否接收到帧尾来确定数据... 查看详情

为什么在mm32中的micropython中无法打开二进制文件呢?(代码片段)

简介:对于在MM32F3277的MicroPython下,对于SD卡中的文件按照二进制方式进行读写进行测试,发现MicroPython下无法支持对于二进制文件的操作。根据现在这种测试,需要找到具体的MM32F3277现在版本上对于文件操作所存... 查看详情