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

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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上電或者復(fù)位后,代碼區(qū)始終從0x00000000開始,其實就是將存儲空間的地址映射到0x00000000中。三種啟動模式如下:

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

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

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

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

串口下載程序原理

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

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

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

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

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

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

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

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

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

在IAR中,是通過工程配置堆棧大小:

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

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

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

原文標(biāo)題:淺談STM32的啟動過程

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

責(zé)任編輯:haq

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

    關(guān)注

    2301

    文章

    11073

    瀏覽量

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

    關(guān)注

    14

    文章

    412

    瀏覽量

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

    關(guān)注

    96

    文章

    2953

    瀏覽量

    69259

原文標(biāo)題:淺談STM32的啟動過程

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

    繞線轉(zhuǎn)子永磁電機啟動過程準(zhǔ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【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請第一時間告知,刪除內(nèi)容!
    發(fā)表于 06-04 14:39

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

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

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

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

    STM32的上電啟動過程分享

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

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

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

    干貨?。?!開關(guān)電源的軟啟動過程分析

    ,并使得動態(tài)測量更為容易。 開關(guān)管作為開關(guān)電源里面最重要的器件之一,在電源調(diào)試中也是受關(guān)注的重中之重。開關(guān)管的關(guān)斷和導(dǎo)通動作,實際上是一個比較復(fù)雜的過程,但我們先可以把它進(jìn)行簡單化分析。例如,當(dāng)
    發(fā)表于 11-26 17:40

    BQ79600-Q1啟動過程

    電子發(fā)燒友網(wǎng)站提供《BQ79600-Q1啟動過程.pdf》資料免費下載
    發(fā)表于 11-09 14:57 ?1次下載
    BQ79600-Q1<b class='flag-5'>啟動過程</b>

    AIC3254啟動過程是怎樣的?需要功能調(diào)節(jié)延時,請問怎么實現(xiàn)?

    AIC3254 啟動問題 :沒有IIS,時鐘是用MSP430產(chǎn)生的8M給AIC3254工作時鐘的,但是每次啟動要用手摸一下MCLK才能啟動,什么原因呢!大俠們能否說明一下AIC3254啟動
    發(fā)表于 11-07 07:28

    負(fù)載電容對電源轉(zhuǎn)換器啟動過程的影響

    理想的電源轉(zhuǎn)換器需要無論負(fù)載如何變化都保持輸出電壓穩(wěn)定。在實際應(yīng)用中,負(fù)載瞬態(tài)期間選擇不合適的輸出電容會導(dǎo)致過高的紋波電壓和浪涌電流,從而影響電源轉(zhuǎn)換器的性能。本文將介紹選擇輸出電容的指南,詳細(xì)介紹負(fù)載電容對啟動過程的影響,并提供改進(jìn)建議。
    的頭像 發(fā)表于 10-28 11:08 ?1052次閱讀
    負(fù)載電容對電源轉(zhuǎn)換器<b class='flag-5'>啟動過程</b>的影響

    SoC的數(shù)字簽名加解密過程

    SoC的數(shù)字簽名驗證是指在系統(tǒng)啟動或固件更新等關(guān)鍵時刻,對加載的固件或軟件進(jìn)行數(shù)字簽名的驗證過程。通過驗證數(shù)字簽名,系統(tǒng)可以確保所加載的固件或軟件是經(jīng)過授權(quán)和信任的,從而防止惡意代碼的執(zhí)行和系統(tǒng)啟動過程的篡改。
    的頭像 發(fā)表于 10-21 14:52 ?1201次閱讀

    PA3113D2在系統(tǒng)啟動過程中會出現(xiàn)一個POP聲,請問是什么原因造成的?

    請教各位高手,我現(xiàn)在CODEC芯片用的是WOLFSON WM8960,OPA用的是TI PA3113D2,上電瞬間的POP聲已經(jīng)解決,但是在系統(tǒng)啟動過程中(快啟動完成時)還會出現(xiàn)一個POP聲,請問是什么原因造成的?
    發(fā)表于 10-18 06:39