This follows on from last year when SiFive licensed Segger’s emRun C runtime library for use in its Risc-V IDE and Tool packages.
“It was an easy decision to upgrade to emRun++ once it became available for licensing,” said SiFive Software Director Sam Grove. “As a modern programming language, C++ is becoming more and more important in the embedded system sector, offering developers more and more opportunities. It is essential for SiFive to be able to offer a state-of-the-art C++ library to our customers. emRun++ is perfectly suited for this purpose.”
emRun++, Segger claims, allows hard real-time applications to be written in C++. To avoid overhead associated with exceptions on resource-constrained hardware, the C++ library is available in a “no-throw” configuration. “Interrupt-safe” memory management allows the use of C++ in interrupt routines.
Inside emRun++ is a C++17 standard library with standard algorithms (sort, search, transforms), common container patterns (such as sets, vectors, lists, queues, stacks, maps), function objects, iterators, localization, strings, streams and useful functions.