说起CoreMarK,可能对于很多人来说并不陌生。经常看到有人在谈及一些中央处理器时往往会提到它的COREMARK是多少多少。它其实就是一项用来测试各类中央处理器性能的基准代码。代码使用C语言写成,包含列举、数学矩阵操作、状态及CRC等运算法则。
目前CoreMark已迅速成为测量与比较各类处理器性能的业界标准的测试基准。CoreMark得分越高,意味着性能更高。大家在CoreMark的官网上可以可以看到各家处理器各型号的CoreMark得分。也可以从CoreMark的官网上下载测试代码,亲自评测一下自己手中芯片的性能。CoreMark官网的链接地址如下:http://www.eembc.org/coremark/index.php。
我们知道,目前的STM32家族中的9大系列微处理器是基于ARM coretex各内核而设计出来的微控制器产品。最近ST MCU部门的工程师制作了一篇应用笔记,详细介绍了如何一步步将下载到的CoreMark测试代码移植到STM32 MCU上进行调试验证的过程。
该笔记从下载相关COREMARK代码开始,使用ST官方提供的STM32图像化配置工具STM32CUBEMX进行各项配置,并生成IAR工程、调试函数功能直到运行最终结果。
欲了解相关文档细节的话,可以前往ST MCU中文网的设计资源之实战经验下载的生态系统区自行下载。或者点击作下方“阅读原文”前往下载页面,搜索关键字“COREMARK”即可找到相关文档。
关键字:CoreMark 程序移植 STM32
引用地址:
如何将CoreMark程序移植到STM32
推荐阅读最新更新时间:2024-03-16 15:07
STM32 GPIO复用功能与设置
GPOIO可作为I2C,SPI,USART等通讯接口,这就是所谓的复用功能(alternate function output)。 GPIO的复用功能由AFRL及AFRH两个寄存器来设定(因为Cortex Mx为32位CPU,所以每个寄存器有32bits可供控制)。 STM32针对每个接口pin设计了16种复用功能(AF0~AF15),因为每个pin占用4个bits,所以每个寄存器管理8个pins(AFRL:0~7,AFRH:8~15)。如下图所示: 每个pin只能设定一种复用功能,当系统reset之后,所有的复用功能都复位为AF0(也就是系统的初始功能)。 哪些port(GPIOx,x=A~K),pin与寄存器状
[单片机]
stm32 boot0 boot1的启动方式
STM32 三种启动模式对应的存储介质君是芯片内置的,它们是: 1.用户闪存 =芯片内置的Flash 2.SRAM=芯片内置的RAM区,就是内存了。 3.系统存储器=芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段bootloader,就是同事的ISP升级程序,这个 区域的内容在芯片出现后没偶人能够修改或拆除,即它是一个ROM; 在每个STM32 的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时电平状态决定了芯片复位后从哪个区域开始执行程序, BOOT1=X BOOT0=0 从用户闪存(flash)启动,这时正常模式 较多情况下使用这种模式 BOOT1=1 BOOT0=1 从内置SRAM(内存
[单片机]
基于STM32的双相步进电机细分驱动器设计
步进电机是一种运用广泛的控制电机,其特征是不使用位置反馈回路就能进行速度控制及定位控制,即所谓的电机开环控制。相对于伺服电机,步进电机有着成本低廉,控制简单等优点,尤其是两相混合式步进电机,在工业运动控制系统中有着广泛的应用。然而,传统的驱动方式,比如单电压驱动、高低电压驱动、斩波恒流驱动等等,虽然已经应用十分成熟,但是只限于低速运行,并且细分度一般限制在1/2步距,无法很好消除低频振荡,以及定位精度差等缺点。细分驱动的出现很好地弥补了这一缺点。 常见的细分控制器一般由MCU、专用逻辑驱动芯片以及功率驱动模块组成,这样的驱动器虽然能满足多细分驱动,但由于细分数量和效果会受到逻辑驱动芯片的影响,并且无法调整细分数和限流值、从而造
[单片机]
STM32HAL库学习(二)CubeMx按键
首先是找到电路图,按键是高电平按下还是低电平按下 GPIO八种模式 https://blog.csdn.net/hailin0716/article/details/24333951 上拉电阻的目的是为了保证在无信号输入时输入端的电平为高电平。而在信号输入为低电平是输入端的电平应该也为低电平。 按键是按下时是高电平时,那无信号输入时要保持低电平,下拉输入 枚举KEYState_TypeDef 定义按键的两种状态 typedef enum{ KEY0_UP, KEY0_DOWN, KEY1_UP, KEY1_DOWN }KEYState_typedef; 函数有个 KEYState_TypeDef 类型的返回值
[单片机]
STM32出现HardFault故障的解决方法
问题查找: 1 在stm32f10x_it.c中,添加软件断点,一旦调试时出现Hard Fault则会在停在__breakpoint(0)处。 2 打开Call Stack窗口,在HardFault_Handler中的右键选择“Show Caller Code”
[单片机]
STM32的CAN总线学习总结
1、首先通读手册中关于CAN的文档,必须精读。 STM32F10xxx 参考手册Rev7V3.pdf 需要精读的部分为 RCC 和 CAN 两个章节。 为什么需要精读 RCC 呢?因为我们将学习 CAN 的波特率的设置,将要使用到 RCC 部分的设置,因此推荐大家先复习下这部分中的几个时钟。 关于STM32的can总线简单介绍 bxCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B。它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。 对于安全紧要的应用,bxCAN提供所有支持时间触发通信模式所需的硬件功能。
[单片机]
STM32 | 基于STM32实现的普通灯泡调光控制器
功能 用STM32控制一个普通灯泡的亮度,一路开关控制普通灯泡电源的通断,另外两路开关分别控制普通灯泡亮度的增加和减小。 调光控制器的原理 通过STM32控制双向可控硅的导通来实现白炽灯(纯阻负载)亮度的调整。双向可控硅的特点是导通后即使触发信号去掉,它仍将保持导通;当负载电流为零(交流电压过零点)时,它会自动关断。 所以需要在交流电的个半波期间都要送出触发信号,触发信号的送出时间就决定了灯泡的亮度。 调光的实现方式就是在过零点后一段时间才触发双向可控硅开关导通,这段时间越长,可控硅导通的时间越短,灯的亮度就越低;反之,灯就越亮。这就需要提取出交流电压的过零点,并以此为基础,确定触发信号的送出时间,达到调光的目的。
[单片机]