×

NUCLEO32-L432开发板评测,与以往的NUCLEO32开发板的区别资料下载

消耗积分:3 | 格式:pdf | 大小:1.09MB | 2021-04-14

刘伟

分享资料个

作者:netlhx STM32的MCU产品全面开花,除了推出性能怪兽CORTEX-M7之外,又推出号称性能与低功耗并重基于CORTEX-M4系列的低功耗产品STM32-L4系列,宣称性能能达到1.25 DMIPS/MHz (Drystone 2.1)及273.55 Coremark® (3.42 Coremark/MHz @ 80 MHz),到底情况如何,今天就性能方面做个简单评测。 NUCLEO32-L432属于NUCLEO32家族的新品。 和以往的NUCLDO32一样的包装,一样的简单说明,请忽略STM32系列的外包装。 背面仍然千篇一律,请再次忽略。 与以往的NUCLEO32开发板的区别,一是MICRO接口上的L432KC标签,告诉你这是一款基于STM32-L432KC的评估板;另一个区别是MCU的封装形式变了,以前常用的LQFPN32变成了UFQFPN32形式,所以MCU的四周就多出了一圈裸露的焊盘! 开发板仍然坚持一向的可更换MCU的设计理念,如果想将开发板上的MCU换成其它型号,只要将原来的MCU用焊台拆下来,然后添上其它兼容的MCU型号即可。 开发板的背面主要包括STLINK/V2-1调试接口,最下面还有IDD的检测跳线,只是受限于开发板的尺寸,这个间距有点小,还有就是焊接比较脆弱,需要十分小心。 MICRO USB接口以及旁边的LED调试指示灯,加上两边的排针,资源实在精简到了极点。 除了开发板上的丝印,包装盒里的纸质说明也列出了GPIO接口的引脚编号,方便随时查阅。 关于STM32L432这款MCU,属于STM32基于CORTEX-M4里面比较低端的型号,在官方的产品家族里位置如下 不过从官方给出的宣传参数来看,其COREMARK居然达到了罕有的273,比MAINSTREAM的值245居然还要高(当然主频值也略高)。 不过STM32L4系列的主打功能是超低功耗,按照官方给出的参数,主要如下 8 nA Shutdown mode (2 wakeup pins) 28 nA Standby mode (2 wakeup pins) 280 nA Standby mode with RTC 1.0μA Stop 2 mode, 1.28 μA Stop 2 with RTC 84 μA/MHz run mode Batch acquisition mode (BAM) 4 μs wakeup from Stop mode 关于低功耗的实测,爱板网已有同系列的L476的详细评测,此处不再评测。 开发板的硬件布局及主要元器件如下 NUCLEO系列开发板设计得非常灵活,PCB板上的大量SB可以用来调整不同的功能,以实现不同的功能。比如可以通过SB的不同组合来使用STLINK/V2-1的MCO作为主控MCU的时钟源等功能。 接下来主要是通过将COREMARK的源码移植到STM32上,验证官方宣称的COREMARK测试值。 首先使用STM32CUBEMX来建立一个基本的程序框架。 硬件功能只配置了USART2用来输出一些测试的信息。 时钟使用内置的MSI时钟输出(如何使用STLINK/V2-1的MCO来作为MCU的时钟请参考官方说明),MSI输出为8MHZ,经PLL电路后频率变为80MHZ,这也是该MCU的最大支持频率,以保证最高性能。 接下来下载COREMARK的源代码 下载前需要注册一个账号,下载源代码后解压,基本的目录结构如图 涉及到COREMARK核心的代码文件主要有以下几个 要移植的代码主要集中中core_portme.c及core_portme.h这两个文件中。 COREMARK的基本工作原理是执行一段测试代码,然后检测代码运行所用的时间,对比特定的标准最后得出一个数值,这个数值就是最终的得分了。如果对COREMARK的内部原理感兴趣,可以研究一下其代码。 关于代码的移植,STM32社区也给出了一个指导方案。 将移植好的代码添加到STM32工程文件中,最终的目录结构如下 为了最大程度的释放硬件性能,需要对工程代码做一下优化,在MDK中的优化设置如下 优化等级设为O3,同时开启Optimize for Time选项。 接下来就可以来查看COREMARK在NUCLEO32-L432上的测试结果了,看看有没官方宣称的273那么高。 嗯,测试的结果达到了209,并没有官方宣传的那么高。当然考虑到不同的编译器、优化设置等参数的影响,这一值与官方宣称的值还是有一点的差距啊! 接下来再对MCU超频,通过上面MCU的时钟设置图可以看出,只要调整上述PLL参数值就可以调MCU的主频。咱们先激进一点,直接将PLL-N的值调整为30,这样系统就能在10MHZ的频率下工作了。下面是测试的结果 上图可以看到,系统的主频率为120MHZ,COREMARE值更是达到了314之高! 当然这只能算是自娱自乐!ST有一个特色,对于民间的呼声从来不理,估计都忙着处理大客户去了,所以这次的COREMARK跑分结果只能算是一次娱乐,诸位看过即忘,不要期望ST能有点解释,比如测试环境的影响,工具链的选择,优化参数等。(Coremark测试用代码包) 总体来说,NUCLEO系列开发板还是很良心的,一是价格低廉,二是慷慨大方,免费提供各种试用甚至分发。要是在各大论坛或用户讨论组里再常驻一两个FAE在线,那就更完美了!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'NUCLEO32-L432开发板评测,与以往的NUCLEO32开发板的区别资料下载',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);