• No results found

Hardware/microprocessor Run- time executive (real- time OS, hypervisor, etc.) Web messaging infrastructure

N/A
N/A
Protected

Academic year: 2021

Share "Hardware/microprocessor Run- time executive (real- time OS, hypervisor, etc.) Web messaging infrastructure"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

Firmware  Strategy  for  the  Internet  of  Cars   David  Kleidermacher,  CTO  

Green  Hills  Software    

The   Internet   of   Things   (IoT)   trend   can   be   defined   as   the   rapid   assimilation   of   the   world’s  objects  (anything  that  is  not  already  a  networked  computer  such  as  a  PC  or   smartphone)  into  the  Internet.  This  transformation  is  accelerating  rapidly  due  to  the   availability  of  ultra  low  size,  weight,  power,  and  cost  digital  processing  and  wireless   connectivity,  and  the  connected  car  is  taking  center  stage  in  this  revolution  –  hence   the  Internet  of  Cars  (IoC).    Within  the  car,  there  is  likely  to  be  multiple  networked   components,  including  telematics  units,  gateways,  infotainment,  and  ADAS,  to  name   a  few.    

 

In   this   article,   we   arm   both   new   and   experienced   automotive   systems   developers   with  a  firmware  strategy  to  ensure  success  in  the  IoC.    We  define  the  major  layers  of   the  firmware  stack,  the  major  goals  or  focal  points  of  a  firmware  strategy,  and  finally   high-­‐level  guidance  for  these  points  at  each  layer.  

 

Firmware  Stack    

When  deciding  on  a  firmware  strategy,  the  following  major  layers  are  important:    

-­‐ Hardware/microprocessor  

-­‐ Run-­‐time  executive  (real-­‐time  OS,  hypervisor,  etc.)   -­‐ Web  messaging  infrastructure  

 

Traditionally,   firmware   is   thought   of   as   bootloaders   and   the   operating   system   kernel.     However,   it   is   impossible   to   develop   a   quality   firmware   strategy   without   making  sound  hardware  decisions.  Furthermore,  in  the  IoC,  many  applications  are   remotely,   rather   than   locally,   hosted.     Thus,   web-­‐messaging   infrastructure   –   the   lingua  franca  of  the  IoT  –  must  be  considered  an  integral  part  of  firmware  strategy.   Software  applications  remain  above  the  firmware  layer,  regardless  of  whether  they   make  use  of  local  or  web  APIs.  

 

Strategic  Goals    

The  following  five  goals  should  be  included  in  an  IoC  firmware  strategy:      

-­‐ Ease  of  use  /  learning   -­‐ Maximal  use  of  standards     -­‐ Think  security    

-­‐ Design  for  efficiency   -­‐ Plan  for  scalability      

(2)

asset  -­‐  your  developers  -­‐  live  every  day.  Do  not  underestimate  the  long-­‐term  impact   of  an  optimized  day-­‐to-­‐day  firmware  development,  testing,  and  maintenance  cycle.   Utilizing  protocols  and  architectures  compliant  to  open  standards  will  provide  many   benefits,   from   a   wider   range   of   available   products   to   a   larger   pool   of   experienced   developers.   The   IoC   brings   profound   security   and   privacy   challenges,   and   developers  that  fail  to  consider  security  in  initial  concepts  and  designs  may  be  faced   with  project  or  company-­‐killing  failures  later.  Scalability  is  a  factor  that  often  goes   underappreciated;  designers  must  consider  how  firmware  choices  will  scale  across   products   within   a   model   year   as   well   as   generations   of   model   years   to   come,   in   order  to  protect  those  investment  decisions.  

 

Now  let’s  dive  deeper  and  apply  these  focus  points  across  the  firmware  stack.    

Hardware    

There   are   many   microprocessor   architectures   from   which   to   choose   in   new   IoC   designs.   Prefer   those   that   offer   numerous   toolset   choices.   Look   for   a   processor   architecture  that  scales  across  product  families  and  generations.  For  example,  ARM   has  offerings  in  the  ultra  low  power  MCU  area  to  ARM/FPGA  combos  to  64-­‐bit  cloud   server  processors.    

 

An   important   aspect   of   scalability   in   hardware   selection   is   support   for   software/system  robustness;  as  IoC  devices  grow  in  complexity,  the  role  of  memory   management   units   (MMU),   virtual   memory,   and   hardware   virtualization   support   become   increasingly   important.   Again   by   way   of   example,   the   recently   announced   ARMv8-­‐R   architecture   is   the   first   ever   to   offer   all   three   in   a   design   aimed   at   real-­‐ time,  embedded  processing  applications.  

 

Run-­‐Time  Executive    

Run-­‐time   execution   platform   selection   is   critical   to   IoC   firmware   strategy.   The   executive   is   responsible   for   efficient   and   secure   resource   management   across   the   device.  There  are  tons  of  kernels  -­‐    CMX,  FreeRTOS,  uc/OS,  MQX,  RTXC,  T-­‐Kernel  -­‐   just   to   name   a   few,   that   provide   similar   scheduling,   multithreading,   and   synchronization   services   upon   which   one   can   build   basic   IoC   systems.   What   practically  all  of  these  have  in  common,  however,  is  the  use  of  proprietary  APIs  and   an  inability  to  take  maximum  advantage  of  the  aforementioned  high-­‐end  robustness   hardware  capabilities.  

 

On   the   other   end   of   the   scale   is   Linux.   With   its   open   source   licensing   and   widespread   availability   of   developers,   middleware,   and   applications,   Linux   has   an   undeniably  important  position  in  the  run-­‐time  strategy  for  IoC,  regardless  of  flavor   (GENIVI,   AGL,   Android,   etc.).   However,   Linux   has   problems   scaling   to   lower   end   designs,   real-­‐time   latency   and   instant-­‐on   limitations,   and   lacks   the   safety   and   security  pedigree  one  would  like  to  have  in  a  future-­‐proofed  IoC  strategy.  

(3)

There  is  an  IoC  sweet  spot  between  these  two  extremes:  the  microkernel.  Monolithic   general-­‐purpose  operating  systems,  such  as  Linux,  contain  system  software,  such  as   networking  stacks,  file  systems,  and  device  drivers  that  share  a  single  memory  space   and  execute  in  privileged  mode.  This  results  in  a  large  footprint  and  a  plethora  of   robustness   challenges,   as   exhibited   by   the   many   vulnerabilities   found   in   smartphones.    

 

Figure 1 - Microkernel vs. monolithic architecture

 

In  contrast,  a  microkernel  runs  a  minimal  set  of  services  and  can  run  on  anything   from  a  cheap  microcontroller  without  MMU  to  the  beefy  multicore  processors  we’re   now   seeing   in   head   units.   The   microkernel   supports   lightweight,   real-­‐time   virtual   memory  processes  that  provide  a  scalable,  robust  environment  for  IoC  developers.   Figure  1  depicts  the  difference  between  the  microkernel  and  monolith  approaches.   Most  major  new  operating  systems  are  built  with  microkernels  and  run  practically   every  type  of  electronic  product.  Examples  of  microkernel-­‐based  operating  systems   include  Green  Hills’  INTEGRITY  and  PikeOS.    

 

However,  the  decision  to  use  a  microkernel  or  Linux  need  not  be  mutually  exclusive;   a  sound  IoT  firmware  strategy  can  leverage  the  real-­‐time,  footprint,  and  robustness   advantage   of   a   microkernel   as   well   as   the   device   driver,   middleware,   and   applications   availability   of   Linux.   This   happy   coexistence   is   enabled   with   system   virtualization.   Figure   2   shows   virtualization   as   a   service   of   the   microkernel.   Examples  of  microkernel  hypervisors  include  the  INTEGRITY  Multivisor  from  Green   Hills  Software  and  some  variants  of  the  L4  microkernel.    

(4)

 

Figure 2 - Microkernel hypervisor architecture for IoC

 

Web  Services  Middleware    

Including  web  services  middleware  in  an  article  about  firmware  strategy  may  seem   blasphemous,  but  the  IoT  is  changing  how  we  think  about  devices.  With  ubiquitous   connectivity  into  the  cloud,  remote  service  calls  become  the  new  OS  service  calls.      

RESTful  web  services  are  the  most  popular  web  middleware  approach  in  resource-­‐ constrained   environments   like   cars.   Developers   can   quickly   develop   RESTful   interactions   with   a   simple   HTTP   client   on   the   device   and   a   web   server   on   the   network.   Because   of   its   relative   simplicity   and   efficiency,   RESTful   looks   well   positioned  to  become  dominant  in  the  IoC.    

 

Figure   3   brings   together   the   entire   IoC   firmware   stack   into   a   single   picture,   including   the   concept   of   multiple   securely   partitioned   web   services   components,   Linux   guest   operating   systems,   and   real-­‐time   and   security-­‐critical   native   microkernel  components.  

(5)

 

Figure 3 - a complete IoC firmware stack

 

We  find  ourselves  in  the  midst  of  an  exciting  time,  when  the  number  of  objects  has   recently  eclipsed  the  number  of  people  (PCs,  smartphones)  on  the  web.  The  Internet   of   Cars   has   the   potential   of   making   our   lives   better   and   yielding   incredible   opportunities   for   automotive   systems   developers,   especially   those   that   approach   their  craft  with  an  effective  firmware  strategy.  

   

Green  Hills,  the  Green  Hills  logo,  MULTI,  INTEGRITY,    and    INTEGRITY  Multivisor  are   trademarks   or   registered   trademarks   of   Green   Hills   Software   in   the   U.S.   and/or   internationally.  All  other  trademarks  are  the  property  of  their  respective  owners.  

References

Related documents

EnduroSat's 1U solar panels provide three connectors for power output from the solar cells, sensor communication and magnetorquer control:. • H1 - Output Power Bus Connector • H2

 OS-hypervisor combination: Ensure that the selected logging, monitoring, or alerting tools support the proposed OS-hypervisor combination.  Network hardware: The network

The objective of this study was to map the peat bogs of the northern part of SdEM, to estimate the pool of organic matter and the volume of water stored therein.. MATERIAL AND

Chouliaraki, L. Post-humanitarianism: Humanitarian communication beyond a politics of pity. The Theatricality of Humanitarianism: A Critique of Celebrity Advocacy. The ironic

Dr Srivastava: Intravitreal sirolimus 440 µg is being developed as a local treatment for noninfectious uveitis involving the posterior segment.. It is a mammalian target of

Run both legacy software applications using a legacy OS and up-to-date applications using a modern OS on a single physical hardware infrastructure..

[126] ATLAS Collaboration, Observation of a new particle in the search for the Standard Model Higgs boson with the ATLAS detector at the LHC,

Abstract: Data collected in the European Cystic Fibrosis Society Patient Registry (ECFSPR) database were used to investigate whether risk factors for death in childhood and