Is ubiquios an RTOS?
No. We have no preemption, process control, or advanced OS functionality. We can be run as a bare metal solution as we include memory management, and timer/task services if needed.
Can ubiquios be used with an RTOS?
Yes. ubiquios has a simple execution model to facilitate integration on the broadest range of platforms. Essentially, ubiquios is structured as a “background/foreground system” where most activities occur in the primary “background” execution context, save for certain functions (mostly hardware- triggered) that may be invoked from the “foreground” – typically an interrupt handler, RTOS signal/message handler, or other thread. The ubiquios background is managed by a non-preemptive scheduler accessed via the timer subsystem (which is also available to the user application – a feature useful on bare metal platforms). The timer subsystem essentially implements lightweight multiplexing of a single system timer to meet the requirements of the connectivity stack(s).
The ubiquios background scheduler supports “tick-less” operation to enable minimum power consumption, and can be integrated with a default main loop that is suitable for bare metal systems, or within a thread or task in a third-party RTOS or other existing embedded software framework.
When ubiquios is deployed in combination with a third-party operating system the user application may directly invoke ubiquios functions from the ubiquios thread, or may interact via a proxy to this interface. At the lower edge, the Hardware Abstraction Layer provides the mapping between the OS and microcontroller-agnostic ubiquios core and the target system. ubiquios’ requirements on the platform are minimal – it needs some notion of time (typically provided by a timer interrupt on a bare metal platform, or by the platform operating system), and peripheral/GPIO mappings to transceiver, debug/test engine transports, and/or secure element/crypto offload hardware.
What RTOS’s do you support?
Presently we have solutions running on mbedOS, ThreadX, FreeRTOS, VxWorks, and Zephyr. This list is always expanding so please do check with us if you are using something else.
Do you support Ethernet?
Yes. We provide our hardware abstraction layer in source code so you can easily adapt it to your Ethernet controller.
How big is ubiquios?
That depends. ubiquios is carefully structured to ensure a high level of modularity. The library is designed to ensure that unused components and functionality will be stripped in the link phase. This same modularity ensures that ubiquiOS may be partitioned to integrate with platforms where certain elements of a stack may already exist (e.g., by integrating ubiquiOS’ lower layers with a third-party TCP/IP stack).
We can provide a complete Wi-Fi solution using soft MAC, TLS and MQTT can be as small as 16kB RAM and 60kB of Flash.
What are my options when signing up for a subscription?
When signing up for a ubiquios subscription you will need to make some choices that effect your offering:
- What radio technologies are you using?
- How many units do you want to put ubiquios during the term of the subscription
- Prototyping subscription has a maximum of 10 units you can install the software on
- Other subscriptions vary. The details are on the Getting Started Now page
- What level of support do you want?
- Just through our ticketing system or
- Do you want the ability to talk with our engineers about issues you might run across.
How many units can I put ubiquios on?
You may use ubiquios on the maximum number of units per the level of subscription you sign up for. If you cancel your subscription, then can no longer install ubiquios on any new units.