5.3 Combining the Bootloader and Application for PIC® Devices
This section demonstrates how to merge the bootloader and application projects into a single hex file for 8-bit PIC devices.
In a production environment, it is common practice to build both the bootloader code an the application code together into a single hex file. This allows both projects to be programmed at the exact same time. This section demonstrates how to combine the bootloader and application projects into a unified hex file using MPLAB X.
- To begin combining the
application and bootloader projects, set the bootloader project as
the Main Project.
From the Projects tab, right click on the bootloader project and select Set as Main Project.
Figure 5-55. Set the Bootloader to Main Project - Next, create a new
configuration in the bootloader project and rename it to
‘NO_CONFIG_BITS’.Important: This new configuration will create a project ecosystem where the bootloader and application will share the same configuration bits. Make sure that your bootloader can operate with the application’s configuration.
Navigate to Project Properties>Manage Configurations.... Click Duplicate with the default configuration selected to create a copy, and then Rename the resulting copy to ‘NO_CONFIG_BITS’. Then click OK and OK again.
Figure 5-56. Create the New Bootloader Configuration Figure 5-57. Resulting Bootloader Configurations - In the new configuration,
define a new macro by navigating to Project Properties>XC8
Global Options>XC8 Compiler>Preprocessing and
messages. Double click on the Define
macros text box and add one macro for ‘NO_CONFIG’. Click
OK.
Figure 5-58. Defining a New Macro - Add the following changes
to the
config_bits.c
file.Note: This change will remove the configuration bits from the NO_CONFIG_BITS configuration.Figure 5-59. Edit the Configuration Bits Source File CAUTION: The NO_CONFIG_BITS configuration must never be directly programmed to the device. This configuration will only be used when you are attempting to combine the application and bootloader hex files.
- Set the application
project as the Main Project.
- Create a new
configuration in the application project and rename it to
‘COMBINED’.
Navigate to Project Properties>Manage Configurations.... Click Duplicate with the bootable configuration selected and then Rename the resulting copy to ‘COMBINED’. Then click OK and OK again.
Figure 5-60. Create the New Combined Configuration - Add the bootloader’s
NO_CONFIG_BIT configuration as a loadable project to the ‘COMBINED’
application configuration.
In the COMBINED configuration, navigate to Project Properties>Loading and then click the Add Loadable Project... button.
Figure 5-61. Adding the Bootloader to the Application Figure 5-62. Select the Bootloader NO_CONFIG_BITS Configuration Click Add and then Apply.
Figure 5-63. Completed COMBINED Configuration -
Figure 5-64. Select the COMBINED Configuration - Clean and Build
the COMBINED configuration.