{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,6]],"date-time":"2026-01-06T01:59:14Z","timestamp":1767664754033,"version":"build-2065373602"},"reference-count":17,"publisher":"MDPI AG","issue":"7","license":[{"start":{"date-parts":[[2024,4,1]],"date-time":"2024-04-01T00:00:00Z","timestamp":1711929600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"National Funds through the Portuguese funding agency, FCT\u2014Funda\u00e7\u00e3o para a Ci\u00eancia e a Tecnologia","award":["LA\/P\/0063\/2020","UIDB\/00308\/2020"],"award-info":[{"award-number":["LA\/P\/0063\/2020","UIDB\/00308\/2020"]}]},{"name":"Portuguese Foundation for Science and Technology","award":["LA\/P\/0063\/2020","UIDB\/00308\/2020"],"award-info":[{"award-number":["LA\/P\/0063\/2020","UIDB\/00308\/2020"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Electronics"],"abstract":"<jats:p>This article presents a new firmware update paradigm for optimising the procedure in microcontrollers. The aim is to allow updating during program execution, without interruptions or restarts, replacing only specific code segments. The proposed method uses static and absolute addresses to locate and isolate the code segment to be updated. The work focuses on Microchip\u2019s PIC18F27K42 microcontroller and includes an example of updating functionality without affecting ongoing applications. This approach is ideal for band limited channels, reducing the amount of data transmitted during the update process. It also allows incremental changes to the program code, preserving network capacity, and reduces the costs associated with data transfer, especially in firmware update scenarios using cellular networks. This ability to update the normal operation of the device, avoiding service interruption and minimising downtime, is of remarkable value.<\/jats:p>","DOI":"10.3390\/electronics13071328","type":"journal-article","created":{"date-parts":[[2024,4,1]],"date-time":"2024-04-01T05:42:43Z","timestamp":1711950163000},"page":"1328","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["Innovative Firmware Update Method to Microcontrollers during Runtime"],"prefix":"10.3390","volume":"13","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"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5441-4394","authenticated-orcid":false,"given":"Victor D. N.","family":"Santos","sequence":"additional","affiliation":[{"name":"Polytechnic Institute of Coimbra, Coimbra Institute of Engineering, Rua Pedro Nunes-Quinta da Nora, 3030-199 Coimbra, Portugal"},{"name":"INESC Coimbra, DEEC, Polo II, 3030-290 Coimbra, Portugal"}]},{"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"}]}],"member":"1968","published-online":{"date-parts":[[2024,4,1]]},"reference":[{"key":"ref_1","unstructured":"Dumais, A., and Schlunder, H. (2018). AN2601\u2014Online Firmware Updates in Timing-Critical Applications, Microchip Technology Inc.. Available online: https:\/\/ww1.microchip.com\/downloads\/en\/Appnotes\/Live%20Update%20Application%20Note.pdf."},{"key":"ref_2","unstructured":"Kilpel\u00e4inen, H. (2023). Dynamic Firmware Updating of an Embedded System. [Bachelor\u2019s Thesis, Information and Communications Technology, Metropolia University of Applied Sciences]."},{"key":"ref_3","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_4","unstructured":"(2021). Low-Power High-Performance Microcontrollers with XLP Technology, Microchip Technology Inc.. Available online: https:\/\/ww1.microchip.com\/downloads\/aemDocuments\/documents\/MCU08\/ProductDocuments\/DataSheets\/PIC18%28L%29F26-27-45-46-47-55-56-57K42-Data-Sheet-40001919G.pdf."},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Mahfoudhi, F., Sultania, A.K., and Famaey, J. (2022). Over-the-air firmware updates for constrained Nb-IOT devices. Sensors, 22.","DOI":"10.3390\/s22197572"},{"key":"ref_6","unstructured":"Frisch, D., Rei\u00dfmann, S., and Pape, C. (2024, March 27). An Over the Air Update Mechanism for ESP8266 Microcontrollers. Available online: https:\/\/www.researchgate.net\/publication\/320335879."},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Kachman, O., and Balaz, M. (2016, January 20\u201322). Optimized differencing algorithm for firmware updates of low-power devices. Proceedings of the IEEE 19th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS), Kosice, Slovakia.","DOI":"10.1109\/DDECS.2016.7482473"},{"key":"ref_8","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_9","doi-asserted-by":"crossref","unstructured":"Ji, Z., Xiangyu, Z., and Yong, P. (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.","DOI":"10.2991\/iea-15.2015.39"},{"key":"ref_10","unstructured":"Kwon, J. (2024, January 10). Available online: https:\/\/ai-soc.github.io\/m_jskwon.html."},{"key":"ref_11","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_12","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_13","unstructured":"Sun, S. (2019). Design and Implementation of Partial Firmware Upgrade. [Master\u2019s Thesis, School of Electrical Engineering and Computer Science, KTH Royal Institute of Technology]."},{"key":"ref_14","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_15","unstructured":"Baldassari, F. (2024, January 10). Saving Bandwidth with Delta Firmware Updates. Interrupt. Available online: https:\/\/interrupt.memfault.com\/blog\/ota-delta-updates."},{"key":"ref_16","unstructured":"MPLAB XC8 C Compiler (2020). MPLAB\u00ae XC8 C Compiler User\u2019s Guide for PIC\u00ae MCU, Microchip Technology Inc.. Available online: https:\/\/ww1.microchip.com\/downloads\/en\/devicedoc\/50002053g.pdf."},{"key":"ref_17","unstructured":"(2020). Bootloader Generator User\u2019s Guide, Microchip Technology Inc.. Available online: https:\/\/ww1.microchip.com\/downloads\/en\/DeviceDoc\/40001779B.pdf."}],"container-title":["Electronics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2079-9292\/13\/7\/1328\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T14:22:09Z","timestamp":1760106129000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2079-9292\/13\/7\/1328"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,4,1]]},"references-count":17,"journal-issue":{"issue":"7","published-online":{"date-parts":[[2024,4]]}},"alternative-id":["electronics13071328"],"URL":"https:\/\/doi.org\/10.3390\/electronics13071328","relation":{},"ISSN":["2079-9292"],"issn-type":[{"type":"electronic","value":"2079-9292"}],"subject":[],"published":{"date-parts":[[2024,4,1]]}}}