ULPMark-PP focuses on the MCU's commonly used peripherals like pulse-width modulation (PWM), analog-to-digital conversion (ADC), the serial peripheral interface (SPI), and a real-time clock (RTC). This benchmark defines ten one-second activity slots each with variable usage of ADC, SPI, PWM, RTC, allowing the MCU and peripherals to sleep after their activities have completed. The following table gives an overview of the activity in each slot. As soon as the device finishes the peripheral operation for that slot it can enter sleep. This means faster peripherals will most likely score higher since they can remain off longer.
Peripheral Profile Slot Descriptions
Slot | ADC | PWM | SPI | RTC |
---|---|---|---|---|
1 | | |||
2 | | |||
3 | | |||
4 | | |||
5 | | |||
6 | | |||
7 | | |||
8 | | |||
9 | | |||
10 |
ULPMark has been redesigned since it's first release in 2014. It now works with the EEMBC benchmark framework, the same one used by IoTMark and SecureMark, with a super-thin API that enables any MCU to execute next generation EEMBC benchmarks. The STMicroelectronics PowerShield provides the backbone of the framework's energy measurement, with sub-100nJ accuracy on your desktop for around US$100.
The framework used for ULPMark creates an extensible framework for probing an embedded system. Block diagram (left), actual implementation (right). Click to enlarge. Note that for ULPMark-CP and ULPMark-PP, the Radio Manager and IO Manager are not required.
In order to run the benchmark and submit scores, you must obtain a license.