<dl id="xausj"></dl>
    1. <ul id="xausj"><th id="xausj"></th></ul>

      <b id="xausj"></b>
      <cite id="xausj"></cite>
      <b id="xausj"><meter id="xausj"></meter></b>
      <dl id="xausj"><noframes id="xausj"></noframes></dl>
    2. 您好,歡迎訪問上海意泓電子科技有限責任公司網(wǎng)站!
      4新聞資訊
      您的位置: 首頁 ->  新聞資訊 -> 單片機

      ?stm32 boot0 boot1的啟動方式

      文章出處:單片機 責任編輯:上海意泓電子科技有限責任公司 發(fā)表時間:
      2020
      11-10

      STM32 三種啟動模式對應(yīng)的存儲介質(zhì)君是芯片內(nèi)置的,它們是:

       1.用戶閃存 =芯片內(nèi)置的Flash 

       2.SRAM=芯片內(nèi)置的RAM區(qū),就是內(nèi)存了。

       3.系統(tǒng)存儲器=芯片內(nèi)部一塊特定的區(qū)域,芯片出廠時在這個區(qū)域預(yù)置了一段bootloader,就是同事的ISP升級程序,這個

         區(qū)域的內(nèi)容在芯片出現(xiàn)后沒偶人能夠修改或拆除,即它是一個ROM;

      在每個STM32 的芯片上都有兩個管腳BOOT0和BOOT1,這兩個管腳在芯片復(fù)位時電平狀態(tài)決定了芯片復(fù)位后從哪個區(qū)域開始執(zhí)行程序,

       BOOT1=X BOOT0=0  從用戶閃存(flash)啟動,這時正常模式  較多情況下使用這種模式

       BOOT1=1  BOOT0=1 從內(nèi)置SRAM(內(nèi)存)啟動,這種模式可以用于調(diào)試

      BOOT1=0 BOOT0=1 從系統(tǒng)存儲器啟動, 這種可以用于調(diào)試

        

       STM32引腳狀態(tài)決定了用哪種方式啟動,

        Main Flash memory  (flash啟動)   是STM32內(nèi)置的flash,一般我們使用JTAG或者SWD模式下載時,就是下載到這里面,啟動后也直接從這啟動程序。

        System memory 從系統(tǒng)存儲啟動,這種模式啟動的程序功能是有廠家設(shè),一般很少使用,一般來說STM32在出廠是內(nèi)置了一段bootloader,也就是我們常說的

      ISP程序,這是一塊ROM,出廠后我發(fā)修改, 這種啟動模式,是為了從串口下載程序,因為廠家提供BootLoader中,可以通過bootloader將程序下載到系統(tǒng)Flash中,

         Embedded Memory 內(nèi)置SRAM,既然是SRAM,自然就沒有程序存儲的能力,這個模式一般用于程序調(diào)試  例如我們修改了代碼一個小小地方,然后需要拆除整個flash,比較費時

        可以考慮這種啟動方式

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

         

      STM32 啟動過程:

         STM32的內(nèi)部閃存(flash)地址起始于0x08000000,一般情況下,程序文件就從地址開始寫入,此外STM32是基于Cortex-M3內(nèi)核的微控制器,其內(nèi)部通過一張

      中斷向量表來響應(yīng),此外,STM32是基于Cortex-M3內(nèi)核的位控制器,其內(nèi)部通過一張“中斷向量表”來響應(yīng)中斷,程序啟動后,首先從"中斷向量表"取出復(fù)位中斷向量執(zhí)行

      復(fù)位中斷程序完成啟動,而這張"中斷向量表"的起始地址是0x8000004,當中斷來臨,STM32的內(nèi)部硬件機制會自動將PC指針定位到中斷向量表處,并根據(jù)中斷源取出對應(yīng)的中斷向量執(zhí)行中斷服務(wù)程序。

          在圖53.1.1,STM32 在復(fù)位后,先從0x08000004地址取出復(fù)位中斷向量的地址,并跳轉(zhuǎn)到復(fù)位中斷服務(wù)程序,如題彪了(1)所示,在復(fù)位中斷執(zhí)行完后,會跳轉(zhuǎn)到我們的

      Main函數(shù),如圖(2)所示,而我們的main一般都是一個死循環(huán),在main函數(shù)執(zhí)行過程中,如果收到中斷請求,此時STM32強制將PC指針指回中斷向量表處,如圖3所示,

      然后,根據(jù)中斷源進入相應(yīng)的中斷服務(wù)程序,如圖標號4所示,在執(zhí)行完中斷服務(wù)以后,程序再次返回main函數(shù)執(zhí)行,如圖標號5所示

           


      上海意泓電子科技有限責任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

      CopyRight 2020-2025 www.pendragonrpg.com All rights reserved   滬ICP備2021005866號

      国产中文欧美日韩,色播在线永久免费视频,另类专区亚洲无码,亚洲中文字无码av

      <dl id="xausj"></dl>
      1. <ul id="xausj"><th id="xausj"></th></ul>

        <b id="xausj"></b>
        <cite id="xausj"></cite>
        <b id="xausj"><meter id="xausj"></meter></b>
        <dl id="xausj"><noframes id="xausj"></noframes></dl>