NXP MCU 技术论坛
直播中

刘洋

10年用户 1157经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[资料]

官方例程讲解:飞思卡尔Kinetis KL25 BME例程2

BME作为KL25Z的另一大卖点它究竟有什么特点呢?
BME是Bit Manipulation Engine的简称,即位操作模块,它是一个硬件模块,介于外设和内核之间,能够实现具体的位操作,如普通的位操作XOR, AND,OR,位插入BFI等,还能够实现单bit清零,单bit置位,以及提取无符号位等操作。正因为使用了硬件模块去操作,所以与普通的C代码操作相比,其生成的汇编代码减少了很多,从而减少了整个代码量。

BME例程2,是继例程1之后,采用ARM内核的systick作为时间基准,测试使用BME方式配置LPTMR触发ADC采样所消耗的systick计数个数,以及使用普通C代码配置LPTMR触发ADC采样所消耗的systick计数个数之间的差本文档结合官方的BME例程2,讲解了BME的功能,例程代码,流程图以及运行结果。

例程功能
飞思卡尔KL25Z产品BME例程2采用ARM内核的systick作为时间基准,测试使用BME方式配置
LPTMR触发ADC采样所消耗的systick计数个数,以及使用普通C代码配置LPTMR触发ADC采样所
消耗的systick计数个数之间的差别。并将各自操作所耗的systick的计数个数通过串口打印出
来。两种配置方式的转换是使用是否从低功耗中唤醒的方式来转换。结果发现,使用硬件模块BME
对外设进行位操作,减少了C代码的指令大小,提高了指令执行效率。
运行平台
ü   TWR-KL25Z48M
ü   TWR-SER
ü   FRDM-KL25Z
ü   Keil MDK /IAR ARM IDE

飞思卡尔KL系列BME例程2指南.pdf (2.16 MB)
(下载次数: 41, 2015-1-27 11:53 上传)

KL25 Sample Code_BME2.rar (414.76 KB)
(下载次数: 26, 2015-1-27 12:09 上传)



回帖(2)

poppy_capital

2015-9-17 10:30:57
学习中,顶一下
举报

孤独圣人

2016-1-29 22:11:29
总算知道那个bme是干啥用的了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分