1. 程式人生 > >stm32 boot0 boot1的啟動方式

stm32 boot0 boot1的啟動方式

 STM32 三種啟動模式對應的儲存介質君是晶片內建的,它們是:

 1.使用者快閃記憶體 =晶片內建的Flash 

 2.SRAM=晶片內建的RAM區,就是記憶體了。

 3.系統儲存器=晶片內部一塊特定的區域,晶片出廠時在這個區域預置了一段bootloader,就是同事的ISP升級程式,這個

   區域的內容在晶片出現後沒偶人能夠修改或拆除,即它是一個ROM;

在每個STM32 的晶片上都有兩個管腳BOOT0和BOOT1,這兩個管腳在晶片復位時電平狀態決定了晶片復位後從哪個區域開始執行程式

 BOOT1=X BOOT0=0  從使用者快閃記憶體(flash)啟動,這時正常模式  較多情況下使用這種模式

 BOOT1=1  BOOT0=1 從內建SRAM(記憶體)啟動,這種模式可以用於除錯

BOOT1=0 BOOT0=1 從系統儲存器啟動, 這種可以用於除錯

 STM32引腳狀態決定了用哪種方式啟動,

  Main Flash memory  (flash啟動)   是STM32內建的flash,一般我們使用JTAG或者SWD模式下載時,就是下載到這裡面,啟動後也直接從這啟動程式。

  System memory 從系統儲存啟動,這種模式啟動的程式功能是有廠家設,一般很少使用,一般來說STM32在出廠是內建了一段bootloader,也就是我們常說的

ISP程式,這是一塊ROM,出廠後我發修改, 這種啟動模式,是為了從串列埠下載程式,因為廠家提供BootLoader中,可以通過bootloader將程式下載到系統Flash中,

   Embedded Memory 內建SRAM,既然是SRAM,自然就沒有程式儲存的能力,這個模式一般用於程式除錯  例如我們修改了程式碼一個小小地方,然後需要拆除整個flash,比較費時

  可以考慮這種啟動方式

     綜合所述,我們將BOOT0和BOOT1通過一個100k的下拉電阻,直接接地。

STM32 啟動過程:

STM32的內部快閃記憶體(flash)地址起始於0x08000000,一般情況下,程式檔案就從地址開始寫入,此外STM32是基於Cortex-M3核心的微控制器,其內部通過一張

中斷向量表來響應,此外,STM32是基於Cortex-M3核心的位控制器,其內部通過一張“中斷向量表”來響應中斷,程式啟動後,首先從"中斷向量表"取出復位中斷向量執行

復位中斷程式完成啟動,而這張"中斷向量表"的起始地址是0x8000004,當中斷來臨,STM32的內部硬體機制會自動將PC指標定位到中斷向量表處,並根據中斷源取出對應的中斷向量執行中斷服務程式。

    在圖53.1.1,STM32 在復位後,先從0x08000004地址取出復位中斷向量的地址,並跳轉到復位中斷服務程式,如題彪了(1)所示,在復位中斷執行完後,會跳轉到我們的

Main函式,如圖(2)所示,而我們的main一般都是一個死迴圈,在main函式執行過程中,如果收到中斷請求,此時STM32強制將PC指標指回中斷向量表處,如圖3所示,

然後,根據中斷源進入相應的中斷服務程式,如圖示號4所示,在執行完中斷服務以後,程式再次返回main函式執行,如圖示號5所示

     

相關推薦

stm32 boot0 boot1啟動方式

 STM32 三種啟動模式對應的儲存介質君是晶片內建的,它們是:  1.使用者快閃記憶體 =晶片內建的Flash   2.SRAM=晶片內建的RAM區,就是記憶體了。  3.系統儲存器=晶片內部一塊特定的區域,晶片出廠時在這個區域預置了一段bootloader,就是同事的I

STM32 BOOT0BOOT1 的應用原理

很多網友在用 keil 下載 程式時,明明下載線連線正常,偏偏程式就是無法下載,還提示晶片未連線。此時可能出錯的原因就在BOOT0上。 首先對BOOT0與BOOT1如何連線及連線方式介紹一下。 STM32 微控制器的BOOT0 和BOOT1 應用原理STM32 三種啟動模式對應的儲存介質均是晶片

STM32STM32啟動方式

在少量晶片程式下載時,用JLINK或SWD的下載方式比較繁瑣,串列埠下載配合正點原子的FLYMCU比較快捷,STM32的串列埠下載時候需要注意MCU的啟動方式。在復位時,會按照boot的狀態判斷進入哪種模式,boot腳不用保持長狀態。在根據STM407參考手冊來看,STM32

stm32啟動方式+上(下)拉電阻 二合一

最近做stm32專案,糾結過其啟動方式。 看到篇不錯的文章,轉載一下。原文格式不太好,內容也有很多奇怪的地方(尤其是第二篇,就先認為原文是原創,只是作者的思路我不懂吧),都一一刪改。想看原文的朋友連結如下: http://www.ithao123.cn/co

mysql的幾種啟動方式

sta allow status option 客戶端連接 mini all res 5.1 mysql的四種啟動方式: 1、mysqld 啟動mysql服務器:./mysqld --defaults-file=/etc/my.cnf --user=root 客戶端連接:

bios設置啟動方式問題

https win 分區 方式 light 中斷 efi view ios uefi和legacy是兩種不同的引導方式,uefi是新式的BIOS,legacy是傳統BIOS。你在UEFI模式下安裝的系統,只能用UEFI模式引導;同理,如果你是在Legacy模式下安裝的系統,

CentOS 7 如何設置默認啟動方式為命令行模式

centos 7 如何設置默認啟動方式為命令行模式1.首先需要有GUI圖形界面,沒有進安裝yum groupinstall "GNOME Desktop" "Graphical Administration Tools" 2.設置系統啟動默認是按照圖形模式還是命令行模式加載systemctl set-defa

SylixOS PMON下啟動方式

燒錄 基於 boot 命令 ade 本地磁盤 圖片 軟件 dev 1. 適用範圍   此文檔適用於指導用戶在PMON下設置SylixOS啟動方式。 2. 系統啟動方式   PMON是一個兼有BIOS和boot loader部分功能的開放源碼軟件,多用於嵌入式系統。基於龍芯的

Dell R730服務器啟動方式選擇

+ - dell 界面 硬盤 boot 可能 setup 找到 一個 新的服務器要裝系統,可能用到的工具光驅,U盤等,包括cobbler裝系統方式會用到PXE啟動,裝完系統之後要恢復從硬盤啟動.1.重啟服務器,按F2進入System Setup;2.進入第一個System

linux 設置tomcat快捷啟動方式

cat tope ase 自己的 cas 方式 tar $1 brush 在linux下搭建好tomcat之後,每次啟動和關閉都要去tomcat的bin目錄下執行./startup.sh和./shutdown.sh 這是很不方便的,下面介紹如何像執行ls mv cp等命令一

SpringBoot的三種啟動方式

mave 項目 main方法 方法 生成 oot body ati jar 1:通過運行項目名+Application裏面的main方法進行啟動 2:進入項目目錄使用命令 mvn spring-boot:run 3:先進入項目目錄通過maven進行編譯:mvn instal

Apache 各啟動方式的差別

pac nbsp 時間 pid off rest httpd usr top apachectl 調用 $httpd -k 1. kill - TERM `cat /usr/local/apache/logs/http.pid` 2. /bin/httpd -k stop

maven的三種啟動方式

tomcat ava share path base sport height rem sun 1 沒有Tomcat情況下;(教程:http://8e351a5c.wiz03.com/share/s/2edhFs04v4Ek2hJTUO1rWuJG3kNEf92eOkvZ2

Tomcat 9.0 7 的兩種開機啟動方式與web頁面管理

Tomcat 9.0 7 開機啟動方式 Tomcat WEB管理 tomcat開機啟動 項目環境 系統平臺: CentOS Linux release 7.4.1708 (Core) 內核 3.10.0-693.el7.x86_64 最小化安裝 配置jdk環境 去oracle官網

web.xml中springmvc或者說spring的啟動方式

都是 成了 根據 this creat pub pro erl value //ContextLoaderListener類中的方法,servlet容器在啟動的時候會實例化ContextLoaderListener並調用本方法,裏面最關鍵的方法是createWebAppl

spring boot/cloud 啟動方式說明

spring boot /cloudspring boot/cloudsh的java開源框架,spring cloud更多註重服務註冊以及服務治理,通俗來講就是我們所說的微服務,需要註意的是spring cloud是基於spring boot的擴展版,關於更多spring boot 以及spring clou

AOC 電視機T3212M 進入 工廠模式方法,修改開機啟動方式

希望 menu tin 開機啟動 選擇 power 電視機 ngs nbsp 原啟動方式: 通電,再按遙控 器上 “開機” 希望改成: 通電直接打開電視 方法: 1、 按遙控器上的 menu 1147 進入 工廠模式 2、 選擇

appium工作原理及啟動方式

原理 啟動app ddr edr 基於 中間 RR 就是 之前 1.appium工作原理 在Android端,appium基於WebDriver協議,利用Bootstrap.jar,最後通過調?用UiAutomator的命令,實現App的自動化測試。 UiAutomator

supervisord 管理非daemon啟動方式軟件

run out 主程序 sql .so 查看 his man 啟動 1.安裝 supervisord pip install supervisor如果提示pip 不存在情況 wget https://bootstrap.pypa.io/get-pip.py pytho

centos7中設置nginx的systemctl啟動方式

顯示 後臺運行 load IV rem 停止 運行參數 com .com centos7中設置nginx的systemctl啟動方式 1.建立服務文件 (1)文件路徑 vim /usr/lib/systemd/system/nginx.service (2)服務文件內