Modular Bootloader Architecture in Embedded Systems: Exploring the boundary between hardware dependence and hardware independence
2026 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Student thesisAlternative title
Undersökning av Modulär Bootloader Arkitektur inom Inbyggda System (Swedish)
Abstract [en]
Within the communities of embedded software development, early hardware booting software is often tightly coupled to hardware specific logic. This implies that when developing a new product using, e.g. a microcontroller unit, the developer may need to develop a full new booting program.This thesis investigates whether a bootloader for embedded systems can be designed with a modular and portable architecture without compromising performance or hardware control. A Modular Bootloader (MBL) was developed in C for bare-metal environments using a Hardware Abstraction Layer (HAL) to separate platform specific code from portable boot logic. The architecture consists of four layers: platform specific code, HAL, a portable boot core, and self sustaining modules.
Three modules were implemented: RAM-based application loading, CRC32 validation, and reprogramming using channels such as UART and SD memory unit. The architecture was evaluated on two targeted platforms: the Beaglebone Black (AM335x) and the STM32F401RE.
The results show that the architecture design provides an effective separation between hardware dependent and hardware independent code and enables code reusability. However, code reviews identified questionable breaches in the modular contract. The results of the performance measurements show a predictable performance overhead.
The study concludes that a lightweight bare metal bootloader can be made both modular and portable through HAL-based abstraction.
Place, publisher, year, edition, pages
2026. , p. 69
National Category
Engineering and Technology Embedded Systems
Identifiers
URN: urn:nbn:se:liu:diva-227031ISRN: LIU-IDA/LITH-EX-A--26/045--SEOAI: oai:DiVA.org:liu-227031DiVA, id: diva2:2093753
External cooperation
Saab Dynamics
Subject / course
Computer Engineering
Supervisors
Examiners
2026-08-282026-08-192026-08-28Bibliographically approved