Here is my understanding:
1. At least two ways to enter bootloader:
a. When boot up, enter bootloader, wait boot command until timeout or no timeout, decided by user.
b. In application mode, jump to bootloader according to uer's code.
2. Entering bootloader is MCU's work. After entering bootloader, host should use bootloader protocol/command to control MCU updating or going to app.
It answers my questions.