The Boot interface integrates support for the bootloader into the framework.
- Author
- STMicroelectronics - ST-Korea - MCD Team
- Version
- 1.0.0
- Date
- Nov 21, 2017
This interface is implemented by applications that need to jump to another application during the startup sequence. The typical example is a bootloader. The IBoot interface is used by the system during the startup before the scheduler is running (this means that there is not INIT task yet). The algorithm is displayed in Fig. 16.
Fig.16 - Boot IF
The system reset all peripherals and it initializes the minimum set of resources (like the clock three). At this point if the SysInit() has been called with the parameter TRUE
the system uses the SysGetBootIF() in order to obtain a pointer to an application object that implement the IBoot interface. Then the system initialize the Boot IF by calling the IBootInit() function. The the system check if the DFU trigger condition - IBootCheckDFUTrigger(). If it it is FALSE
then the system prepare the jump to the application. First it retrieves the jump address by calling the IBootGetAppAdderss() function. Then it uses the IBootOnJampToApp() in order to perform some other tasks before the jump. Finally the system check if the application address is valid and make the jump.
In order to optimize the memory footprint of the framework the IBoot interface can be disabled by the linker with the following definition:
#define INIT_TASK_CFG_ENABLE_BOOT_IF 0
It can be added in the sysconfig.h file.
- Attention
© COPYRIGHT 2017 STMicroelectronics
Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at:
http://www.st.com/software_license_agreement_liberty_v2
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.