有快两年时间没怎么接触STM32了,近段时间一直是在研究汽车电子类的MCU。难得有这个机会,接触到的STM32L496这块板子,想想也是可以回来搞搞STM32了。当时用stm32,还是3.5固件库,虽然那会儿也已经有cubeMX了,不过也是刚出来不久,功能不完善,bug也多,而且只支持F1系列的mcu。现在ST官方都是在力推hal库+cubeMX的开发方式了,省时省力,今天我也来试玩一下。
1、在官网下载了最新版本的cubeMX软件安装包
2、安装java环境,然后安装cubeMX软件
3、新建按照教程一个stm32L496的工程,基于mdk5的
基于nucleo144的,板载STlink的串口接在G7G8上
没有外部晶振,所以选择内部时钟,启用80MHz的标准主频
115200的波特率,8数据无校验1停止
这样一个简单的工程建好之后,就可以开始移植CoreMark,不过鉴于这类手把手的教程太多了,我这里就不累述了。我这里主要真对MDK和IAR两个开发软件做了一个对比测试:
MDK5.17,Level3优化等级,得分136.93
IAR7.80,high优化等级,得分152.04
从整体来看,L496的得分并不高,从一定方面反映了,作为一款低功耗系列的muc,L496的性能并不是很强,当然,也没必要很强,因为产品定位如此。性能与功耗,总是难以兼得的,st需要做的只是找到这两者之间的一个绝佳平衡点。至于L496是不是这个平衡点的最佳代表,用户就见仁见智吧。一句话,按需选型。
从对比角度来看,IAR的编码编译优化效果明显优于MDK,虽然说mdk算是ARM的“干儿子”了,当时比起老牌的编译器iar,实力上还是差那么一点的。不过iar"朴实无华"的界面,确实让不少人望而却步,而转向了mdk的怀抱。就我个人而言,我是无所谓的,反正两个都有在用。
最后我还是有点想吐槽的地方,官方提供的例程,我看了一下串口的,全是板对板通信,这就有点不合理了吧,测试个例程还需要两块板子,应该是串口PC打印的例程更为合适吧。
附上IAR和MDK的例程
|