cembeddedmicrocontrollerbootloaderrtos

Is a bootloader required to run firmware?


I am currently working on firmware for a Stellaris ARM microcontroller board, and I am running the SYS/BIOS RTOS.

I was wondering if the bootloader is required on the board when I upload my firmware onto it. Can I overwrite the bootloader on the flash with my .bin file, or am I required to offset my start address to preserve the bootloader?


Solution

  • In the general case (i.e., not specific to Stellaris), software is software, the bootloader is software, your application is software, the processor cannot tell the difference so quite evidently a bootloader is not required, the software that runs at reset could as easily be your software.

    However, the obvious benefit of a bootloader is the ability to apply in-field updates without connecting special equipment; you might regret losing that capability.

    Some chips (again generally, check your data sheet for Stellaris specifics) have a bootloader in mask ROM rather than Flash and you cannot delete or overwrite that, but usually configuration pins can be set to select the boot behaviour in order to by-pass the bootloader for example.