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

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

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

梳理STM32芯片的內(nèi)部架構(gòu)

單片機(jī)與嵌入式 ? 來源:單片機(jī)與嵌入式 ? 2023-07-08 16:05 ? 次閱讀

STM32芯片主要由內(nèi)核和片上外設(shè)組成,STM32F103采用的是Cortex-M3內(nèi)核,內(nèi)核由ARM公司設(shè)計(jì)。STM32的芯片生產(chǎn)廠商ST,負(fù)責(zé)在內(nèi)核之外設(shè)計(jì)部件并生產(chǎn)整個(gè)芯片。這些內(nèi)核之外的部件被稱為核外外設(shè)或片上外設(shè),如 GPIO、USART(串口)、I2C、SPI 等。

wKgaomSpGNuANj93AAHgi-6xGUQ500.jpg

芯片內(nèi)部架構(gòu)示意圖

芯片內(nèi)核與外設(shè)之間通過各種總線連接,其中驅(qū)動(dòng)單元有 4 個(gè),被動(dòng)單元也有 4 個(gè),具體如上圖所示。可以把驅(qū)動(dòng)單元理解成是內(nèi)核部分,被動(dòng)單元都理解成外設(shè)。

ICode 總線

ICode總線是專門用來取指令的,其中的I表示Instruction(指令),指令的意思。寫好的程序編譯之后都是一條條指令,存放在 FLASH中,內(nèi)核通過ICode總線讀取這些指令來執(zhí)行程序。

DCode總線

DCode這條總線是用來取數(shù)的,其中的D表示Data(數(shù)據(jù))。在寫程序的時(shí)候,數(shù)據(jù)有常量和變量兩種。常量就是固定不變的,用C語言中的const關(guān)鍵字修飾,放到內(nèi)部FLASH當(dāng)中。變量是可變的,不管是全局變量還是局部變量都放在內(nèi)部的SRAM。

系統(tǒng)System總線

我們通常說的寄存器編程,即讀寫寄存器都是通過系統(tǒng)總線來完成的,系統(tǒng)總線主要是用來訪問外設(shè)的寄存器。

DMA總線

DMA總線也主要是用來傳輸數(shù)據(jù),這個(gè)數(shù)據(jù)可以是在某個(gè)外設(shè)的數(shù)據(jù)寄存器。 因?yàn)閿?shù)據(jù)可以被Dcode總線,也可以被DMA總線訪問,為了避免訪問沖突,在取數(shù)的時(shí)候需要經(jīng)過一個(gè)總線矩陣來仲裁,決定哪個(gè)總線在取數(shù)。

內(nèi)部的閃存存儲(chǔ)器Flash

內(nèi)部的閃存存儲(chǔ)器即FLASH,編寫好的程序就放在這個(gè)地方。內(nèi)核通過ICode總線來取里面的指令。

內(nèi)部的SRAM

內(nèi)部的SRAM,是通常所說的內(nèi)存,程序中的變量、堆棧等的開銷都是基于內(nèi)部SRAM,內(nèi)核通過DCode總線來訪問它。

FSMC

FSMC的英文全稱是Flexible static memory controller(靈活的靜態(tài)的存儲(chǔ)器控制器)。通過FSMC可以擴(kuò)展內(nèi)存,如外部的SRAM、NAND-FLASH和NORFLASH。但FSMC只能擴(kuò)展靜態(tài)的內(nèi)存,不能是動(dòng)態(tài)的內(nèi)存,比如就不能用來擴(kuò)展SDRAM。

AHB

從AHB總線延伸出來的兩條APB2和APB1總線是最常見的總線,GPIO、串口、I2C、SPI 這些外設(shè)就掛載在這兩條總線上。這個(gè)是學(xué)習(xí)STM32的重點(diǎn),要學(xué)會(huì)對(duì)這些外設(shè)編程,去驅(qū)動(dòng)外部的各種設(shè)備。






審核編輯:劉清

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

    關(guān)注

    112

    文章

    16412

    瀏覽量

    178721
  • SRAM存儲(chǔ)器
    +關(guān)注

    關(guān)注

    0

    文章

    88

    瀏覽量

    13349
  • Flash單片機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    111

    瀏覽量

    9421
  • 閃存存儲(chǔ)器
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    9153
  • STM32芯片
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    4398

原文標(biāo)題:梳理STM32芯片的內(nèi)部架構(gòu)

文章出處:【微信號(hào):單片機(jī)與嵌入式,微信公眾號(hào):單片機(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32單片機(jī)中C語言操作寄存器的原理

    存儲(chǔ)器本身不具有地址信息,它的地址是由芯片廠商或用戶分配,給存儲(chǔ)器分配地址的過程就稱為存儲(chǔ)器映射,如下圖所示的4GB空間(從block0-block7每個(gè)block512M)。在梳理STM32
    的頭像 發(fā)表于 11-30 14:08 ?1216次閱讀
    <b class='flag-5'>STM32</b>單片機(jī)中C語言操作寄存器的原理

    STM32系統(tǒng)架構(gòu)

    這里所講的 STM32 系統(tǒng)架構(gòu)主要針對(duì)的 STM32F103 這些非互聯(lián)型芯片。首先我們看看 STM32 的系統(tǒng)
    發(fā)表于 07-22 08:01

    STM32芯片架構(gòu)是如何構(gòu)成的

    STM32是什么?有哪幾種分類?STM32芯片架構(gòu)是如何構(gòu)成的?
    發(fā)表于 10-29 07:53

    STM32 TIMER知識(shí)梳理

    STM32定時(shí)器是 ST MCU 內(nèi)部最基礎(chǔ)且常用的外設(shè),實(shí)際應(yīng)用尤為普遍。去年,電堂推出了《STM32 TIMER基礎(chǔ)及常規(guī)應(yīng)用介紹》,為大家梳理
    發(fā)表于 12-10 06:21

    嵌入式系統(tǒng)概述知識(shí)梳理

    《嵌入式系統(tǒng)》 |(一)嵌入式系統(tǒng)概述 知識(shí)梳理《嵌入式系統(tǒng)》 |(二)ARM Cortex M3 體系結(jié)構(gòu) 知識(shí)梳理嵌入式系統(tǒng)》 |(三) STM32最小系統(tǒng) 知識(shí)梳理《嵌入式系統(tǒng)》
    發(fā)表于 12-22 06:53

    STM32芯片架構(gòu)

    STM32芯片架構(gòu)STM32芯片主要由內(nèi)核和片上外設(shè)組成以下圖為例(我們所使用的STM32就屬
    發(fā)表于 01-20 06:19

    STM32的SPI內(nèi)部架構(gòu)由哪些組成?

    STM32的SPI內(nèi)部架構(gòu)由哪些組成?SPI地通訊過程是怎樣的?
    發(fā)表于 02-17 06:18

    STM32芯片架構(gòu)的簡介

    STM32芯片架構(gòu)STM32F103ZET6為例簡略圖:官方詳細(xì)圖:可見,STM32內(nèi)部通過
    發(fā)表于 02-24 07:33

    STM32學(xué)習(xí)(1)-資料查找,STM32簡介,STM32選型以及芯片內(nèi)部結(jié)構(gòu)圖

    STM32學(xué)習(xí)(1)-資料查找,STM32簡介,STM32選型以及芯片內(nèi)部結(jié)構(gòu)圖
    發(fā)表于 11-26 19:51 ?82次下載
    <b class='flag-5'>STM32</b>學(xué)習(xí)(1)-資料查找,<b class='flag-5'>STM32</b>簡介,<b class='flag-5'>STM32</b>選型以及<b class='flag-5'>芯片</b><b class='flag-5'>內(nèi)部</b>結(jié)構(gòu)圖

    梳理STM32芯片內(nèi)部架構(gòu)

    STM32芯片主要由內(nèi)核和片上外設(shè)組成,STM32F103采用的是Cortex-M3內(nèi)核,內(nèi)核由ARM公司設(shè)計(jì)。
    發(fā)表于 02-08 16:49 ?2次下載
    <b class='flag-5'>梳理</b><b class='flag-5'>STM32</b><b class='flag-5'>芯片</b>的<b class='flag-5'>內(nèi)部</b><b class='flag-5'>架構(gòu)</b>

    STM32芯片內(nèi)部架構(gòu)的詳細(xì)介紹

    之外的部件被稱為核外外設(shè)或片上外設(shè),如 GPIO、USART(串口)、I2C、SPI 等。 芯片內(nèi)部架構(gòu)示意圖 ????芯片內(nèi)核與外設(shè)之間通過各種總線連接,其中驅(qū)動(dòng)單元有 4 個(gè),被動(dòng)
    的頭像 發(fā)表于 07-05 18:01 ?8480次閱讀

    STM32芯片內(nèi)部架構(gòu)如何

    芯片內(nèi)核與外設(shè)之間通過各種總線連接,其中驅(qū)動(dòng)單元有 4 個(gè),被動(dòng)單元也有 4 個(gè),具體如上圖所示??梢园羊?qū)動(dòng)單元理解成是內(nèi)核部分,被動(dòng)單元都理解成外設(shè)。
    的頭像 發(fā)表于 08-08 15:47 ?933次閱讀

    淺談FPGA芯片架構(gòu)

    ?FPGA 芯片架構(gòu)是非常重要的,如果你不了解 FPGA 芯片內(nèi)部的詳細(xì)架構(gòu)。
    的頭像 發(fā)表于 07-04 14:36 ?1287次閱讀
    淺談FPGA<b class='flag-5'>芯片</b><b class='flag-5'>架構(gòu)</b>

    晶振為什么沒有封裝進(jìn)STM32芯片內(nèi)部?

    晶振為什么沒有封裝進(jìn)STM32芯片內(nèi)部
    的頭像 發(fā)表于 09-18 16:24 ?893次閱讀
    晶振為什么沒有封裝進(jìn)<b class='flag-5'>STM32</b><b class='flag-5'>芯片</b><b class='flag-5'>內(nèi)部</b>?

    交換芯片架構(gòu)是什么意思 交換芯片架構(gòu)怎么工作

    交換芯片架構(gòu)是指交換芯片內(nèi)部的設(shè)計(jì)和組織方式,包括其硬件組件、處理單元、內(nèi)存結(jié)構(gòu)、接口以及其他關(guān)鍵部分的布局和相互作用。交換芯片
    的頭像 發(fā)表于 03-22 16:45 ?786次閱讀