测试说明¶
CoreMark 例程测试以下场景下的功耗:
一个核执行 CoreMark 基准测试程序
一个核执行一段时间的 while 循环,循环中执行 nop 指令
系统关机,可由 RTC 定时唤醒
系统关机,由唤醒引脚唤醒
为便于控制测试条件,使用PA52作为HCPU的唤醒PIN。当唤醒PIN不为高电平时HCPU无法进人低功耗模式,此时可以通过console给HCPU发送命令执行指定任务,当唤醒PIN接高电平(即1.8V电压,下文如未特别说明,高电平均指1.8V电压)时,HCPU进人低功耗模式,此时HCPU无法响应console命令。
LCPU始终不进人低功耗模式,如果启动了LCPU,当不执行任务时LCPU处于WFI状态,可以响应来自console的命令,未启动LCPU时,则认为LCPU处于halt状态,无法处理console命令。
需要注意发送的命令都要以回车换行符结尾。
PC 与调试板使用 USB Type-C 线连接后会枚举出两个串口,分别作为HCPU以及LCPU的console,如下图所示。

串口设置参见下图,波特率均设置为 1000000。

非关机场景下,当一个核在执行指定任务时,另外一个核需进人如下状态以保证测量值的准确
HCPU 执行任务时,LCPU 处于wfi 状态 (hcpu的console端发送 lcpu on 命令)
LCPU执行任务时,HCPU进人Standby低功耗模式 (唤醒pin接高电平)
HCPU 可使用以下命令启动相应任务:
run_coremark freq_in_mhz:修改主频并执行 CoreMark,freq_in_mhz是以 MHz 为单位的频率 例如:run_coremark 48,以 48MHz 主频执行 CoreMark
run_while_loop freq_in_mhz:修改主频并执行一段时间 while loop,freq_in_mhz是以 MHz 为单位的频率 例如:run_while_loop 48,以 48MHz 主频执行 while loop
HCPU还支持以下命令:
lcpu on:启动LCPU,启动成功后LCPU可以接收console命令执行指定任务
shutdown[wakeup_time_in_sec]:关机,wakeup_time_in_sec为可选参数,单位为秒,表示关机后多久自动开机,如果不带参数,则关机后只能被唤醒引脚唤醒
注:由于编译采用 Ofast 优化等级,跑分结果仅作参考,并不能达到 Omax 时的最高分。