Tighter code for your IoT edge node

by donpedro

SOMNIUM® Technologies has been working closely with Freescale to provide solutions for Kinetis MCU software developers to address the IoT node design challenges. This blog was contributed by David Edwards, founder, CEO and CTO of SOMNIUM.
The degree of sophistication within modern embedded system designs is phenomenal. MCUs today provide more processing and memory capacity than ever before. At the same time, IoT node design brings a familiar set of challenges – the constraints of cost, memory capacity, processing power and energy consumption. IoT edge nodes may have the most severe constraints, perhaps only containing 8 KB of flash, and 1 KB of RAM, but still requiring a conventional software development environment.

By David Edwards, SOMNIUM Founder and CEO/CTO

100% GNU GCC compatible with patented resequencing technology

SOMNIUM DRT builds upon the heritage of the Eclipse IDE and GNU tools technology, widely deployed for almost 30 years across a huge number of users. DRT’s toolchain is fully GNU GCC compatible, so your existing CodeWarrior GCC and Kinetis Design Studio IDE source code will migrate with no changes required. Our patented resequencing technology improves developer productivity, automatically optimizing to build smaller, faster executables. This enables you to potentially use a more cost-effective Kinetis solution than you would otherwise.
DRT users also benefit from access to SOMNIUM’s support team, providing help and advice on our product, when you need it.

Faster, tighter code for your specific edge node

SOMNIUM DRT uses our patented Device-aware Resequencing to optimize for performance, code size and energy. Traditional code generation tools only consider the processor’s instruction set and don’t optimize for your chosen device’s memory system. DRT is different. The entire code generation flow is device-aware and considers the respective Kinetis MCUs core architecture, which is based on an ARM Cortex®-M core, and the memory hierarchy (e.g. cache configuration, buffers, on-chip flash, RAM etc.) for your specific IoT edge node design. The whole process is automated and transparent, with no new commands or extra compilation steps.
From the first invocation of the compiler, code generation is tuned for your Kinetis MCU. At the linking stage, the whole program is resequenced to get the best “fit” for how it interacts with the processor and memory system, to ensure the smallest most efficient program is generated.
No changes to your source code or working practices are required. DRT’s features allow you to leverage your existing source code, and continue to use Freescale’s Processor Expert software and the Kinetis software development kit (SDK) to access the rich set of on-chip peripherals and off-chip interfaces provided on Kinetis MCUs. This is key to getting your IoT design to market quickly, in a highly cost optimized form.

Using Kinetis MCU demonstration applications as shown on the Freescale IoT Center community, we’ve seen impressive results of the DRT product in action. Code size reductions of over 20% coupled with performance improvements have proven that DRT lets you do more with less. An example application can fit into a 64 KB flash device rather than 128 KB device typically required using traditional development tools. This can enable a step-change in the capability and range of your IoT design choices, further reducing system cost and development time.
DRT’s familiarity and compatibility with existing Kinetis tools and source code combined with patented optimizations generate the best result for the Kinetis MCUs you are using, and enable an expanded range of choices.
What’s next?
SOMNIUM DRT, Freescale Kinetis MCU edition, will be on general availability for product purchase and 30-day evaluation later this month. For further information and demonstrations of DRT’s features and benefits please take a look at the SOMNIUM page on the Freescale IoT Center. ■


Related Articles

Leave a Comment