Sharing common functions across multiple firmwares

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Sharing common functions across multiple firmwares

      I have a bootloader and application firmware created using SEGGER Embedded Studio, but with the current flash size limitations, there is no room for adding new features to the application firmware. Is there a way to place functions used by both the bootloader and application firmware in a shared section, allowing both to reference these functions and reduce total flash usage?

      Additionally, is there a method to import the bootloader’s symbol table into the application firmware so that functions defined in both the bootloader and application occupy memory only in the bootloader’s flash area?
    • I think this is a bad idea.
      Because for one, this "shared" library code must be located in the BL application/sector, or else it would most probably delete itself partially when updating the application.
      However, that defeats the main idea of a separate BL in the first place - you would need to update it almost everytime you update the application. Not to mention, it makes the build/link process much more complicated.

      You are not the first one involved in a project that started out with much too optimistic resource requirement predictions.
      Bite the bullet, and upgrade to the next larger MCU variant - or platform.