{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,7]],"date-time":"2025-08-07T09:06:22Z","timestamp":1754557582524,"version":"3.41.0"},"reference-count":20,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2018,3,20]],"date-time":"2018-03-20T00:00:00Z","timestamp":1521504000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGBED Rev."],"published-print":{"date-parts":[[2018,3,20]]},"abstract":"<jats:p>\n            In the era of the Internet of Things (IoT), millions of devices and embedded platforms based on low-cost and limited resources microcontroller units (MCUs) will be used in continuous operation. Even if over-the-air firmware update is today a common feature, many applications might require not to reboot or to support hardware resource sharing. In such a context\n            <jats:italic>stop, update<\/jats:italic>\n            and\n            <jats:italic>reboot<\/jats:italic>\n            the platform is unpractical and dynamic loading of new user code is required. This in turn requires mechanisms to protect the MCU hardware resources and the continuously executing system tasks from uncontrolled perturbation caused by new user code being dynamically loaded. In this paper, we present a framework which provides a lightweight virtualization of the IO and platform peripherals and permits the dynamic loading of new user code. The aim of this work is to support critical isolation features typical of virtualization-ready CPUs on low-cost low-power microcontrollers with no MMU (Memory Management Unit), IOMMU or dedicated instruction extensions. Our approach only leverages the Memory Protection Unit (MPU), which is generally available in all ARM Cortex-M3 and Cortex-M4 microcontrollers. Experimental evaluations demonstrate not only the feasibility, but also the really low impact of the proposed framework in terms of memory requirements and runtime overhead.\n          <\/jats:p>","DOI":"10.1145\/3199610.3199617","type":"journal-article","created":{"date-parts":[[2018,3,22]],"date-time":"2018-03-22T15:17:48Z","timestamp":1521731868000},"page":"50-56","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Lightweight IO virtualization on MPU enabled microcontrollers"],"prefix":"10.1145","volume":"15","author":[{"given":"Francesco","family":"Paci","sequence":"first","affiliation":[{"name":"University of Bologna, Bologna, Italy"}]},{"given":"Davide","family":"Brunelli","sequence":"additional","affiliation":[{"name":"University of Trento, Trento, Italy"}]},{"given":"Luca","family":"Benini","sequence":"additional","affiliation":[{"name":"University of Bologna, Bologna, Italy and ETHZ, Z\u00fcrich, Switzerland"}]}],"member":"320","published-online":{"date-parts":[[2018,3,20]]},"reference":[{"key":"e_1_2_1_1_1","first-page":"V5","volume-title":"2010 3rd International Conference on Advanced Computer Theory and Engineering(ICACTE)","volume":"5","author":"Lu","year":"2010","unstructured":"Lu Tan et al. . Future internet: The internet of things . In 2010 3rd International Conference on Advanced Computer Theory and Engineering(ICACTE) , volume 5 , pages V5 - 376 --V5-380, Aug 2010 . Lu Tan et al. . Future internet: The internet of things. In 2010 3rd International Conference on Advanced Computer Theory and Engineering(ICACTE), volume 5, pages V5-376--V5-380, Aug 2010."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/COMST.2015.2444095"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/CLOUD.2011.29"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/1160162.1160178"},{"key":"e_1_2_1_5_1","volume-title":"Presented as part of the 5th Workshop on Hot Topics in Software Upgrades","author":"Simon Holmbacka","year":"2013","unstructured":"Simon Holmbacka et al. Lightweight framework for runtime updating of c-based software in embedded systems . In Presented as part of the 5th Workshop on Hot Topics in Software Upgrades , Berkeley, CA , 2013 . USENIX. Simon Holmbacka et al. Lightweight framework for runtime updating of c-based software in embedded systems. In Presented as part of the 5th Workshop on Hot Topics in Software Upgrades, Berkeley, CA, 2013. USENIX."},{"key":"e_1_2_1_6_1","unstructured":"ARM Virtualization Extension. https:\/\/www.arm.com\/.  ARM Virtualization Extension. https:\/\/www.arm.com\/."},{"key":"e_1_2_1_7_1","unstructured":"ARM Security Technology - Building a Secure System using TrustZone Technology. Whitepaper April 2009. ARM Security Technology - Building a Secure System using TrustZone Technology. Whitepaper April 2009."},{"key":"e_1_2_1_8_1","volume-title":"Trustzone: Integrated hardware and software security-enabling trusted computing in embedded systems. White paper, arm, july","author":"Alves T.","year":"2004","unstructured":"T. Alves and D. Felton . Trustzone: Integrated hardware and software security-enabling trusted computing in embedded systems. White paper, arm, july 2004 . T. Alves and D. Felton. Trustzone: Integrated hardware and software security-enabling trusted computing in embedded systems. White paper, arm, july 2004."},{"key":"e_1_2_1_9_1","unstructured":"Micropython website. http:\/\/micropython.org\/.  Micropython website. http:\/\/micropython.org\/."},{"key":"e_1_2_1_10_1","unstructured":"PyMite. https:\/\/wiki.python.org\/moin\/PyMite.  PyMite. https:\/\/wiki.python.org\/moin\/PyMite."},{"key":"e_1_2_1_11_1","unstructured":"Oracle Java ME Embedded. http:\/\/www.oracle.com\/.  Oracle Java ME Embedded. http:\/\/www.oracle.com\/."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1644038.1644056"},{"key":"e_1_2_1_13_1","unstructured":"Espruino Javascript Interpreter. http:\/\/www.espruino.com\/.  Espruino Javascript Interpreter. http:\/\/www.espruino.com\/."},{"key":"e_1_2_1_14_1","unstructured":"Embedded power driven by Lua. http:\/\/www.eluaproject.net\/.  Embedded power driven by Lua. http:\/\/www.eluaproject.net\/."},{"key":"e_1_2_1_15_1","first-page":"2012","article-title":"Virtualsense: A java-based open platform for ultra-low-power wireless sensor nodes","author":"Alessandro Bogliolo","year":"2012","unstructured":"Alessandro Bogliolo et al . . Virtualsense: A java-based open platform for ultra-low-power wireless sensor nodes . International Journal of Distributed Sensor Networks , 2012 , 2012 . Alessandro Bogliolo et al. . Virtualsense: A java-based open platform for ultra-low-power wireless sensor nodes. International Journal of Distributed Sensor Networks, 2012, 2012.","journal-title":"International Journal of Distributed Sensor Networks"},{"key":"e_1_2_1_16_1","unstructured":"Contiki: The Open Source OS for the Internet of Things. http:\/\/www.contiki-os.org\/.  Contiki: The Open Source OS for the Internet of Things. http:\/\/www.contiki-os.org\/."},{"key":"e_1_2_1_17_1","first-page":"1","volume-title":"Proceedings of the 15th International Conference on Information Processing in Sensor Networks, IPSN '16","author":"Michael","year":"2016","unstructured":"Michael P. Andersen et al. . System design for a synergistic, low power mote\/ble embedded platform . In Proceedings of the 15th International Conference on Information Processing in Sensor Networks, IPSN '16 , pages 17: 1 -- 17 :12, Piscataway, NJ, USA , 2016 . IEEE Press. Michael P. Andersen et al. . System design for a synergistic, low power mote\/ble embedded platform. In Proceedings of the 15th International Conference on Information Processing in Sensor Networks, IPSN '16, pages 17:1--17:12, Piscataway, NJ, USA, 2016. IEEE Press."},{"key":"e_1_2_1_18_1","unstructured":"FreeRTOS website. http:\/\/www.freertos.org\/.  FreeRTOS website. http:\/\/www.freertos.org\/."},{"key":"e_1_2_1_19_1","unstructured":"ST Microelectronics Nucleo Boards. http:\/\/www.st.com\/.  ST Microelectronics Nucleo Boards. http:\/\/www.st.com\/."},{"key":"e_1_2_1_20_1","unstructured":"ST Microelectronics Hardware Abstraction Layer Driver. http:\/\/www.st.com\/.  ST Microelectronics Hardware Abstraction Layer Driver. http:\/\/www.st.com\/."}],"container-title":["ACM SIGBED Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3199610.3199617","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3199610.3199617","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T19:07:18Z","timestamp":1750273638000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3199610.3199617"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,3,20]]},"references-count":20,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2018,3,20]]}},"alternative-id":["10.1145\/3199610.3199617"],"URL":"https:\/\/doi.org\/10.1145\/3199610.3199617","relation":{},"ISSN":["1551-3688"],"issn-type":[{"type":"electronic","value":"1551-3688"}],"subject":[],"published":{"date-parts":[[2018,3,20]]},"assertion":[{"value":"2018-03-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}