  Energy modelling can enable energy-aware software development and assist the
developer in meeting an application's energy budget. Although many energy
models for embedded processors exist, most do not account for
processor-specific configurations, neither are they suitable for static energy
consumption estimation. This paper introduces a set of comprehensive energy
models for Arm's Cortex-M0 processor, ready to support energy-aware development
of edge computing applications using either profiling- or static-analysis-based
energy consumption estimation. We use a commercially representative physical
platform together with a custom modified Instruction Set Simulator to obtain
the physical data and system state markers used to generate the models. The
models account for different processor configurations which all have a
significant impact on the execution time and energy consumption of edge
computing applications. Unlike existing works, which target a very limited set
of applications, all developed models are generated and validated using a very
wide range of benchmarks from a variety of emerging IoT application areas,
including machine learning and have a prediction error of less than 5%.
