2.3 I/O Pins
These components are used to enable the I/O operations of the bootloader firmware.
Entry Pin: The input pin (ENTRY pin) is generally used to control a push button or a similar peripheral on the board that forces the bootloader client into a boot-ready state. This functionality is often used during development, but it is usually not the best solution for the field. The system needs to be built to be able to move back and forth from the bootloader client to the application without the user needing to force an entry through some physical means.
Indicator Pin: The output pin (INDICATE pin) is used to tell the bootloader client user what state the bootloader is currently in. Usually, an LED is connected to indicate the state of the system. The Pin Grid View tab gives a higher level of control over the configuration of the pin on the device, which means the user can activate these pins through software as well. It is always recommended to develop the application code using an indicator on the bootloader, but it is usually not necessary once in the field unless that type of status indication is needed for the solution.
Example: There are three main steps to configure the I/O pins for the bootloader. First, enable the I/O Pin Indicator and I/O Pin Entry options on the MCC UI, then use the MCC Pin Grid View to select an I/O pin for Pin Indicator and Pin Entry functionality.
Configuring I/O Pins
-
Enable pins from UI.
-
I/O Pin Selection.
Any of the pins in the Pin Grid View tab can be chosen, as long as the pin is not responsible for other functionalities in the MCU used. Refer to the specific device data sheet for additional information about the port settings. Refer to the Use Case Example for an in-depth description of this process.
-
Open Pins UI.
-
The INDICATE pin is named BL_INDICATOR, and it is being configured to start high because this board has an LED that is active-low. The bootloader assumes that the pin starts in the Off state and it must use the reverse value to illuminate the LED.
The ENTRY, named BL_ENTRY, oftentimes will use a weak pull-up when the switch is active low to avoid unstable hardware re-entry behavior.