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++ has become increasingly important in the embedded sector, offering developers more and more options. 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++, claims Segger, allows hard real-time applications to be written in C++. To avoid overheads 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 service routines.
Inside emRun++ is a C++17 standard library with standard algorithms (sorting, searching, transformations), generic container templates (such as sets, vectors, lists, queues, stacks, maps), function objects, iterators, localisation, strings, streams and utility functions.