{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,9,14]],"date-time":"2026-09-14T11:05:29Z","timestamp":1789383929744,"version":"build-2803163510"},"reference-count":31,"publisher":"MDPI AG","issue":"18","license":[{"start":{"date-parts":[[2026,9,14]],"date-time":"2026-09-14T00:00:00Z","timestamp":1789344000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>Smart sensor devices increasingly require remote firmware updates to deploy new functionality, security patches and algorithmic improvements without interrupting services. Runtime firmware updates remain a significant challenge in embedded sensing systems, particularly in real-time and high-availability applications where service interruption and system reboot are undesirable. This paper presents an innovative runtime firmware update mechanism for 32-bit embedded systems architecture and integrated with a custom Runtime Scheduler (RTS). The proposed approach enables dynamic Flash Program Memory (FPM) reprogramming without reboot while preserving concurrent task execution, making it suitable for intelligent sensors and edge-based IoT devices requiring continuous operation. Three update granularities, application, function and row levels, were implemented and experimentally evaluated. Reducing update granularity significantly decreased both system downtime and update data size. For the demonstration update developed to validate the concept, function-level updates reduced the transmitted patch size to approximately 35% of the data that would have been required for the equivalent application-level update, while row-level updates reduced the maximum continuous system unavailability time to approximately 16 ms by distributing FPM write operations across multiple RTS cycles. The mechanism also incorporates instruction cache invalidation, dynamic task validation and fault recovery procedures. Experiments using an intelligent power quality monitoring sensor testbed demonstrate its feasibility while improving availability, reducing update overhead and maintaining operational continuity.<\/jats:p>","DOI":"10.3390\/s26185813","type":"journal-article","created":{"date-parts":[[2026,9,14]],"date-time":"2026-09-14T10:19:41Z","timestamp":1789381181000},"page":"5813","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Runtime Firmware Update for 32-Bit Microcontrollers with Instruction Cache Under Concurrent Task Execution"],"prefix":"10.3390","volume":"26","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9018-5859","authenticated-orcid":false,"given":"Bernardino Pinto","family":"Neves","sequence":"first","affiliation":[{"name":"Engineering Department, School of Sciences and Technology, University of Tr\u00e1s-os-Montes and Alto Douro (UTAD), Quinta de Prados, 5000-801 Vila Real, Portugal"},{"name":"ENEIDA, Grid Intelligence, S.A., Rua Alexandre Herculano 21B, 3000-019 Coimbra, Portugal"}],"role":[{"vocabulary":"crossref","role":"author"},{"role":"conceptualization","vocabulary":"credit"},{"role":"methodology","vocabulary":"credit"},{"role":"resources","vocabulary":"credit"},{"role":"investigation","vocabulary":"credit"},{"role":"writing-original-draft","vocabulary":"credit"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5441-4394","authenticated-orcid":false,"given":"Victor D. N.","family":"Santos","sequence":"additional","affiliation":[{"name":"Coimbra Institute of Engineering, Polytechnic University of Coimbra, Rua Pedro Nunes-Quinta da Nora, 3030-199 Coimbra, Portugal"},{"name":"INESC Coimbra, DEEC, Polo II, 3030-290 Coimbra, Portugal"}],"role":[{"vocabulary":"crossref","role":"author"},{"role":"conceptualization","vocabulary":"credit"},{"role":"formal-analysis","vocabulary":"credit"},{"role":"methodology","vocabulary":"credit"},{"role":"writing-review-editing","vocabulary":"credit"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7723-4989","authenticated-orcid":false,"given":"Jos\u00e9 Eduardo G.","family":"Oliveira","sequence":"additional","affiliation":[{"name":"ENEIDA, Grid Intelligence, S.A., Rua Alexandre Herculano 21B, 3000-019 Coimbra, Portugal"}],"role":[{"vocabulary":"crossref","role":"author"},{"role":"resources","vocabulary":"credit"},{"role":"writing-review-editing","vocabulary":"credit"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5798-1298","authenticated-orcid":false,"given":"Ant\u00f3nio","family":"Valente","sequence":"additional","affiliation":[{"name":"Engineering Department, School of Sciences and Technology, University of Tr\u00e1s-os-Montes and Alto Douro (UTAD), Quinta de Prados, 5000-801 Vila Real, Portugal"},{"name":"INESC Technology and Science, 4200-465 Porto, Portugal"}],"role":[{"vocabulary":"crossref","role":"author"},{"role":"conceptualization","vocabulary":"credit"},{"role":"methodology","vocabulary":"credit"},{"role":"writing-review-editing","vocabulary":"credit"}]}],"member":"1968","published-online":{"date-parts":[[2026,9,14]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Neves, B.P., Santos, V.D.N., and Valente, A. (2024). Innovative Firmware Update Method to Microcontrollers during Runtime. Electronics, 13.","DOI":"10.3390\/electronics13071328"},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"2610","DOI":"10.3390\/eng5040137","article-title":"Efficient Runtime Firmware Update Mechanism for LoRaWAN Class A Devices","volume":"5","author":"Neves","year":"2024","journal-title":"Eng"},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"35","DOI":"10.1109\/MCOM.001.1900125","article-title":"Over-the-Air Software Updates in the Internet of Things: An Overview of Key Principles","volume":"58","author":"Bauwens","year":"2020","journal-title":"IEEE Commun. Mag."},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Arakadakis, V., Charalampidis, P., Makris, D., and Skianis, C. (2020). Firmware Over-the-Air Programming Techniques for IoT Networks\u2014A Survey. arXiv.","DOI":"10.1145\/3472292"},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"77","DOI":"10.1016\/j.comnet.2019.04.025","article-title":"Mode-Oriented Hybrid Programming of Sensor Network Nodes for Supporting Rapid and Flexible Utility Assembly","volume":"158","author":"Xia","year":"2019","journal-title":"Comput. Netw."},{"key":"ref_6","unstructured":"Uven, P., Ittershagen, P., and Gr\u00fcttner, K. (2019, January 9\u201311). Design and Analysis of an Online Update Approach for Embedded Microprocessors. Proceedings of the 6th IFIP TC 10 International Embedded Systems Symposium, Friedrichshafen, Germany."},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"100508","DOI":"10.1016\/j.iot.2022.100508","article-title":"Secure Firmware Over-the-Air Updates for IoT: Survey, Challenges, and Discussions","volume":"18","author":"Bouvet","year":"2022","journal-title":"Internet Things"},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"101772","DOI":"10.1016\/j.iot.2025.101772","article-title":"Incremental Firmware Update Over-the-Air for Low-Power IoT Devices over LoRaWAN","volume":"34","author":"Turvani","year":"2025","journal-title":"Internet Things"},{"key":"ref_9","unstructured":"Sun, S. (2019). Design and Implementation of Partial Firmware Upgrade. [Master\u2019s Thesis, KTH Royal Institute of Technology]."},{"key":"ref_10","unstructured":"Zhang, J., Zhu, X., and Peng, Y. (2015, January 27\u201328). Implementation and Research of Bootloader for Automobile ECU Remote Incremental Update. Proceedings of the AASRI International Conference on Industrial Electronics and Applications, London, UK."},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3460234","article-title":"A Modular End-to-End Framework for Secure Firmware Updates on Embedded Systems","volume":"18","author":"Falas","year":"2021","journal-title":"ACM J. Emerg. Technol. Comput. Syst."},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Zhou, M., Hu, X., Wang, Z., Wang, H., Wen, H., Sun, L., and Zhang, P. (2025, January 13\u201317). Dynamic Vulnerability Patching for Heterogeneous Embedded Systems. Proceedings of the ACM\/IEEE Design Automation Conference (DAC), Taipei, Taiwan.","DOI":"10.1145\/3719027.3765200"},{"key":"ref_13","unstructured":"Mackensen, P., Niesler, C., Blanco, R., Davi, L., and Moonsamy, V. (2025). KINTSUGI: Secure Hotpatching for Code-Shadowing Real-Time Embedded Systems. Proceedings of the 34th USENIX Conference on Security Symposium, Seattle WA USA, 13\u201315 August 2025, USENIX Association."},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Wei, W., Banerjee, J., Islam, S., Pan, C., and Xie, M. (2024). Energy-Aware Incremental OTA Update for Flash-Based Batteryless IoT Devices. arXiv.","DOI":"10.1109\/ISVLSI61997.2024.00021"},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Chang, S., Li, A., Jaff, E., Chang, Y., Wang, J., Zhang, N., and Hsiao, H.C. (2024, January 14\u201318). AdapSan: Adaptive Input Sanitization in Medical Systems with eBPF. Proceedings of the 11th ACM Workshop on Adaptive and Autonomous Cyber Defense (AACD 2024), Utah, UT, USA.","DOI":"10.1145\/3689935.3690397"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Bogdan, D., Bogdan, R., and Popa, M. (2016, January 12\u201314). Delta Flashing of an ECU in the Automotive Industry. Proceedings of the IEEE 11th International Symposium on Applied Computational Intelligence and Informatics (SACI), Timisoara, Romania.","DOI":"10.1109\/SACI.2016.7507429"},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"2350","DOI":"10.1109\/TCE.2010.5681111","article-title":"A New Code Compression Method for FOTA","volume":"56","author":"Wee","year":"2010","journal-title":"IEEE Trans. Consum. Electron."},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Dhakal, S., Jaafar, F., and Zavarsky, P. (2019, January 3\u20135). Private Blockchain Network for IoT Device Firmware Integrity Verification and Update. Proceedings of the IEEE 19th International Symposium on High Assurance Systems Engineering (HASE), Hangzhou, China.","DOI":"10.1109\/HASE.2019.00033"},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Kachman, O., and Balaz, M. (2020, January 22\u201324). Efficient Patch Module for Single-Bank or Dual-Bank Firmware Updates for Embedded Devices. Proceedings of the 2020 23rd International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS), Novi Sad, Serbia.","DOI":"10.1109\/DDECS50862.2020.9095744"},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Kwon, J., Cho, J., and Park, D. (2019, January 3\u20136). Function Block-Based Robust Firmware Update Technique for Additional Flash-Area\/Energy-Consumption Overhead Reduction. Proceedings of the International Symposium on Intelligent Signal Processing and Communication Systems (ISPACS), Taipei, Taiwan.","DOI":"10.1109\/ISPACS48206.2019.8986373"},{"key":"ref_21","unstructured":"Kilpel\u00e4inen, H. (2023). Dynamic Firmware Updating of an Embedded System. [Master\u2019s Thesis, Metropolia University of Applied Sciences]."},{"key":"ref_22","unstructured":"Microchip Technology Inc. (2021). PIC32MZ Embedded Connectivity with Floating Point Unit (EF) Family, Microchip Technology Inc.. Available online: https:\/\/ww1.microchip.com\/downloads\/en\/DeviceDoc\/PIC32MZ-Embedded-Connectivity-with-Floating-Point-Unit-Family-Data-Sheet-DS60001320H.pdf."},{"key":"ref_23","unstructured":"Microchip Technology Inc. (2021). Low-Power High-Performance Microcontrollers with XLP Technology: PIC18(L)F26\/27\/45\/46\/47\/55\/56\/57K42, Microchip Technology Inc.. Available online: https:\/\/ww1.microchip.com\/downloads\/en\/DeviceDoc\/PIC18%28L%29F26-27-45-46-47-55-56-57K42-Data-Sheet-40001919G.pdf."},{"key":"ref_24","unstructured":"FreeRTOS (2026). FreeRTOS Kernel Documentation, Amazon Web Services. Available online: https:\/\/docs.freertos.org\/."},{"key":"ref_25","unstructured":"The Zephyr Project (2026). Zephyr Project Documentation, The Linux Foundation. Available online: https:\/\/docs.zephyrproject.org\/."},{"key":"ref_26","unstructured":"ENEIDA, and Grid Intelligence, S.A. (2026, July 07). EdgeSense. Available online: https:\/\/eneida.io\/edgesense."},{"key":"ref_27","unstructured":"Analog Devices, Inc. (2021). ADE9000: High Performance, Multiphase Energy, and Power Quality Monitoring IC, Analog Devices, Inc.. Available online: https:\/\/www.analog.com\/media\/en\/technical-documentation\/data-sheets\/ade9000.pdf."},{"key":"ref_28","unstructured":"STMicroelectronics (2018). STM8L151x6\/8, STM8L152x6\/8, STM8L151xB, STM8L152xB: Ultra-Low-Power 8-Bit MCU with 32 to 128 Kbytes Flash, LCD, USB and EEPROM, STMicroelectronics. Available online: https:\/\/www.st.com\/resource\/en\/datasheet\/stm8l152r8.pdf."},{"key":"ref_29","unstructured":"Texas Instruments (2020). MSP430F552x, MSP430F551x Mixed-Signal Microcontrollers, Texas Instruments. Available online: https:\/\/www.ti.com\/lit\/gpn\/msp430f5529."},{"key":"ref_30","unstructured":"STMicroelectronics (2018). STM32F070x6\/xB: Advanced ARM-Based 32-Bit MCUs, STMicroelectronics. Available online: https:\/\/www.st.com\/resource\/en\/datasheet\/stm32f070cb.pdf."},{"key":"ref_31","unstructured":"STMicroelectronics (2018). STM32H743xI\/G: 32-Bit Arm Cortex-M7 480 MHz Microcontrollers, STMicroelectronics. Available online: https:\/\/www.st.com\/resource\/en\/datasheet\/stm32h743vi.pdf."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/26\/18\/5813\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,9,14]],"date-time":"2026-09-14T10:25:37Z","timestamp":1789381537000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/26\/18\/5813"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,9,14]]},"references-count":31,"journal-issue":{"issue":"18","published-online":{"date-parts":[[2026,9]]}},"alternative-id":["s26185813"],"URL":"https:\/\/doi.org\/10.3390\/s26185813","relation":{},"ISSN":["1424-8220"],"issn-type":[{"value":"1424-8220","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,9,14]]}}}