不同设计场景中的三种BOOT启动方式选择
最近需要用到STM32系列的芯片来做一个项目,之前接触的都是51和430系列的单片机,初次接触ST的,发现ST与之前的所接触的单片机的不同之一在于:ST芯片在下载方式的选择以及程序的启动方式是需要设计开发人员自己选择的,而51和430系列的单片机都是系统默认选择好的,这个是我认为的和之前所接触的单片机最大的不同点之一了(个人观点,可能有偏差)。好了,废话不多说,下面详细介绍一下boot的设置与应用:
从ST芯片手册中截取的boot的设置如下图所示:
下面分别简单介绍一下在不同的下载方式中所需要的不同启动模式:
- Main Flash memory (x0/多用于开发板中)
是STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。
- System memory(01/多应用于项目中)
从系统存储器启动,这种模式启动的程序功能是由厂家设置的。系统存储器是芯片内部一块特定的区域,STM32在出厂时,由ST在这个区域内部预置了一段BootLoader, 也就是我们常说的ISP程序, 这是一块ROM,出厂后无法修改。一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的BootLoader中