【MM32 eMiniBoard测评报告】开箱及前期准备
开发板是周五收到的,灵动MM32从申请到收到板卡只花了十天时间,收到板卡都是很兴奋的,特别上第一次申请到灵动的开发板。其实资料包早通过http://www.mm32mcu.com/官网下载到本地了。将“MiniBoardStartKit_Release_Ver2.1.9.zip”文件解压,在“1-Document”文件夹下有快速指引手册,这里的《QS_MM32_MiniBoard_Quick_Start_Guide_Ver1.4》适合灵动的多个MiniBoard型号的开发板,如下图所示:
引脚的分布如下:
关于MM32型号命名的规则如下:
文档有注意事项,针对各个型号的灵动MCU都有注明。由于JTAG下载方式的引脚用来控制LED,所以MiniBoard下载只能采用SWD下载方式。此次使用的开发板是采用MM32L073PF 做为MCU,因此将压缩文件“MM32_KEIL_Pack_Ver1.37.zip”解压,只需要要安装“MindMotion.MM32L0xx_DFP.1.0.9.pack”。
拿到开发板时,外包装与ST公司的相似,都是一个硬透明胶盒封装,硬纸上介绍产品特点,产品系列。正反两面,中英文印制。虽然开发板上采用双Micro USB接口,但灵动微电子并无发放Micro USB数据线,不过这种接口应用太普遍了,因此基本上不影响开发板的使用。
然后取出封装中开发板,来一张正面照
由此可以看到板上资源丰富,按键和拨码开关采用精小的封装,带有3个VR调节接口,支持CAN总线,按键、无源蜂鸣器、LED灯等常用外设都集成。背面没有任何电子元器件,灵动微电子的**丝印在边缘,建议中间可以来张官方技术论坛二维码。
然后连接PC端的USB,四盏不同颜色的灯映入眼帘,其中LED1是红色,为电源指示灯,程序运行起来与其他三盏灯的闪烁频率不一致。LED2为绿色,LED3为蓝色,LED4为橙色。然后K1~K4随便按下某个按键,无源蜂鸣器会常响,灯一直狂闪。
然后我们了解一下该开发板支持烧录方式,该开发板支持JLink、ULINK2、MLink、MM32 Debugger调试工具下载,来看看这块板子所对应的原理图
然后可以按照上面的引脚来连接我们的JLink调试工具,打开MM32L073PF\MiniBoardStartKit_Release_Ver2.1.9\3-Sample_Code\MiniBoard\MM32L073PF_MiniBoard_libReg\MBL073PF_n_lib\BLINK\IOKey\KEIL_PRJ下的工程,全编译一下,没有错误,没有警告。
然后根据原理图来接线,尝试了多种接线方式,在Keil中均无识别到Jlink调试器
原理图是通过下载“eMiniBoard.zip”文件解压得到的,《ug_mm32_emb_v0.9_cn.pdf》文档中管脚的标号与实物PCB上的不大一致,方向有所疑惑。整个板子以“e MiniBoard MB-023”丝印为正视图,那CN9的管脚标号应该是从1开始,而不是以25开始,所以说对不上原理图。将JLink设置对应的MCU型号也无法读取到。
此次分享暂且告一段落,整体感觉上海灵动微电子的板卡集成度比较高,虽然MM32L073PF使用的32位ARM Cortex-M0处理器内核,但其实能够胜任一般的智能设备需求,最高工作频率可达48MHz。后续再对JLink调试下载进行研究,可能是设置的拨码开发不对,由于官方给出的参考文档都是汇总在一起,然后再分包说明,很多参考说明都是针对F1系列的,因此还需深入探讨探讨,如有网友有好的见解,欢迎来访留言,谢谢!
MMLink 不可以用吗? 一路向北lm 发表于 2020-4-19 20:52
MMLink 不可以用吗?
MMLink需要怎么设置拨码开关呀,用官方的ISP下载软件也是行不通。 yinwuqing110 发表于 2020-4-20 09:22
MMLink需要怎么设置拨码开关呀,用官方的ISP下载软件也是行不通。
感觉跟拨码开关没什么关系,需要装好那个驱动 一路向北lm 发表于 2020-4-20 13:21
感觉跟拨码开关没什么关系,需要装好那个驱动
昨晚花了点时间,重新安装了一下MM32-Link的驱动,原来是没有使用管理员身份安装。此次使用管理员身份安装好后能正常烧录了。无需JLink调试下载器。
设备管理器中的列表信息如下:
打开串口测试工程,全编译通过,无错误无报警,点击下载按钮。
设置相对应的驱动调试下载器
打开SecureCRT,并设置串口参数
此次的SecureCRT没有任何信息输出,按照工程的源码,实时打印”UART OK!“才对。
部分源码如下:
void uart_initwBaudRate(u32 bound){
//GPIO端口设置
GPIO_InitTypeDef GPIO_InitStructure;
UART_InitTypeDef UART_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_UART1, ENABLE); //使能UART1,GPIOA时钟
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);//开启GPIOA,GPIOB时钟
//UART 初始化设置
GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_1);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_1);
UART_InitStructure.UART_BaudRate = bound;//串口波特率
UART_InitStructure.UART_WordLength = UART_WordLength_8b;//字长为8位数据格式
UART_InitStructure.UART_StopBits = UART_StopBits_1;//一个停止位
UART_InitStructure.UART_Parity = UART_Parity_No;//无奇偶校验位
UART_InitStructure.UART_HardwareFlowControl = UART_HardwareFlowControl_None;//无硬件数据流控制
UART_InitStructure.UART_Mode = UART_Mode_Rx | UART_Mode_Tx; //收发模式
UART_Init(UART1, &UART_InitStructure); //初始化串口1
UART_Cmd(UART1, ENABLE); //使能串口1
//UART1_TX GPIOA.9
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9
//UART1_RX GPIOA.10初始化
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10
}/********************************************************************************************************
**函数信息 :UartInit_Loop(void)
**功能描述 :初始化串口
**输入参数 :无
**输出参数 :无
********************************************************************************************************/
void UartInit_Loop(void)
{
//GPIO端口设置
GPIO_InitTypeDef GPIO_InitStructure;
UART_InitTypeDef UART_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_UART1, ENABLE); //使能UART1
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);//开启GPIOA时钟
//UART1 NVIC 配置
//UART 初始化设置
GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_1);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_1);
UART_InitStructure.UART_BaudRate = 115200;//串口波特率
UART_InitStructure.UART_WordLength = UART_WordLength_8b;//字长为8位数据格式
UART_InitStructure.UART_StopBits = UART_StopBits_1;//一个停止位
UART_InitStructure.UART_Parity = UART_Parity_No;//无奇偶校验位
UART_InitStructure.UART_HardwareFlowControl = UART_HardwareFlowControl_None;//无硬件数据流控制
UART_InitStructure.UART_Mode = UART_Mode_Rx | UART_Mode_Tx; //收发模式
UART_Init(UART1, &UART_InitStructure); //初始化串口1
UART_Cmd(UART1, ENABLE); //使能串口1
//UART1_TX GPIOA.9
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9
//UART1_RX GPIOA.10初始化
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10
printf("UART OK!\r\n");
} 具体的实物连接如下:
yinwuqing110 发表于 2020-4-21 10:52
昨晚花了点时间,重新安装了一下MM32-Link的驱动,原来是没有使用管理员身份安装。此次使用管理员身 ...
厉害啦,楼主什么系统?win7? 一路向北lm 发表于 2020-4-21 14:53
厉害啦,楼主什么系统?win7?
是win10系统哦,不带网孔的超薄型笔记本 yinwuqing110 发表于 2020-4-21 16:38
是win10系统哦,不带网孔的超薄型笔记本
哈哈,这么认真,我的win7也可以
NICE,非常赞。
页:
[1]