版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
關(guān)于存儲器與總線架構(gòu)第1頁,課件共37頁,創(chuàng)作于2023年2月一、系統(tǒng)構(gòu)架1、STM32系統(tǒng)包含的基本單元四個驅(qū)動單元:
Cortex-M3內(nèi)核ICode總線(I-bus)、DCode總線(D-bus)和系統(tǒng)總線(S-bus),GP-DMA(通用DMA)三個被動單元: 內(nèi)部SRAM,內(nèi)部閃存FLASH存儲器,AHB到APB的橋(AHB2APBx),它連接所有的APB設(shè)備第2頁,課件共37頁,創(chuàng)作于2023年2月2、系統(tǒng)結(jié)構(gòu)如下圖所示第3頁,課件共37頁,創(chuàng)作于2023年2月ICode總線:該總線將Cortex-M3內(nèi)核的指令總線與Flash指令接口相連接,指令預(yù)取在此總線上完成。DCode總線:該總線將Cortex-M3內(nèi)核的DCode總線與閃存存儲器的數(shù)據(jù)接口相連接(常量加載和調(diào)試訪問)。系統(tǒng)總線:此總線連接Cortex-M3內(nèi)核的系統(tǒng)總線(外設(shè)總線)到總線矩陣,總線矩陣協(xié)調(diào)著內(nèi)核和DMA間的訪問。DMA總線:此總線將DMA的AHB主控接口與總線矩陣相聯(lián),總線矩陣協(xié)調(diào)著CPU的DCode和DMA到SRAM、閃存和外設(shè)的訪問。第4頁,課件共37頁,創(chuàng)作于2023年2月總線矩陣:此總線矩陣協(xié)調(diào)內(nèi)核系統(tǒng)總線和DMA主控總線之間的訪問仲裁。此總線矩陣由3個驅(qū)動部件(CPU的DCode、系統(tǒng)總線和DMA總線)和3個被動部件(閃存存儲器接口、SRAM和AHB2APB橋)構(gòu)成。
AHB外設(shè)通過總線矩陣與系統(tǒng)總線相連,允許DMA訪問。AHB/APB橋(APB):兩個AHB/APB橋在AHB和2個APB總線間提供同步連接。APB1操作速度限于36MHz,APB2工作在全速狀態(tài)(最高72MHz)。第5頁,課件共37頁,創(chuàng)作于2023年2月二、存儲器組織1、存儲器的組織方法程序存儲器、數(shù)據(jù)存儲器、寄存器和輸入輸出端口被組織在同一個4GB的線性地址空間內(nèi)。數(shù)據(jù)字節(jié)以小端格式存放在存儲器中。一個字中最低地址字節(jié)被認(rèn)為是該字的最低位字節(jié),而最高地址字節(jié)是最高位字節(jié)??稍L問的存儲器空間被分成8個512MB的主要塊,其他所有沒有分配給片上存儲器和外設(shè)的存儲器空間都是保留的地址空間第6頁,課件共37頁,創(chuàng)作于2023年2月2、存儲器映像第7頁,課件共37頁,創(chuàng)作于2023年2月(續(xù)圖)第8頁,課件共37頁,創(chuàng)作于2023年2月3、外設(shè)存儲器映像
起始地址外設(shè)總線寄存器映像0x40022400-0x40023FFF保留0x40022000-0x400223FF閃存存儲器接口0x40021400-0x40021FFF保留AHB0x40021000-0x400213FF復(fù)位和時鐘控制0x40020400-0x40020FFF保留0x40020000-0x400203FFDMA第9頁,課件共37頁,創(chuàng)作于2023年2月0x40013C00-0x40013FFF保留0x40013800-0x40013BFFUSART10x40013400-0x400137FF保留0x40013000-0x400133FFSPI10x40012C00-0x40012FFFTIM1時鐘0x40012800-0x40012BFFADC2APB10x40012400-0x400127FFADC10x40012000-0x40011FFF保留0x40011800-0x40011BFFGPIO端口E0x40011400-0x400117FFGPIO端口D0x40011000-0x400113FFGPIO端口C0X40010C00-0x40010FFFGPIO端口B第10頁,課件共37頁,創(chuàng)作于2023年2月0x40010800-0x40010BFFGPIO端口A0x40010400-0x400107FFEXTI0x40010000-0x400103FFAFIO
0x40008000-0x400077FF保留0x40007000-0x400073FF電源控制0x40006C00-0x40006FFF后備寄存器(BKP)APB10x40006800-0x40006BFF保留0x40006400-0x400067FFbxCAN0x40006000-0x400063FFUSB的SRAM256x16位0x40005C00-0x40005FFFUSB寄存器0x40005800-0x40005BFFI2C20x40005400-0x400057FFI2C1第11頁,課件共37頁,創(chuàng)作于2023年2月0x40005000-0x40004FFF保留0x40004800-0x40004BFFUSART30x40004400-0x400047FFUSART20x40004000-0x40003FFF保留0x40003800-0x40003BFFSPI20x40003400-0x400037FF保留APB10x40003000-0x400033FF獨(dú)立看門狗(IWDG)0x40002C00-0x40002FFF窗口看門狗(WWDG)0x40002800-0x40002BFFRTC0x40002400-0x40000FFF保留0x40000800-0x40000BFFTIM4定時器0x40000400-0x400007FFTIM3定時器0x40000000-0x400003FFTIM2定時器第12頁,課件共37頁,創(chuàng)作于2023年2月4、STM32F10X中各接口部件中的寄存器
STM32F103系列微控制器嵌入的各種接口部件都有三大類寄存器:控制寄存器、數(shù)據(jù)寄存器和狀態(tài)寄存器,每一類寄存器都包含了多個寄存器,它們在相同的基地址下具有不同的偏移地址。例:TIM2定時器的基地址是:0x40000000
控制寄存器1的偏移地址是:00H
控制寄存器2的偏移地址是:04H
從模式控制寄存器的偏移地址是:08HDMA/中斷使能寄存器的偏移地址是:0CH等第13頁,課件共37頁,創(chuàng)作于2023年2月由上表述可得到它們的物理地址是:控制寄存器1的物理地址是:0x40000000
控制寄存器2的物理地址是:0x40000004
從模式控制寄存器的物理地址是:
0x40000008DMA/中斷使能寄存器的物理地址是:
0x4000000C等因此對這些寄存器的操作實(shí)際上就是對其物理地址中內(nèi)容的操作第14頁,課件共37頁,創(chuàng)作于2023年2月5、嵌入式SRAM
STM32F10x內(nèi)置20K字節(jié)的靜態(tài)SRAM,它可以以字節(jié)、半字(16位)或全字(32位)訪問,SRAM的起始地址是0x20000000第15頁,課件共37頁,創(chuàng)作于2023年2月6、嵌入式閃存高性能的閃存模塊有以下的主要特性:128K字節(jié)閃存擦寫次數(shù):100萬次存儲器結(jié)構(gòu):閃存存儲器有主存儲塊和信息塊組成(1)主存儲塊為16Kx64位,每個主存儲塊又劃分為128個1K字節(jié)的頁。(2)信息塊為320x64位,每個信息塊又劃分為一個2K字節(jié)和一個0.5K字節(jié)的頁第16頁,課件共37頁,創(chuàng)作于2023年2月三、啟動配置啟動模式選擇管腳啟動模式說明BOOT1BOOT0x0用戶Flash用戶閃存被選為啟動區(qū)域01系統(tǒng)存儲器系統(tǒng)存儲器被選為啟動區(qū)域11內(nèi)嵌SRAM內(nèi)嵌SRAM被選為啟動區(qū)域
在STM32F10x里,可以通過BOOT[1:0]引腳選擇三種不同啟動模式第17頁,課件共37頁,創(chuàng)作于2023年2月四、STM32F10X提供的固件庫
固件庫包括了程序、數(shù)據(jù)結(jié)構(gòu)和覆蓋所有外部特性的宏單元,還包括設(shè)備驅(qū)動的描述以及每個外圍模塊的實(shí)例。為了方便用戶的編程,STM32F10X對接口部件中寄存器的操作轉(zhuǎn)變成了對固件庫的操作。即只要調(diào)用固件庫中的相關(guān)函數(shù),就可以完成對接口寄存器的操作。
STM32F10X中固件庫中的函數(shù)是以接口部件來分類的。第18頁,課件共37頁,創(chuàng)作于2023年2月1、STM32固件庫的定義規(guī)則STM32固件庫中使用的縮寫詞:縮寫外圍模塊/單元縮寫外圍模塊/單元ADC模/數(shù)轉(zhuǎn)換PWR電源控制BKP備份寄存器RCC復(fù)位和時鐘控制CAN控制器區(qū)域網(wǎng)絡(luò)RTC實(shí)時時鐘DMA直接存儲器存取控制SPI串行外圍接口EXTI外部中斷控制器SysTick系統(tǒng)tick定時器FLASHFlash存儲器TIM通用定時器GPIO通用I/OTIM1先進(jìn)的控制定時器I2CI2C接口USART通用同步異步接收傳送器IWDG獨(dú)立看門狗WWDG窗口看門狗NVIC嵌套向量中斷控制器第19頁,課件共37頁,創(chuàng)作于2023年2月(1)固件庫的命名規(guī)則
PPP表示外圍模塊的縮寫系統(tǒng)文件名和源/頭文件名以“stm32f10x_”的形式表示,例如stm32f10x_conf.h。在單一文件中使用的常量在該文件中定義,在多個文件中使用的常量定義在頭文件中,所有的常量以大寫字母表示。寄存器當(dāng)作常量看待。同樣以大寫字母表示。第20頁,課件共37頁,創(chuàng)作于2023年2月
外圍模塊功能函數(shù)的名字需要有相應(yīng)的外圍模塊縮寫加下劃線這樣的前綴。每個單詞的首寫字符需要大寫。例SPI_SendData
使用PPP_InitTypeDef中指定的參數(shù)初始化PPP外圍模塊的函數(shù),被命名為PPP_Init。復(fù)位PPP外圍模塊寄存器為默認(rèn)值的函數(shù),命名為PPP_DeInit。將PPP_InitTypeDef結(jié)構(gòu)體中的每個成員設(shè)置為復(fù)位值的函數(shù),命名為PPP_StructInit。第21頁,課件共37頁,創(chuàng)作于2023年2月
用來使能或禁止指定的PPP外圍模塊的函數(shù),命名為PPP_Cmd
用來使能或禁止指定的PPP外圍模塊的某個中斷資源的函數(shù),命名為PPP_ITConfig
用來使能或禁止指定的PPP外圍模塊的DMA接口的函數(shù),被命名為PPP_DMAConfig。用來設(shè)置某個外圍模塊的函數(shù),總是以“Config”結(jié)尾。第22頁,課件共37頁,創(chuàng)作于2023年2月
用來檢測指定PPP的標(biāo)志是否被置位或清0的函數(shù),命名為PPP_GetFlagStatus。用來清除某個PPP的標(biāo)志的函數(shù),命名為PPP_ClearFlag
用來檢驗(yàn)指定PPP的中斷是否發(fā)生的函數(shù),命名為PPP_GetITPendingBit
用來清除某個PPP中斷掛起位的函數(shù),命名為PPP_ClearITPendingBit第23頁,課件共37頁,創(chuàng)作于2023年2月(2)代碼標(biāo)準(zhǔn)變量定義了18個變量類型,在頭文件stm32f10x_type.h中
Typedefsignedlongs32;
Typedefsignedshorts16;
Typedefsignedchars8;
Typedefvolatilesignedlongv32;
Typedefvolatilesignedshortv16;
Typedefvolatilesignedcharv8;
Typedefunsignedlongu32;
Typedefunsignedshortu16;
Typedefunsignedcharu8;第24頁,課件共37頁,創(chuàng)作于2023年2月 Typedefunsignedlongconstuc32;
Typedefunsignedshortconstuc16;
Typedefunsignedcharconstuc8;
Typedefvolatileunsignedlongvu32;
Typedefvolatileunsignedshortvu16;
Typedefvolatileunsignedcharvu8;
Typedefvolatileunsignedlongconstvuc32;
Typedefvolatileunsignedshortconstvuc16;
Typedefvolatileunsignedcharconstvuc8;第25頁,課件共37頁,創(chuàng)作于2023年2月
布爾(bool)類型布爾類型在頭文件stm32f10x_type.h中定義Typedefenum{ FALSE=0,
TRUE=!FALSE}bool;
標(biāo)志狀態(tài)(FunctionlState)類型標(biāo)志狀態(tài)類型在頭文件stm32f10x_type.h中定義Typedefenum{ RESET=0,
SET=!RESET}FlagStatus;第26頁,課件共37頁,創(chuàng)作于2023年2月
功能狀態(tài)(FunctionlState)類型功能狀態(tài)類型在頭文件stm32f10x_type.h中定義Typedefenum{ DISABLE=0,
ENABLE=!DISABLE}FunctionlState;
錯誤狀態(tài)(FunctionlState)類型錯誤狀態(tài)類型在頭文件stm32f10x_type.h中定義Typedefenum{ ERROR=0,
SUCCESS=!ERROR}ErrorStatus;第27頁,課件共37頁,創(chuàng)作于2023年2月(3)外圍模塊指向外圍模塊的指針,用來訪問外圍模塊控制寄存器。外圍模塊控制寄存器結(jié)構(gòu)stm32f10x_map.h包含了所有外圍模塊結(jié)構(gòu)的定義。下面是一個SPI寄存器結(jié)構(gòu)的聲明Typedefstruct{ vu16 CR1 /*SPI控制寄存器1*/ u16 RESERVED0/*保留0*/ vu16 CR2 /*SPI控制寄存器2*/ u16 RESERVED1/*保留1*/第28頁,課件共37頁,創(chuàng)作于2023年2月 vu16 SR /*SPI狀態(tài)寄存器*/ u16 RESERVED2 /*保留2*/ vu16 DR /*SPI數(shù)據(jù)寄存器*/ u16 RESERVED3 /*保留3*/ vu16 CRCPR /*SPICRC多項(xiàng)式寄存器*/ u16 RESERVED4 /*保留4*/ vu16 RXCRCR /*SPIRxCRC寄存器*/ u16 RESERVED5 /*保留5*/ vu16 TXCRCR /*SPITxCRC寄存器*/ u16 RESERVED6 /*保留6*/}SPI_TypeDef
每個外圍模塊的寄存器名是該寄存器的縮寫,用大寫表示。RESERVEDi(i是正數(shù),作為保留域的下標(biāo))表示保留域。第29頁,課件共37頁,創(chuàng)作于2023年2月
外圍模塊聲明所有外圍模塊在stm32f10x_map.h中聲明。下面給出了SPI外圍模塊的聲明#ifndefEXT#DefineEXTextern#endif ┅#definePERIPH_BASE ((u32)0x40000000)#defineAPB1PERIPH_BASE PERIPH_BASE#defineAPB2PERIPH_BASE (PERIPH_BASE+0x10000) ┅/*SPI2基地址的定義*/#defineSPI2_BASE (APB1PERIPH_BASE+0x3800) ┅第30頁,課件共37頁,創(chuàng)作于2023年2月/*SPI2外圍聲明*/#ifndefDEBUG ┅#ifdef_SPI2#defineSPI2 ((SPI_TypeDef*)SPI2_BASE)
#endif /*_SPI2*/
┅#else /*DEBUG*/ ┅#ifdef_SPI2EXTSPI_TypeDef *SPI2#endif /*_SPI2*/ ┅#endif /*DEBUG*/第31頁,課件共37頁,創(chuàng)作于2023年2月說明:(1)定義標(biāo)簽_SPI,用來在應(yīng)用程序中引入SPI外圍模塊庫(_SPI標(biāo)簽定義在stm32f10x_conf.h中)。(2)定義label_SPIn,用來訪問SPIn的外圍寄存器(_SPIn標(biāo)簽定義在stm32f10x_conf.h中)。(3)為了進(jìn)入調(diào)試模式,用戶必須在頭文件stm32f10x_conf.h中定義標(biāo)簽DEBUG。這樣就構(gòu)成了一個指向SRAM中外圍模塊結(jié)構(gòu)體的指針,從而使調(diào)試變的簡單,并且所有寄存器的設(shè)置可以通過轉(zhuǎn)儲一個外圍變量來實(shí)現(xiàn)。第32頁,課件共37頁,創(chuàng)作于2023年2月2、STM32固件庫的層次結(jié)構(gòu)(1)示例(Examples)文件夾Examples包含每個外
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中考物理復(fù)習(xí)主題單元10第24課時電路識別、連接與設(shè)計課件
- 第三章第二節(jié)節(jié)分子和原子(教案)
- 洛陽市城鄉(xiāng)居民基本醫(yī)療保險
- 電力行業(yè)運(yùn)維隊(duì)伍管理辦法
- 環(huán)保企業(yè)法定代表人聘用協(xié)議
- 農(nóng)村公路建設(shè)施工安全規(guī)范
- 生態(tài)環(huán)境治理招投標(biāo)資料清單
- 家庭舞蹈室施工協(xié)議
- 企業(yè)內(nèi)部口腔科護(hù)士招聘合同
- KTV服務(wù)員錄用協(xié)議書
- 部編版五年級上冊《我的長生果》公開課一等獎優(yōu)秀課件
- 人民調(diào)解培訓(xùn)課件(共32張PPT)
- 小學(xué)部編版五年級語文上冊教案(全)
- 綠化養(yǎng)護(hù)報價表
- 《工業(yè)革命與工廠制度》
- 課程領(lǐng)導(dǎo)力-資料教學(xué)課件
- 老人租房免責(zé)協(xié)議書
- 特靈中央空調(diào)機(jī)組RTHD詳細(xì)介紹
- 2023人民教育出版社在職人員招聘筆試模擬試題及答案解析
- 大學(xué)生心理健康教育論文范文3000字(8篇)
- 消費(fèi)者心理學(xué)PPT完整全套教學(xué)課件
評論
0/150
提交評論