Raspberry Pi

The Raspberry Pi Pico board is an excellent example application for Novos

The Raspberry Pi Pico board / RP2040 microcontroller is an example of the type of application that Novos Embedded Environments are designed for – “small” applications using the Arm Cortex M0/M0+ CPU and moderate amounts of memory. Novos provides a purpose-made, ready-to-go embedded solution.

The Pico / RP2040 is an extremely practical and very capable board / microcontroller, ideally suited to the real world of applications using sensors, actuators etc. It is a very cost-effective solution which will be embedded into millions of commercial end-products.

Pico has many uses – as an embedded training product, as a development board, and as an evaluation board when the Pico board and/or the RP2040 microcontroller are to be evaluated as suitable components of a commercial end-product:

Novos / Pico / RP2040 for Commercial End-Products

With Novos available as Free Source Code, the possibilities for real-world end-products are limitless. For example, the ever-expanding market for IoT applications, industrial control systems, portable data collection devices etc.

Novos / Pico – Five Novos Environments including an RTOS

Although our home page focuses on Novos EFB, there are five products in total, including a powerful RTOS at the top end of the range – Novos PPS. Novos EFB will be a perfect fit for almost every application, but some end-products may require the RTOS Multitasking architecture of Novos PPS or one of the other environments within the Novos family.

Most small applications are supported – from end-products built with Novos FB/EFB to those built with the Novos FCFS/RRS/PPS multitasking models with real-time capability. With any of the Novos products, real-time responsiveness at all levels is inherent. A general-purpose OS like Linux for example, is not best suited to applications needing low-latency, real-time responses to external or internal events.

Novos / Pico for Application Development

An extension of the training aspect is to use Pico and Novos together so that Pico becomes a development board to develop application code to be integrated into the Pico board for use as a commercial end-product, or to port the application code to an external board utilising an Arm Cortex M0/M0+ CPU.

Novos / Pico for Training

Using the five Novos environments with Pico and the Novos eBook “Matching the OS to the Application”, users at all levels will learn about the main embedded architectures of Super Loop and the multitasking models of First-Come-First-Served, Round Robin and Pre-emptive Priority Scheduling. Plus the use of the C/C++ compilers typically used in the commercial embedded world – Arm Keil, IAR and NXP. For the more experienced user, the docs go into the more esoteric aspects like priority inversions resulting from mutex usage and how to resolve them.

Novos / Pico for Evaluation

Similarly, Pico and Novos can be used together to evaluate the Pico board itself, and/or the RP2040 chip, to determine whether they are suitable to be incorporated into an end-product.

Novos supports the RP2040 dual CPU design

Having a Novos environment on each core, whether or not they are the same Novos environment, would work well because of the commonality of the APIs in the Novos designs. The two cores of the RP2040 can run Novos environments in an asymmetric multiprocessing model, making it easier to balance the processing load between them for optimal responsiveness and resource use. In another asymmetric model, one core can run PicoOS and the other a Novos environment.