chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32的啟動過程是怎么樣的?

STM32嵌入式開發(fā) ? 來源:STM32嵌入式開發(fā) ? 作者:STM32嵌入式開發(fā) ? 2020-11-27 16:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

分享這篇文章,談一下STM32啟動流程。如果讀者朋友已經(jīng)有過匯編相關(guān)基礎(chǔ),能夠夠好理解本文內(nèi)容。匯編語言是比C語言更接近機器底層的編程語言,能讓我們更好的理解和操縱硬件底層。

STM32三種啟動模式

下好程序后,重啟芯片時,SYSCLK的第4個上升沿,BOOT引腳的值將被鎖存,這就是所謂的啟動過程。

STM32上電或者復位后,代碼區(qū)始終從0x00000000開始,其實就是將存儲空間的地址映射到0x00000000中。三種啟動模式如下:

從主閃存存儲器啟動,將主Flash地址0x08000000映射到0x00000000,這樣代碼啟動之后就相當于從0x08000000開始。主閃存存儲器是STM32內(nèi)置的Flash,作為芯片內(nèi)置的Flash,是正常的工作模式。一般我們使用JTAG或者SWD模式下載程序時,就是下載到這個里面,重啟后也直接從這啟動程序。

從系統(tǒng)存儲器啟動。首先控制BOOT0、BOOT1管腳,復位后,STM32與上述兩種方式類似,從系統(tǒng)存儲器地址0x1FFF F000開始執(zhí)行代碼。系統(tǒng)存儲器是芯片內(nèi)部一塊特定的區(qū)域,芯片出廠時在這個區(qū)域預置了一段Bootloader,就是通常說的ISP程序。這個區(qū)域的內(nèi)容在芯片出廠后沒有人能夠修改或擦除,即它是一個ROM區(qū)。啟動的程序功能由廠家設置。系統(tǒng)存儲器存儲的其實就是STM32自帶的bootloader代碼。

從內(nèi)置SRAM啟動,將SRAM地址0x20000000映射到0x00000000,這樣代碼啟動之后就相當于從0x20000000開始。內(nèi)置SRAM,也就是STM32的內(nèi)存,既然是SRAM,自然也就沒有程序存儲的能力了,這個模式一般用于程序調(diào)試。假如我只修改了代碼中一個小小的地方,然后就需要重新擦除整個Flash,比較的費時,可以考慮從這個模式啟動代碼,用于快速的程序調(diào)試,等程序調(diào)試完成后,在將程序下載到SRAM中。

用戶可以通過設置BOOT1和BOOT0引腳的狀態(tài),來選擇在復位后的啟動模式。STM32三種啟動模式對應的存儲介質(zhì)均是芯片內(nèi)置的,如下圖:

串口下載程序原理

從系統(tǒng)存儲器啟動,這種模式啟動的程序功能是由廠家設置的。一般來說,這種啟動方式用的比較少。系統(tǒng)存儲器是芯片內(nèi)部一塊特定的區(qū)域,STM32在出廠時,由ST在這個區(qū)域內(nèi)部預置了一段BootLoader,也就是我們常說的ISP程序,這是一塊ROM,出廠后無法修改。

一般來說,我們選用這種啟動模式時,是為了從串口下載程序,因為在廠家提供的BootLoader中,提供了串口下載程序的固件,可以通過這個BootLoader將程序下載到系統(tǒng)的Flash中。

這個下載方式需要以下步驟:

將BOOT0設置為1,BOOT1設置為0,然后按下復位鍵,這樣才能從系統(tǒng)存儲器啟動BootLoader;

在BootLoader的幫助下,通過串口下載程序到Flash中;

程序下載完成后,又有需要將BOOT0設置為GND,手動復位,這樣,STM32才可以從Flash中啟動。

從匯編代碼分析STM32啟動過程

STM32的啟動文件與編譯器有關(guān),不同編譯器,它的啟動文件不同。雖然啟動文件(匯編)代碼各有不同,但它們原理類似,都屬于匯編程序。拿基于MDK-ARM的啟動文件來舉例,說一下要點內(nèi)容。在基于MDK的啟動文件開始,有一段匯編代碼是分配堆棧大小的。

這里重點知道堆棧數(shù)值大小就行。還有一段AREA(區(qū)域),表示分配一段堆棧數(shù)據(jù)段??梢允褂肧TM32CubeMX對上面的數(shù)值大小進行配置:

在IAR中,是通過工程配置堆棧大?。?/p>

看下面的匯編代碼,程序上電之后,是跳到Reset_Handler這個位置。

知道代碼是從Reset_Handler開始執(zhí)行,再來看如下Reset_Handler匯編代碼。在啟動的時候,執(zhí)行了SystemInit這個函數(shù)。

執(zhí)行完SystemInit函數(shù),初始化了系統(tǒng)時鐘,之后跳轉(zhuǎn)到main函數(shù)執(zhí)行。

原文標題:淺談STM32的啟動過程

文章出處:【微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2305

    文章

    11118

    瀏覽量

    370965
  • 匯編語言
    +關(guān)注

    關(guān)注

    14

    文章

    413

    瀏覽量

    38699
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2953

    瀏覽量

    69621

原文標題:淺談STM32的啟動過程

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    CW32時鐘的啟動過程

    CW32F030 的時鐘源啟動過程類似,當設置 SYSCTRL_CR1.HSEEN 為 1 后,HSE 時鐘振蕩電路開始工作,但此時輸出的時鐘信號振幅很小。經(jīng)過啟動時間階段后,輸出時鐘信號的振幅
    發(fā)表于 11-13 07:49

    無感無刷電機啟動的基本原理

    到基于反電動勢的閉環(huán)控制。 三段式啟動過程詳解 1. 轉(zhuǎn)子預定位階段 預定位是啟動的第一步,目的是 確定轉(zhuǎn)子在靜止時的初始位置 。常用的方法包括: 兩相通電法 :給任意兩相通電一段時間,在氣隙中形成恒定磁場,將轉(zhuǎn)子強行定位到預
    的頭像 發(fā)表于 11-04 15:38 ?935次閱讀

    PD快充芯片U8732的軟啟動功能

    啟動技術(shù)的核心在于控制芯片電源電壓的平穩(wěn)上升。銀聯(lián)寶PD快充芯片U8732內(nèi)部集成有軟啟動功能,在軟啟動時間TST(典型值 5ms)內(nèi),電流峰值從最小值逐步增加,避免變壓器磁芯飽和,系統(tǒng)每次重啟都會伴隨一次軟
    的頭像 發(fā)表于 07-03 18:02 ?758次閱讀

    三相啟動自耦變壓器,能提升設備運行穩(wěn)定性嗎?

    對于水泵、風機行業(yè)來說,啟動設備的穩(wěn)定性至關(guān)重要。你是否常常因為普通啟動設備在啟動過程中出現(xiàn)抖動現(xiàn)象,導致設備磨損加劇,進而影響設備的正常運行和使用壽命?同時,啟動設備壽命短,頻繁更換
    的頭像 發(fā)表于 06-25 11:39 ?383次閱讀
    三相<b class='flag-5'>啟動</b>自耦變壓器,能提升設備運行穩(wěn)定性嗎?

    永磁同步電機啟動裝置詳解

    。 一、工作原理:磁場與電流的精密協(xié)同 永磁同步電機的啟動過程本質(zhì)上是轉(zhuǎn)子永磁場與定子旋轉(zhuǎn)磁場建立同步的過程。與傳統(tǒng)異步電機不同,PMSM轉(zhuǎn)子的永磁體在靜止時已產(chǎn)生恒定磁場,這要求啟動裝置必須解決兩大核心問題:初始位置
    的頭像 發(fā)表于 06-21 17:40 ?783次閱讀

    繞線轉(zhuǎn)子永磁電機啟動過程準時間最優(yōu)控制

    摘要:繞線轉(zhuǎn)子永磁電機(WR-PMM)轉(zhuǎn)子斬波調(diào)阻啟動是一種便捷有效的啟動控制策略。通過斬波調(diào)阻的方法實時調(diào)節(jié)轉(zhuǎn)子外接電阻,能使啟動過程中平均轉(zhuǎn)矩始終保持最大值,實現(xiàn)繞線轉(zhuǎn)子永磁電機啟動過程
    發(fā)表于 06-12 13:50

    繞線電機啟動狀態(tài)到雙饋狀態(tài)過渡過程的研究

    同步轉(zhuǎn)速為參考,得出轉(zhuǎn)子側(cè)的不同頻率對最大轉(zhuǎn)差的影響及存在的規(guī)律性。該研究對于雙饋電機的啟動過程及調(diào)速工作都有著非常重要的意義。 純分享帖,需要者可點擊附件免費獲取完整資料~~~*附件:繞線電機啟動
    發(fā)表于 06-12 13:40

    晶閘管控制異步電機軟啟動過程中振蕩現(xiàn)象研究

    純分享帖,需要者可點擊附件免費獲取完整資料~~~*附件:晶閘管控制異步電機軟啟動過程中振蕩現(xiàn)象研究.pdf【免責聲明】本文系網(wǎng)絡轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請第一時間告知,刪除內(nèi)容!
    發(fā)表于 06-04 14:39

    如何重新啟動 FX3S 的枚舉過程

    。 然而,我面臨的一個問題是,如果 FX3S 最初沒有連接到 USB 3.0 電纜和 PC,它就不會重新啟動枚舉過程。 在這種情況下,有人能指導我如何重新啟動 FX3S 的枚舉過程嗎?
    發(fā)表于 05-19 07:34

    電機軟啟動器無故障報警停機原因分析與控制系統(tǒng)改造

    轉(zhuǎn)數(shù)時,啟動過程結(jié)束,軟啟動器自動用旁路接觸器取代已完成任務的晶閘管,為電動機正常運轉(zhuǎn)提供額定電壓,以降低晶閘管的熱損耗,延長軟啟動器的使用壽命,提高其工作效率,又使電網(wǎng)避免了諧波污染。軟啟動
    發(fā)表于 04-27 19:29

    電機軟啟動器常見5大故障

    啟動器是一種集電機軟起動、軟停車、輕載節(jié)能和多種保護功能于一體的電機控制裝置。不僅實現(xiàn)在整個起動過程中無沖擊而平滑的起動電機,而且可根據(jù)電動機負載的特性來調(diào)節(jié)起動過程中的參數(shù),如限流值、起動時間等
    的頭像 發(fā)表于 04-23 17:26 ?1872次閱讀

    QSPI啟動模式EMMC跳轉(zhuǎn)失敗的原因?

    我正在使用 S32g274ardb2 板并使用 bsp42進行測試; 我成功嘗試了以下啟動過程: 1. SD 卡直接啟動成功。 2. 直接成功啟動 EMMC。(使用閃存工具刻錄與 SD 卡相同的程序
    發(fā)表于 04-02 08:07

    STM32的上電啟動過程分享

    、PC然后是“啟動文件”,一般主要是項目文件里面的startup_xxxxx.s文件。xa0 xa0 其實不光STM32系列單片機是這樣,我們接觸的NXP的微控制器、TI的MSP430以及51單片機等等
    發(fā)表于 03-07 08:09

    啟動可控硅測量好壞的方法

    一、引言 軟啟動器是一種用于控制電動機啟動過程的電力電子設備,它通過逐步增加電動機的電壓來實現(xiàn)平滑啟動,從而減少對電網(wǎng)和電動機的沖擊??煽毓枳鳛檐?b class='flag-5'>啟動器的核心元件之一,其性能的好壞直接
    的頭像 發(fā)表于 02-01 10:22 ?2779次閱讀

    意法半導體比較器具有故障安全和啟動時間保障

    意法半導體的TS3121和TS3121A軌對軌、開漏、單通道比較器具有創(chuàng)新的故障安全架構(gòu)和啟動時間保障,可以簡化短時間啟動過程,在低功率應用中最大限度地降低功耗。
    的頭像 發(fā)表于 12-24 13:39 ?886次閱讀