1. Bootloader是如何工作的:
2.正常情况下,程序从flash启动时的启动流程,如下图所示:
- 首先程序从flash启动,根据中断向量表找到复位中断处理函数的地址(0x0800 0004处是中断向量表的起始地址,记录了复位中断处理函数的地址)。
- 执行复位中断处理函数,初始化系统环境之后,该函数最后会跳转到main函数继续运行。
- 在main函数的死循环中一直运行,直到有中断发生时(外设中断等等),重新跳转到中断向量表起始处。
- 在中断向量表中根据中断信号源来判断要执行的中断处理函数,然后跳转到相应的中断处理函数。
- 中断处理函数运行完成之后继续跳转到main函数处继续运行。