请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-L496ZG评测】板载虚拟串口&CoreMark跑分

[复制链接]
donatello1996 提问时间:2017-5-4 22:26 /
    Nucleo-L496开发板的板载虚拟串口与以往的Nucleo板子所用串口不一样,以往的板子都是用串口3,而Nucleo-L496却是用LPUART1,即低功耗串口1,反正这波我确实被官方套路到了,都是看过电路图才知道。板子的虚拟串口-低功耗串口1对应引脚为PG7和PG8,但是CubeMX所对应的LPUART1却是PC0和PC1,此处要留意,要将串口引脚改为PG7和PG8。
1.jpg 5.PNG 3.PNG 4.PNG
   另外,社区里之前发过串口评测的人们都是通过CubeMX直接生成的代码,但是CubeMX生成的代码有一个非常不友好的风格,就是会将外设的初始化函数与外设的时钟使能函数分开。由于我并不是直接使用CubeMX生成的代码(是间接使用,即先生成,再移植到自己的例程上),在MX_GPIO_Init()处的一行HAL_PWREx_EnableVddIO2()把我坑的不轻,这句话是低功耗串口才需要的,因此在以往的Nucleo-L476例程中并不会出现,如果没有这句话,L496的低功耗串口1就无法正常工作,相信刚使用HAL库的新手都会深有体会而这点,在之前发布了L496虚拟串口打印或者Coremark评测的帖子中竟然完全没有提及!我相信有人看过我的帖子之后,能够少走弯路,更快完成开发。
6.PNG           这里顺便说说使用MicroLIB来让printf()函数充当串口输出的方法。首先要在工程配置窗口勾选MicroLIB,这是必须的,
1.PNG
其次要重定义fputc()函数,里面的HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,0xFFFF);函数是每个基于ARM Cortex M内核单片机的串口输出单个字符的函数,
2.PNG
此方法适用于Keil支持的所有ARM Cortex M单片机,包括LPC、GD32、K64等等。这里顺便放上LPC824使用fputc()函数的方法:
捕获.PNG
    CoreMark跑分是评测MCU或者MPU性能指标的重要方法,已经在STM32F7和LPC546XX系列中广泛使用,CoreMark软件由一组头文件和源文件组成,其本质是使用算法检测处理器的响应时间来评测处理器性能,类似于桌面CPU的Fritz Chess Benchmark评测。参考@斜阳__的帖子,完成CoreMark跑分。
    分数结果出来后,我的内心毫无波动甚至还想笑。
2.PNG
    上传附件,让你们也玩玩CoreMark。 如何将coremark程序移植到STM32上.pdf (1.12 MB, 下载次数: 60)

评分

参与人数 1 ST金币 +10 收起 理由
zero99 + 10

查看全部评分

收藏 2 评论4 发布时间:2017-5-4 22:26

举报

4个回答
asmhai 回答时间:2017-5-5 06:11:38
早上好!签到来了。
zero99 回答时间:2017-5-5 08:34:49
支持一下
asmhai 回答时间:2017-5-8 10:57:35
支持,签到签到。
feixiang20 回答时间:2017-5-28 22:22:24
谢谢分享

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版