RISC-V processor IP is abundant. Open-source code for RISC-V is also widely available, but typically project-based code solves one specific problem. Using only pieces of code, it’s often up to a development team integrate a complete application-ready stack for creating an embedded device. A commercial embedded software development stack puts proven tools together and gets teams to application coding faster. For RISC-V embedded software development, a new port of Siemens’ Nucleus ReadyStart provides that complete solution.
Five areas RISC-V embedded software stacks should cover
Embedded software development is a bit different than enterprise software or EDA software development. There’s a host-target model, where the target machine is very different from the host where coding is done. Target devices are often resource-constrained in size, memory and storage, connectivity, or power consumption. Performance is usually real-time aware in some way, with deadlines that must be met. Sometimes, visibility to what’s going on inside a device is more challenging because a user interface isn’t part of its deployed configuration.
Those differences call for an RISC-V embedded software development stack optimized for the job. State-of-the-art tools like Nucleus ReadyStart set the bar for such an environment in at least these five areas:
- Toolchain and debugging tools – A good stack would tie tools into an integrated design environment (IDE), with easy editing and project management features. A performance-optimized C/C++ compiler is a must. JTAG or BDM debugging provide local or remote (with a debug agent on the target) capability, with awareness of threads.
- System-level trace and analysis tools – Being able to see performance bottlenecks in processes and threading is one capability. Another is the ability to see how power consumption relates to code activity, helping developers adjust efficiency.
- RTOS kernel – Nucleus RTOS is a proven hard real-time operating system (RTOS) kernel for embedded devices. The RISC-V port brings the same small footprint and security features developers have come to expect. It is multicore enabled, has a power management API, and offers a path to safety certification for mission critical devices.
- Connectivity protocols – For deeply embedded devices, support for USB and wireless protocols like Bluetooth and Zigbee enables many applications. Support for IPv4 and IPv6 helps add heavier protocols like Ethernet and Wi-Fi.
- User interface framework – Not every embedded device has a user interface, but when one is called for a robust framework like Qt significantly reduces development and debug time. One innovation is footprint management capability, helping to reduce target code size by configuring which library modules are included for run-time.
For embedded devices at the edge, integration with the cloud is becoming more common. An optional add-on to Nucleus ReadyStart for RISC-V is the Nucleus IoT Framework. It adds support for connecting devices to Amazon Web Services (AWS), Microsoft Azure, and MindSphere from Siemens.
The entire idea is providing foundational value
Many users are turning to RISC-V because they see open-source hardware as the future. For them, it may seem strange to turn to commercial software running on their solution. But the entire idea behind open sourcing is providing foundational value development teams can leverage to create project-specific value at higher levels of an application.
Yes, it may be possible for an embedded development team to piece together an open-source software development stack for RISC-V. It would take precious time and resources to create and maintain that effort. Teams without hard real-time requirements have more choices, for example, a RISC-V Linux distribution. Layering on requirements for multicore and threading, low power consumption, user interface, and connectivity might complicate that effort.
Meanwhile, competitors adopting a commercial solution like Nucleus ReadyStart would be up and running, with support from the teams at Siemens and the confidence gained from a solution deployed on millions of other devices. The Nucleus RTOS kernel is royalty-free, so there is no financial trade-off compared with deploying open-source RTOS or Linux offerings.
Most RISC-V hardware developers are using commercial EDA tools to create their designs, right? Why? Because there’s a huge amount of foundational value a team doesn’t have to recreate to design a chip successfully. The same thinking applies to tools for RISC-V embedded software development. The foundational value in Nucleus ReadyStart for RISC-V brings teams value they can build on right away in creating an embedded device application successfully.
For RISC-V developers evaluating embedded software options, a good place to start is with this short video demonstrating Nucleus RTOS for RISC-V.Share this post via: