日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]概況:STM32庫(kù)版本:V3.5.0startup_stm32f10x_hd.s文件模塊功能:設(shè)置初始堆棧指針;用ISR異常處理程序地址來(lái)設(shè)置向量表?xiàng)l目;配置系統(tǒng)時(shí)鐘,配置安裝在STM3210E-EVAL板子上被用作數(shù)據(jù)內(nèi)存外部sram;設(shè)置初始PC程序計(jì)

概況:

STM32庫(kù)版本:V3.5.0

startup_stm32f10x_hd.s文件模塊功能:


設(shè)置初始堆棧指針;

用ISR異常處理程序地址來(lái)設(shè)置向量表?xiàng)l目;

配置系統(tǒng)時(shí)鐘,配置安裝在STM3210E-EVAL板子上被用作數(shù)據(jù)內(nèi)存外部sram;

設(shè)置初始PC程序計(jì)數(shù)器 指向__iar_program_start代碼段地址。

在這個(gè)文件中的模塊被包含在libs庫(kù)中,可能被替換通過(guò)任何用戶定義的模塊--被PUBLIC定義的_program_start或者用戶定義的一個(gè)開始標(biāo)識(shí);

為了覆蓋在庫(kù)中定義的cstartup,只需添加被修改版本到 工作臺(tái)項(xiàng)目;

矢量表通常是位于地址0;

當(dāng)在RAM中調(diào)試時(shí),矢量表位于ram中,至少對(duì)齊2^6;

對(duì)于C-SPY來(lái)說(shuō),“__vector_table”有特殊的意義;

堆棧指針SP能夠在__vector_table中找到,如果NVIC(嵌套中斷向量控制器) vectortable register (VTOR)的地址不為0,則初始化到這塊地址。

啟動(dòng)代碼解析:

為簡(jiǎn)單 明朗些,分成幾部分展示:

關(guān)于IAR指令,參見《EWARM_AssemblerReference.ENU.pdf》文檔。

.icf內(nèi)存配置文件,與這個(gè)啟動(dòng)文件也是有大大的關(guān)系。

關(guān)于.icf 結(jié)構(gòu)、功能分析,參見--stm32存儲(chǔ)器結(jié)構(gòu)、 IAR 開發(fā)環(huán)境下的.icf 文件、.map文件 解析
1、


;;格式:PROGRAMsymbol---其中symbol為分配模塊的名字;;開始一個(gè)模塊;PROGRAM和NAME指令的別名

MODULE?cstartup;匯編模塊開始

;;Forwarddeclarationofsections.前置段聲明

;;格式:SECTIONsection:type[flag][(align)]

;;NOROOT表示如果這個(gè)段里的標(biāo)號(hào)(如CSTACK/.intvec等)沒(méi)引用,則被linker舍棄;ROOT則是一定不舍棄。

;;(1)表示字節(jié)對(duì)齊數(shù),為2的冪,(2)表示4字節(jié)對(duì)齊,(3)表示8字節(jié)對(duì)齊

;;定義各種模式STACK,具體大小、位置是由linker文件(IAR中.icf)決定的,這些STACK都定義在內(nèi)部RAM中

SECTIONCSTACK:DATA:NOROOT(3);CSTACK數(shù)據(jù)段

;;通常INTVEC段被連接到flash閃存的開始地址,應(yīng)該在.icf文件中有定義,如stmf10X系列閃存起始地址:0x08000000

SECTION.intvec:CODE:NOROOT(2);.intvec代碼段

EXTERN__iar_program_start;;外部變量聲明

EXTERNSystemInit;SystemInit聲明,于外部定義

PUBLIC__vector_table;;外部可調(diào)用;向其他模塊輸出符號(hào)。


2、


DATA

;;中斷向量表

__vector_table;;格式:DCDexpr[,expr]…;Generates32-bitconstants.生成32bit常數(shù)

DCDsfe(CSTACK);;格式:SFE(section[{+|-}offset])返回section段結(jié)束地址,SFB(section)返回section段開始地址;

DCDReset_Handler;ResetHandler

DCDNMI_Handler;NMIHandler

DCDHardFault_Handler;HardFaultHandler

DCDMemManage_Handler;MPUFaultHandler

DCDBusFault_Handler;BusFaultHandler

DCDUsageFault_Handler;UsageFaultHandler

DCD0;Reserved

DCD0;Reserved

DCD0;Reserved

DCD0;Reserved

DCDSVC_Handler;SVCallHandler

DCDDebugMon_Handler;DebugMonitorHandler

DCD0;Reserved

DCDPendSV_Handler;PendSVHandler

DCDSysTick_Handler;SysTickHandler

;ExternalInterrupts

DCDWWDG_IRQHandler;WindowWatchdog

DCDPVD_IRQHandler;PVDthroughEXTILinedetect

DCDTAMPER_IRQHandler;Tamper

DCDRTC_IRQHandler;RTC

DCDFLASH_IRQHandler;Flash

DCDRCC_IRQHandler;RCC

DCDEXTI0_IRQHandler;EXTILine0

DCDEXTI1_IRQHandler;EXTILine1

DCDEXTI2_IRQHandler;EXTILine2

DCDEXTI3_IRQHandler;EXTILine3

DCDEXTI4_IRQHandler;EXTILine4

DCDDMA1_Channel1_IRQHandler;DMA1Channel1

DCDDMA1_Channel2_IRQHandler;DMA1Channel2

DCDDMA1_Channel3_IRQHandler;DMA1Channel3

DCD DMA1_Cha

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

1-匯編編寫的啟動(dòng)文件 startup_stm32f10x_hd.s:設(shè)置堆棧指針、設(shè)置PC指針、初始化中斷向量表、配置系統(tǒng)時(shí)鐘、對(duì)用C庫(kù)函數(shù)_main最終去到C的世界

關(guān)鍵字: STM32 固件庫(kù)

關(guān)注星標(biāo)公眾號(hào),不錯(cuò)過(guò)精彩內(nèi)容轉(zhuǎn)自|茶話MCU基于STM32芯片的工程代碼里有個(gè)很重要的文件,即啟動(dòng)文件。該文件主要由匯編語(yǔ)言寫成,文件名冠以.s結(jié)尾,它是芯片程序運(yùn)行首先要執(zhí)行的一個(gè)文件。其功能及作用簡(jiǎn)單點(diǎn)說(shuō)就是做執(zhí)行...

關(guān)鍵字: STM32 啟動(dòng)文件

學(xué)習(xí)目標(biāo) 從無(wú)到有創(chuàng)建一個(gè)STM32的Keil工程 點(diǎn)亮板子上的一個(gè)LED 工程創(chuàng)建 下載固件庫(kù) 待下載的固件庫(kù)版本為 STM32F10x_StdPeriph_Lib_V3.5.0: 官方網(wǎng)址: https://www....

關(guān)鍵字: MDK STM32 固件庫(kù)

簡(jiǎn)單地說(shuō),單片機(jī)就是一個(gè)小計(jì)算機(jī)系統(tǒng)。為了說(shuō)明清楚這個(gè)問(wèn)題,得要從計(jì)算機(jī)說(shuō)起。提到計(jì)算機(jī),大家可能馬上會(huì)想到“顯示器、鼠標(biāo)、鍵盤”,不過(guò),這不是一個(gè)計(jì)算機(jī)的核心和關(guān)鍵,計(jì)算機(jī)的核心部分在一邊的機(jī)箱里呢。打開機(jī)箱,可以看到...

關(guān)鍵字: iar keil 單片機(jī)編程軟件

單片機(jī)編程軟件是單片機(jī)開發(fā)不可缺少的工具,缺少單片機(jī)編程軟件便如同回到原始社會(huì)。單片機(jī)編程軟件目前使用較多的為keil單片機(jī)編程軟件和IAR單片機(jī)編程軟件。本文中,主要為大家講解keil4與keil5的區(qū)別以及keil5...

關(guān)鍵字: iar keil 單片機(jī)編程軟甲

對(duì)于單片機(jī)編程軟件,小編個(gè)人較為推崇IAR。本文將基于3大方面介紹IAR單片機(jī)編程軟件:一、IAR單片機(jī)編程軟件開發(fā)環(huán)境界面設(shè)置,二、IAR單片機(jī)編程軟件快捷鍵,三、IAR單片機(jī)編程軟件使用小技巧。通過(guò)IAR單片機(jī)編程軟...

關(guān)鍵字: iar 單片機(jī)編程軟件 快捷鍵

目前,流通度較大的單片機(jī)編程軟件為KEIL、IAR。其中,IAR單片機(jī)編程軟件深受用戶喜愛。初接觸IAR單片機(jī)編程軟件時(shí),很多用戶對(duì)其設(shè)置充滿疑惑。故本文將對(duì)IAR單片機(jī)編程軟件設(shè)置加以介紹,幫助大家掌握這款單片機(jī)編程軟...

關(guān)鍵字: iar 單片機(jī)編程軟件 設(shè)置

單片機(jī)編程軟件是單片機(jī)開發(fā)不可缺少的工具之一,目前市場(chǎng)流通的單片機(jī)編程軟件主要為IAR單片機(jī)編程軟件和KEIL單片機(jī)編程軟件。本文中,將為大家講解IAR單片機(jī)編程軟件編譯優(yōu)化問(wèn)題,一起來(lái)了解下吧。

關(guān)鍵字: iar 單片機(jī)編程軟件 編譯優(yōu)化

單片機(jī)編程軟件在實(shí)際工程中具備諸多應(yīng)用,每一款單片機(jī)編程軟件乃至不同版本的單片機(jī)編程軟件皆兼具自身特色。本文將涉及兩方面內(nèi)容,一是IAR單片機(jī)編程軟件的簡(jiǎn)單介紹,二是闡述IAR單片機(jī)編程軟件從建立工程到燒錄程序的過(guò)程。如...

關(guān)鍵字: iar 單片機(jī)編程軟件 燒錄程序

Keil和IAR單片機(jī)編程軟件,是當(dāng)前流通度龐大的兩款單片機(jī)編程軟件。而對(duì)于單片機(jī)編程軟件的使用,各自存在一定區(qū)別。本文中,將為大家講解IAR單片機(jī)編程軟件建立stm32工程的詳細(xì)方法,希望大家通過(guò)本文能夠有所收獲哦。

關(guān)鍵字: iar STM32 單片機(jī)編程軟件
關(guān)閉