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

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

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

stm32串口通信流程圖

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-03 11:49 ? 次閱讀

1.寫在前面

首先,你要知道STM32啟動文件中啟動流程,你就需要掌握一點匯編基礎(chǔ)知識。

匯編語言屬于機器語言,或者說低級語言,C語言屬于高級語言,所以,匯編和C語言在語法上差異很大。

如果你學(xué)底層開發(fā),匯編的一些基礎(chǔ)知識需要掌握。不需要精通,但需要看懂常見的匯編代碼。

2.說明

STM32的啟動文件與編譯器有關(guān),不同編譯器,它的啟動文件不同。

雖然啟動文件(匯編)代碼各有不同,但它們原理類似,都屬于匯編程序。

我們拿基于MDK-ARM的啟動文件來舉例,說一下要點內(nèi)容。

3.分配堆棧

在基于MDK的啟動文件開始,有一段匯編代碼是分配堆棧大小的。

這里重點知道堆棧數(shù)值大小就行。還有一段AREA(區(qū)域),表示分配一段堆棧數(shù)據(jù)段。

數(shù)值大小可以自己修改,也可以使用STM32CubeMX數(shù)值大小配置:

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

4.向量表

相信大家都知道向量表,先看匯編代碼:

這個向量表就是對應(yīng)手冊中的那些內(nèi)容:

我們需要知道這個地方中的復(fù)位,程序上電之后,是跳到Reset_Handler這個位置。

5.執(zhí)行代碼

上面知道代碼是從Reset_Handler開始執(zhí)行,我們看Reset_Handler匯編代碼:

在啟動的時候,執(zhí)行了SystemInit這個函數(shù)。

之前標(biāo)準(zhǔn)外設(shè)庫在SystemInit這個函數(shù)初始化了系統(tǒng)時鐘,后面HAL庫單獨把那部分代碼提出來了。

執(zhí)行完SystemInit函數(shù),就跳轉(zhuǎn)到我們的main函數(shù)執(zhí)行了。

聲明:本文內(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)注

    2263

    文章

    10849

    瀏覽量

    353826
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1608

    瀏覽量

    48979
  • 復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    169

    瀏覽量

    24160
  • 啟動流程
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    6462
收藏 人收藏

    評論

    相關(guān)推薦

    FT232芯片設(shè)計的USB轉(zhuǎn)RS232串口原理

    FT232芯片設(shè)計的USB轉(zhuǎn)RS232串口原理
    發(fā)表于 10-21 11:06 ?0次下載

    快速實現(xiàn)C2000串口程序升級

    電子發(fā)燒友網(wǎng)站提供《快速實現(xiàn)C2000串口程序升級.pdf》資料免費下載
    發(fā)表于 08-29 10:50 ?0次下載
    快速實現(xiàn)C2000<b class='flag-5'>串口</b>程序升級

    集特推薦 雙網(wǎng)10串口飛騰FT2000商用臺式電腦主機

    前段時間為大家分享了國產(chǎn)龍芯、海光、飛騰D2000的商務(wù)臺式機,它們的共同特點都是單網(wǎng),1個RS232串口。今天就為大家推薦一款雙網(wǎng)、可擴展10串口、14USB接口的飛騰FT200
    的頭像 發(fā)表于 07-17 16:04 ?397次閱讀
    集特推薦  雙網(wǎng)10<b class='flag-5'>串口</b>飛騰FT2000商用臺式電腦主機

    用esp32的串口Stm32F407串口通訊,通過TJA轉(zhuǎn)CAN,結(jié)果esp32串口讀到的一直是自己發(fā)的數(shù)據(jù),為什么?

    我用esp32的串口Stm32F407串口通訊,通過TJA轉(zhuǎn)CAN。結(jié)果esp32串口讀到的一直是自己發(fā)的數(shù)據(jù),各位大神給我看看哪里有問題么
    發(fā)表于 06-19 07:00

    485串口可以用can協(xié)議嗎

    一、引言 隨著工業(yè)自動化和智能控制技術(shù)的發(fā)展,通信協(xié)議在設(shè)備間數(shù)據(jù)傳輸和控制中扮演著越來越重要的角色。485串口和CAN協(xié)議是兩種常見的通信協(xié)議,它們在不同的應(yīng)用場景中發(fā)揮著重要作用。本文將對這兩種
    的頭像 發(fā)表于 06-16 09:21 ?878次閱讀

    STM32做以太網(wǎng)轉(zhuǎn)4串口單核能做嗎?

    目前要做一個以太網(wǎng)轉(zhuǎn)4串口透傳模塊,一個STM32能搞定嗎?是不是需要什么內(nèi)核、?求解~~對內(nèi)核了解不多,裸機100年
    發(fā)表于 05-13 07:27

    ZDP1440串口屏應(yīng)用開發(fā)如何使用虛擬串口調(diào)試

    ZDP1440串口屏應(yīng)用開發(fā)如何使用虛擬串口調(diào)試呢?本文將詳細方法分享給大家。
    的頭像 發(fā)表于 01-25 11:32 ?1530次閱讀
    ZDP1440<b class='flag-5'>串口</b>屏應(yīng)用開發(fā)如何使用虛擬<b class='flag-5'>串口</b>調(diào)試

    什么是RS-232串口?消費級電腦通常沒有232串口的主要原因

    什么是RS-232串口?消費級電腦通常沒有232串口的主要原因? RS-232串口是一種標(biāo)準(zhǔn)的串行通信接口,用于在計算機和外部設(shè)備之間傳輸數(shù)據(jù),目的是為計算機和外部設(shè)備之間提供可靠的數(shù)
    的頭像 發(fā)表于 01-09 13:52 ?953次閱讀

    智能車ROS與STM32串口通信代碼

    這里以一個智能車代碼工程為例,抽取串口通信部分代碼 在頭文件中,進行串口頭文件的包含 # include 在類的定義中,什么一個 serial 類的實例 serial::Serial
    的頭像 發(fā)表于 11-26 17:47 ?1083次閱讀

    ROS與STM32串口通信代碼

    這里以一個智能車代碼工程為例,抽取串口通信部分代碼 在頭文件中,進行串口頭文件的包含 # include 在類的定義中,什么一個 serial 類的實例 serial::Serial
    的頭像 發(fā)表于 11-17 18:10 ?987次閱讀

    STM32里的串口通信

    STM32里的串口通信STM32里,串口通信是USART,
    的頭像 發(fā)表于 11-10 15:58 ?2817次閱讀
    <b class='flag-5'>STM32</b>里的<b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    GD32串口dma接收空閑中斷配置流程是怎樣的?

    GD32串口dma接收空閑中斷配置流程是怎樣的,用過的朋友分享下經(jīng)驗?,F(xiàn)在已經(jīng)實現(xiàn)串口+DMA的發(fā)送和接收,都沒有問題,并且使用查詢idle方式也可以接收不定長數(shù)據(jù)幀。參照stm32
    發(fā)表于 11-03 07:51

    求推薦一個免費好用的流程圖軟件?

    大家推薦一個免費好用的流程圖軟件
    發(fā)表于 10-30 07:51

    STM32串口中斷及DMA接收常見的幾個問題

    STM32串口中斷及DMA接收常見的幾個問題
    的頭像 發(fā)表于 10-26 16:41 ?3295次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>串口</b>中斷及DMA接收常見的幾個問題

    STM32串口中斷接收不定長報文介紹

    本項目中,需要使用STM32的USART6串口與FPGA板(下位機)通信,需要發(fā)送和接收數(shù)據(jù),有報文應(yīng)答機制。
    的頭像 發(fā)表于 10-26 11:01 ?927次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>串口</b>中斷接收不定長報文介紹