package em.coremark
from em$distro import BoardC
from BoardC import AppLed
from em.mcu import Common
import CoreBench
import Utils
module ActiveRunnerP
config ITERATIONS: uint16 = 10
end
def em$startup()
CoreBench.setup()
end
def em$run()
AppLed.on()
Common.BusyWait.wait(250000)
AppLed.off()
Common.UsCounter.start()
%%[d+]
for auto i = 0; i < ITERATIONS; i++
CoreBench.run()
end
%%[d-]
auto usecs = Common.UsCounter.stop()
AppLed.on()
Common.BusyWait.wait(250000)
AppLed.off()
printf "usecs = %d\n", usecs
printf "list crc = %04x\n", Utils.getCrc(Utils.Kind.LIST)
printf "matrix crc = %04x\n", Utils.getCrc(Utils.Kind.MATRIX)
printf "state crc = %04x\n", Utils.getCrc(Utils.Kind.STATE)
printf "final crc = %04x\n", Utils.getCrc(Utils.Kind.FINAL)
end