STM32F103ZET6系統啟動過程
一、概述
STM32F103ZET6啟動過程指硬件選擇啟動模式后,執行固件程序之前的一系列動作。對于系統存儲器模式,系統執行Bootloader程序升級狀態,檢測數據進行串口升級;對于內部Flash模式,系統執行啟動文件,設置堆棧大小,配置系統時鐘,最終調用執行到C程序環境main()函數中,執行軟件工程師設計的各功能函數。
二、啟動模式和流程
啟動模式即系統復位(上電復位、硬件復位、軟件復位)后從哪里執行程序,根據BOOT0和BOOT1引腳設置電平不同分為3種:內部Flash、內部SRAM、系統存儲器。
注:0:低電平(接GND);1:高電平(接VDD);x:任意電平,即高低電平均可
BOOT0和BOOT1由硬件上設計,人為修改,一般BOOT1默認置低電平,只需要復位前修改BOOT0電平即可切換內部Flash(工作模式)和系統存儲器(串口下載模式),內部SRAM模式一般也不用。
(1)內部FLASH模式(正常工作模式)
即從內部FLASH開始執行程序。
STM32在復位信號的上升沿瞬間,硬件自動采樣BOOT00和BOOT10到的組合后,芯片內部的存儲器控制器根據BOOT引腳狀態,建立物理地址映射關系,將0x0000 0000地址映射到內部FLASH的首地址0x0800