偷偷碰在线视频天天|性高湖久久久久久久久aaaaa|美女拍拍拍免费视频网站|日韩高清dvd|97夜夜澡人人爽人人喊一欧美

當前位置: 上海銘靜電子科技有限公司 » 單片機

stm32 boot0 boot1的啟動方式

分類:單片機 發布:2018年05月13日 15:39 瀏覽:664次 Tag:

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所示

     


相關文章
 
資訊欄目
最新資訊
資訊排行
 

收縮
  • 電話咨詢

  • 021-31007558