Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Embedded and Microcontrollers blog Is there going to be more than one OS running in your next design?
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • hd_video
  • Cortex-A9
  • smp
  • hd
  • rtos
  • multi-core
  • express_logic
  • ambarella
  • expresslogic
  • amp
  • Linux
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Is there going to be more than one OS running in your next design?

David Blaza
David Blaza
April 30, 2015

With so many ARM based multicore boards coming to market we are hearing more about systems running multiple operating systems on similar cores (SMP, symmetric multi-processing) or differing cores (AMP, asymmetric multiprocessing).   bill lamie.jpgSo why would you want to run multiple operating systems anyway? I spoke to Bill Lamie, CEO of ARM partner Express Logic who has a storied history with both ARM and real time operating systems (RTOS).  Bill remembers porting the Nucleus RTOS to the first commercial ARM processor even before he wrote ThreadX (Nucleus is now owned by Mentor Graphics) so has seen the evolution of embedded computing up close.

Any good embedded software developer has to think about the classic tradeoff of system performance versus reliability/up time which if you are running a single OS it can be challenging and limiting.  With ARM multicore boards being available for under $100 now SMP and AMP are within reach of every embedded developer.  The other trend that comes into play here is that increasingly embedded systems (and their IoT progeny) need graphical user interfaces (GUI) and access to multiple communications networks.  So in many embedded designs running separate operating systems to handle different system functions solves many of the classic tradeoff problems and now it’s never been easier.  An RTOS like ThreadX might run networking on one core and Linux or Android running on another core might drive the user interface and graphics.  A great example of this is Express Logic’s customer Ambarella who produces IC’s for the action HD camera market.  Pictured below is the Ambarella 4K SoC development kit:

ambarella board.png

Ambarella’s products are in camera’s that sit on dashboards, are strapped to bike helmets, on police officers uniforms and generally exist in extreme conditions but need to weather it all.  These devices need an RTOS to manage the system but also have user interfaces, networking and battery management that may not need to be real time.  Using multiple ARM cores gives Ambarella the opportunity to spread the diverse workloads their SoC needs to handle over dual Cortex-A9 cores and a companion ARM11 core:

ambarella block diag.png

By taking the multi-OS approach on a multicore SoC means Ambarella can sell chips into new video applications that need to be “always on” but consume very little power and work in extreme conditions.  Not all applications will have such strenuous processing needs but the concept of taking the best OS and the best ARM core for the job and combining them is a major trend in systems design you need to think about.  Check out Express Logic and the ThreadX RTOS if you aren't familiar with it here.

If you are you planning on running more than one OS in your next design (or current) please tell us what you are doing and you can read more articles about Exploring the world of ARM based Embedded Computing Boards (ECB).

Anonymous
  • ARM CORTEX -OS
    ARM CORTEX -OS over 5 years ago

    hi,

     if i use ARM cortex M4, can we change  the OS at any time ?

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • Jerome Decamps - 杜尚杰
    Jerome Decamps - 杜尚杰 over 10 years ago

    I like everything about the virtualization on ARM . I think this is the purpose of this process. Under the operation to Xen already been a success on many boards . I had try it on the TI Omap 5432-uEvm, thanks to the Cortex A15 . But not that, one can note this can be do on the ODROID XU.

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Embedded and Microcontrollers blog
  • Adapting Kubernetes for high-performance IoT Edge deployments

    Alexandre Peixoto Ferreira
    Alexandre Peixoto Ferreira
    In this blog post, we address heterogeneity in IoT edge deployments using Kubernetes.
    • August 21, 2024
  • Evolving Edge Computing and Harnessing Heterogeneity

    Alexandre Peixoto Ferreira
    Alexandre Peixoto Ferreira
    This blog post identifies heterogeneity as an opportunity to create better edge computing systems.
    • August 21, 2024
  • Demonstrating a Hybrid Runtime for Containerized Applications in High-Performance IoT Edge

    Chris Adeniyi-Jones
    Chris Adeniyi-Jones
    In this blog post, we show how a hybrid runtime and k3s can be used to deploy an application onto an edge platform that includes an embedded processor.
    • August 21, 2024