The emRun runtime library enables chip designers to achieve optimum performance while reducing code size by up to 25 %
The SEGGER emRun runtime library enables SiFive customers to use the substantial new capabilities of the faster, more efficient, more capable than ever SiFive Core IP portfolio.
emRun is a complete C runtime library for use with any toolchain. It is used in SEGGER’s Embedded Studio IDE and has proven its value for years. emRun has been designed and written from the ground up for embedded devices to deliver high performance with a small footprint. Time-critical routines are written in assembly language. In many cases, reduced code size makes it possible to use a smaller microcontroller with less on-chip memory. This can result in significant cost savings, especially for devices built in large quantities for the mass market. In some cases, this code-size saving may make the difference between being able to fit the microcontroller’s on-chip memory or not.
“The continued support from SEGGER is a great asset to the RISC-V ecosystem,” said Drew Barbier, Senior Director of Product Marketing, SiFive. “SEGGER has supported SiFive RISC-V Core IP since 2017 and the emRun library represents superb added value for embedded developers working with SiFive IP. We look forward to continued co-operation as the RISC-V ecosystem continues to grow and evolve.”
“For microcontroller applications, it is important to use memory efficiently,” says SEGGER CEO Ivo Geilenbrügge. “With the licensing of emRun, SiFive now enables its customers to achieve minimum code sizes and thus to reduce their costs for expensive memory.”
A key component of emRun is emFloat, a highly optimised, IEEE 754 compliant floating-point library, designed from the ground up for embedded systems. Very fast and very small, it delivers FPU-like performance in pure software. Even where an FPU is available emFloat boosts the FPU’s performance for complex mathematical functions. emFloat is configurable for small code size or increased execution speed or a combination, with calculated results identical in all modes.