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語言更接近機(jī)器底層的編程語言,能讓我們更好的理解和操縱硬件底層。

STM32三種啟動模式

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

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

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

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

從內(nèi)置SRAM啟動,將SRAM地址0x20000000映射到0x00000000,這樣代碼啟動之后就相當(dāng)于從0x20000000開始。內(nèi)置SRAM,也就是STM32的內(nèi)存,既然是SRAM,自然也就沒有程序存儲的能力了,這個(gè)模式一般用于程序調(diào)試。假如我只修改了代碼中一個(gè)小小的地方,然后就需要重新擦除整個(gè)Flash,比較的費(fèi)時(shí),可以考慮從這個(gè)模式啟動代碼,用于快速的程序調(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在出廠時(shí),由ST在這個(gè)區(qū)域內(nèi)部預(yù)置了一段BootLoader,也就是我們常說的ISP程序,這是一塊ROM,出廠后無法修改。

一般來說,我們選用這種啟動模式時(shí),是為了從串口下載程序,因?yàn)樵趶S家提供的BootLoader中,提供了串口下載程序的固件,可以通過這個(gè)BootLoader將程序下載到系統(tǒng)的Flash中。

這個(gè)下載方式需要以下步驟:

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

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

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

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

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

這里重點(diǎn)知道堆棧數(shù)值大小就行。還有一段AREA(區(qū)域),表示分配一段堆棧數(shù)據(jù)段。可以使用STM32CubeMX對上面的數(shù)值大小進(jìn)行配置:

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

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

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

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

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

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

責(zé)任編輯:haq

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

    關(guān)注

    2308

    文章

    11160

    瀏覽量

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

    關(guān)注

    14

    文章

    413

    瀏覽量

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

    關(guān)注

    96

    文章

    2953

    瀏覽量

    70156

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    變頻器起動過程曲線參數(shù)怎么設(shè)置

    變頻器起動過程曲線參數(shù)的設(shè)置是工業(yè)自動化控制中的關(guān)鍵技術(shù)環(huán)節(jié),直接影響電機(jī)啟動性能、設(shè)備壽命及能耗效率。以下是基于工程實(shí)踐和理論分析的詳細(xì)設(shè)置指南: 一、基礎(chǔ)參數(shù)理解 1. 加速時(shí)間
    的頭像 發(fā)表于 01-23 12:03 ?143次閱讀
    變頻器起<b class='flag-5'>動過程</b>曲線參數(shù)怎么設(shè)置

    深入解析L6564H:高壓啟動過渡模式PFC控制器的卓越之選

    深入解析L6564H:高壓啟動過渡模式PFC控制器的卓越之選 在電子工程師的設(shè)計(jì)世界里,選擇一款合適的功率因數(shù)校正(PFC)控制器至關(guān)重要。今天,我們就來詳細(xì)探討一下意法半導(dǎo)體(ST)推出
    的頭像 發(fā)表于 12-17 17:30 ?652次閱讀

    L6564H:高壓啟動過渡模式PFC控制器的卓越之選

    L6564H:高壓啟動過渡模式PFC控制器的卓越之選 在電子工程師的日常設(shè)計(jì)工作中,功率因數(shù)校正(PFC)控制器是一個(gè)關(guān)鍵組件,它對于提高電源效率、減少諧波失真至關(guān)重要。今天,我們就來深入探討一款
    的頭像 發(fā)表于 12-16 17:40 ?574次閱讀

    CW32系統(tǒng)發(fā)啟動過程

    CW32支持 2 種不同的啟動模式,通過 BOOT 引腳狀態(tài)進(jìn)行選擇,啟動模式選擇電路只在芯片解復(fù)位時(shí)刻采樣 BOOT 引腳狀態(tài),因此在芯片解復(fù)位前用戶必須根據(jù)需要設(shè)置好BOOT 引腳的電平狀態(tài),以
    發(fā)表于 12-15 07:54

    CW32時(shí)鐘的啟動過程

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

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

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

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

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

    永磁同步電機(jī)啟動裝置詳解

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

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

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

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

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

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

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

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

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

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

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

    電機(jī)軟啟動器常見5大故障

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

    STM32的上電啟動過程分享

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