版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
STM32F4微控制器應(yīng)用項(xiàng)目二
STM32F4單片機(jī)的編譯集成
環(huán)境MDK5的設(shè)置任務(wù)2.1認(rèn)識(shí)STM32
官方標(biāo)準(zhǔn)固件庫(kù)與MDKSTM32F4微控制器應(yīng)用項(xiàng)目二
STM32F4
單片機(jī)的編譯集成環(huán)境MDK5的設(shè)置任務(wù)2.1認(rèn)識(shí)STM32
官方標(biāo)準(zhǔn)固件庫(kù)與MD
K任務(wù)2.2新建STM32F4
單片機(jī)項(xiàng)目工程STM32F4微控制器應(yīng)用
江薛似息成業(yè)技任務(wù)2.1認(rèn)識(shí)STM32官方標(biāo)準(zhǔn)固件庫(kù)與MDK【知識(shí)目標(biāo)】◆了解STM32官方STD標(biāo)準(zhǔn)固件庫(kù)與MDK編輯界面。【能力目標(biāo)】◆能夠闡述STM32
官方標(biāo)準(zhǔn)固件庫(kù)的架構(gòu)組成。【素質(zhì)目標(biāo)】◆培訓(xùn)系統(tǒng)學(xué)習(xí)能力?!舨殚喸O(shè)計(jì)資料的能力。◆培養(yǎng)分析問(wèn)題解決問(wèn)題的能力。1.STM32F4單片機(jī)的官方標(biāo)準(zhǔn)固件庫(kù)下載2.CMSIS
標(biāo)準(zhǔn)3.STM32F4
官方標(biāo)準(zhǔn)固件庫(kù)包4.STM32F4
單片機(jī)的關(guān)鍵配置文件5.系統(tǒng)啟動(dòng)文件6.MDK
簡(jiǎn)介STM32F4微控制器應(yīng)用本節(jié)學(xué)習(xí)內(nèi)容:STM32F4微控制器應(yīng)用STM32F4
單片機(jī)的官方標(biāo)準(zhǔn)固件庫(kù)下載ST
公司為了方便用戶開發(fā)編寫程序,提供了一套標(biāo)準(zhǔn)的STM32F4
固
件
庫(kù)
,該固件庫(kù)對(duì)內(nèi)部的硬件電路功能以函數(shù)的形式提供了訪問(wèn)接口??梢酝ㄟ^(guò)查看庫(kù)函數(shù)的源程序,了解具體對(duì)寄存器的操作過(guò)程。STM32標(biāo)準(zhǔn)外設(shè)庫(kù)的下載:ST
官網(wǎng)下載https://www.stmcu.com.cn/Designresource/list/STM32%20MCU/firmware
software/firmware
software>開源電子網(wǎng)http://www.openedv.comSTM32F4微控制器應(yīng)用◆
CMSIS標(biāo)準(zhǔn)CMSIS
標(biāo)準(zhǔn)英文全稱是Cortex
Microcontroller
Software
Interface
Standard,ARM
Cortex微控制器軟件接口標(biāo)準(zhǔn)。ARM
是一個(gè)做芯片標(biāo)準(zhǔn)的公司,它負(fù)責(zé)的是芯片內(nèi)核的架構(gòu)設(shè)計(jì)。TI、ST
等公司并不做標(biāo)準(zhǔn),他們根據(jù)ARM
公司提供的芯片內(nèi)核標(biāo)準(zhǔn)設(shè)計(jì)自己的芯片。任何一個(gè)Cortex-M4芯
片
,內(nèi)核結(jié)構(gòu)都完全相同,不同的是芯片的存儲(chǔ)器容量、片上外設(shè)、IO以及其他模塊的區(qū)別。STM32F4微控制器應(yīng)用◆CMSIS標(biāo)準(zhǔn)
用戶
應(yīng)用程序代碼實(shí)時(shí)內(nèi)核中間件作系統(tǒng)內(nèi)核外設(shè)函數(shù)中間件函數(shù)
器件級(jí)外設(shè)函數(shù)CMSIS外設(shè)寄存器和中斷向量定義層NVIC嵌套向量中斷控制器圖
2
-
1
基
于CMSIS框架的應(yīng)用程序基本結(jié)構(gòu)Sys'Tick
實(shí)時(shí)內(nèi)核
定時(shí)器調(diào)試/跟蹤
接口其他
外設(shè)Cortex
CPU實(shí)時(shí)操M(fèi)CUCMSIS
框架內(nèi)分為3個(gè)基本功能層:內(nèi)核外設(shè)訪問(wèn)層:由ARM公司實(shí)現(xiàn),包含了名
稱定義、地址定義、存取內(nèi)核寄存器和外圍設(shè)備的協(xié)助函數(shù)。同時(shí)也為RTOS(實(shí)時(shí)操作系統(tǒng))
定義了獨(dú)立的內(nèi)核接口函數(shù)。中間件訪問(wèn)層:由ARM公司實(shí)現(xiàn),芯片廠商提供更新,主要負(fù)責(zé)當(dāng)以中間件訪問(wèn)的應(yīng)用程序
接口API函數(shù)。器件級(jí)外設(shè)訪問(wèn)層:由芯片廠商實(shí)現(xiàn),包含了
定義硬件寄存器的地址以及外設(shè)的訪問(wèn)函數(shù),
比如ST
公司提供的固件庫(kù)外設(shè)驅(qū)動(dòng)文件
(stm32f40x_gpio.c等文件)。另外廠商會(huì)對(duì)
異
常
向
量
進(jìn)
行
擴(kuò)
展,以
處
理
相
應(yīng)
異
常
。STM32F4微控制器應(yīng)用CMSIS標(biāo)準(zhǔn)用戶應(yīng)用程序代碼內(nèi)核外設(shè)函數(shù)
中間件函數(shù)
器件級(jí)外設(shè)函數(shù)外設(shè)寄存器和中斷向量定義層圖
2
-
1
基
于CMSIS框架的應(yīng)用程序基本結(jié)構(gòu)NVIC嵌套向量中斷控制器SysTick
實(shí)時(shí)內(nèi)核
定時(shí)器實(shí)時(shí)內(nèi)核
中間件調(diào)試/跟蹤
接口實(shí)時(shí)操
作系統(tǒng)Cortex
CPU其他
外設(shè)CMSISMCUSTM32F4微控制器應(yīng)用◆
STM32F4官方標(biāo)準(zhǔn)固件庫(kù)包介紹下載“STSWSTM32065STM32F4單片機(jī)DSP
與標(biāo)準(zhǔn)外設(shè)庫(kù)”后解壓縮后如圖2-2所示:STM32F4xx固件庫(kù)>STM32F4xx_DSP_StdPeriph_Lib_V1.4.0L
htmrescLibrariesProjectUtilitiesMCD-ST
LibertySW
LicenseAgreementV2.pdfeRelease
Notes.htmlstm32f4xx
dsp
stdperiph
lib
um.chmstm32f4xx
dsp
stdperiph
lib
um.chw圖2-2
“STSW_STM32065_STM32F4
單片機(jī)DSP
與標(biāo)準(zhǔn)外設(shè)庫(kù)”內(nèi)容《STM32F4xx_DSP_StdPeriph_Lib_V1.4.0>Libraries>CMSIS名稱DeviceDocumentationDSP_LibInclude□LibRTOSSVDCMSISENDUSERLICENCEAGREEMENT.pdfindex.htmlREADME.txtSTM32F4微控制器應(yīng)用STM32F4xx固件庫(kù)STM32F4xx_DSP_StdPeriph_Lib_V1.4.0>Libraries人名稱□CMSISSTM32F4xx_StdPeriph_DriverSTM32F4官方標(biāo)準(zhǔn)固件庫(kù)包介紹STM32F4微控制器應(yīng)用《STM32F4xx_DSP_StdPeriph_Lib_V1.4.0Libraries
>|STM32F4xx_StdPeriph_Driver名稱incsrc◎
Release_Notes.htmlSTM32F4xx固件庫(kù)STM32F4xx_DSP_StdPeriph_Lib_V1.4.0>
Libraries名稱□
CMSISSTM32F4xx_StdPeriph_DriverSTM32F4官方標(biāo)準(zhǔn)固件庫(kù)包介紹《STM32F4xx_DSP_StdPeriph_Lib_V1.4.0LibrariesSTM32F4xx_StdPeriph_Driver人名稱incsrc◎
Release_Notes.html□stm3244x_adch□stm32f4xx_can.h□stm32f4xx_crchDstm3244x_cryp.h□stm32f4xx_dac.h□stm3244x_dbgmcu.h□stm324xx_demi.h□stm32f4xx_dma.h□stm32f4xx_dma2d.□stm32f4xc_ext.h□stm32f4xx_flash.h□stm32f4xx_flash_ramfunc.h□stm32f4xx_fmch□stm32f4xx_fsmc.h□stm32f4xx_gpio.h□stm32
f4xx_hash.h□stm32f4xx_i2ch□stm32f4xx_iwdg.h□stm324xx_tdchSTM32F4微控制器應(yīng)用□misc.hSTM32F4官方標(biāo)準(zhǔn)固件庫(kù)包介紹STM32F4微控制器應(yīng)用
江薛糾息《STM32F4xx_DSP_StdPeriph_Lib_V1.4.0Libraries
STM32F4xx_StdPeriph_Driver名稱incsrc◎
Release_Notes.htmlstm32f4x_adc.cstm32f4x_can.cstm32f4x_crc.cstm32f4xx_cryp.cstm32f4xx_cryp_aes.cstm32f4x_cryp_des.c
stm32f4xx_cryp_tdes.c
stm32f4xx_dac.cstm32f4xx_dbgmcu.cstm32f4xx_dcmi.cstm32f4xx_dma.cstm32f4xx_dma2d.cstm32f4xx_exti.cstm32f4x_flash.cstm32f4xx_flash_ramfunc.cstm324xx_fmc.cstm32f4xx_fsmc.cstm32f4xx_gpio.cstm32f4xx_hash.cSTM32F4官方標(biāo)準(zhǔn)固件庫(kù)包介紹Libraries文件夾里面的文件在建立工程的時(shí)候會(huì)使用。STM32F4微控制器應(yīng)用STM32F4官方標(biāo)準(zhǔn)固件庫(kù)包介紹STM32F4xx固件庫(kù)
STM32F4xx_DSP_StdPeriph_Lib_V1.4.0>|Project名稱□STM32F4xx_StdPeriph_ExamplesSTM32F4xx_StdPeriph_Templates包含ST公司提供的官方實(shí)例(常用的硬件功能應(yīng)用),用戶可以參考這些實(shí)例編寫
自己的開發(fā)程序,縮短開發(fā)周期。存放工程模板,給出了常用的集中開發(fā)環(huán)境下的項(xiàng)目模板。STM32F4xx固件庫(kù)>STM32F4xx_DSP_StdPeriph_Lib_V1.4.0htmrescLibrariesProjectUtilitiesMCD-STLibertySWLicenseAgreementV2.pdfeRelease
Notes.html?stm32f4xxdsp
stdperiph
libum.chm□stm32f4xxdsp
stdperiph
lib
um.chw固件庫(kù)的幫助文檔,在開發(fā)過(guò)程中會(huì)用到。STM32F4微控制器應(yīng)用◆STM32F4官方標(biāo)準(zhǔn)固件庫(kù)包介紹序號(hào)文件所在目錄說(shuō)明1core_cm4.h\stm32f4_dsp_stdperiph_lib_V1.8.0\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Include該頭文件是CMSIS的核心文件,提供進(jìn)入
Cortex-M4內(nèi)核接口。用戶無(wú)須修改該文件。2stm32f4xx.h\stm32f4_dsp_stdperiph_lib_V1.8.0\STM32F4xx_DSP_Std
Periph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\IncludeSTM32F4片上外設(shè)訪問(wèn)層頭文件,該文件至關(guān)重要,對(duì)系統(tǒng)寄存器進(jìn)行了定義聲明以
及內(nèi)存操作,該文件同時(shí)還包含了時(shí)鐘的相
關(guān)定義、FPU和MPU單元開啟定義、中斷相關(guān)定義等。3system_stm32f4
xx.h\stm32f4_dsp_stdperiph_lib_V1.8.0\STM32F4xx_DSP_Std
Periph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include片上外設(shè)接入層系統(tǒng)頭文件。主要是申明設(shè)置系統(tǒng)及總線時(shí)鐘相關(guān)的函數(shù)。STM32F4微控制器應(yīng)用STM32F4
單片機(jī)的關(guān)鍵配置文件表2-1STM32F4單片機(jī)的關(guān)鍵配置文件序號(hào)文件所在目錄說(shuō)明4system_stm32f4xX.C\stm32f4_dsp_stdperiph_lib_V1.8.0\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates該文件是在系統(tǒng)啟動(dòng)時(shí)對(duì)整個(gè)系統(tǒng)和時(shí)鐘系
統(tǒng)進(jìn)行配置,系統(tǒng)啟動(dòng)后首先要調(diào)用該文件中的SystemInit函數(shù)。5stm32f4xx_it.c\stm32f4_dsp_stdperiph_lib_V1.8.0\STM32F4x_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Template用于集中編寫中斷函數(shù)6stm32f4xx_it.h\stm32f4_dsp_stdperiph_lib_V1.8.0\STM32F4x_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templatestm32f4xx_it.c對(duì)應(yīng)的頭文件。STM32F4微控制器應(yīng)用STM32F4
單片機(jī)的關(guān)鍵配置文件表2-1STM32F4單片機(jī)的關(guān)鍵配置文件序號(hào)文件所在目錄說(shuō)明7stm32f4xx_conf.h\stm32f4_dsp_stdperiph_lib_V1.8.0\STM32F4x_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Template外設(shè)驅(qū)動(dòng)配置文件,通過(guò)修改該文件中所包含的外設(shè)頭文件,用戶啟動(dòng)或禁用外設(shè)驅(qū)動(dòng)。8stm32f4xx_rcc.c\stm32f4_dsp_stdperiph_lib_V1.8.0\STM3
2F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Driver\src與系統(tǒng)時(shí)鐘RCC相關(guān)的一些操作函數(shù),主要是對(duì)一些時(shí)鐘的配置和使能。9stm32f4xx_rcc.h\stm32f4_dsp_stdperiph_lib_V1.8.0\STM3
2F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Driver\incstm32f4xx_rcc.c對(duì)應(yīng)的頭文件。STM32F4微控制器應(yīng)用STM32F4
單片機(jī)的關(guān)鍵配置文件表2-1STM32F4單片機(jī)的關(guān)鍵配置文件序號(hào)文件所在目錄說(shuō)明10misc.C\stm32f4_dsp_stdperiph_lib_V1.8.0\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Driver\src包含中斷優(yōu)先級(jí)以及內(nèi)核中滴答定時(shí)器的配置操作函數(shù),在實(shí)際設(shè)計(jì)中會(huì)經(jīng)常用到
misc.c和misc.h這兩個(gè)文件。11misc.h\stm32f4_dsp_stdperiph_lib_V1.8.0\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Driver\incmisc.c對(duì)應(yīng)的頭文件。STM32F4
單片機(jī)的關(guān)鍵配置文件表2-1STM32F4單片機(jī)的關(guān)鍵配置文件STM32F4微控制器應(yīng)用
江薛似息戰(zhàn)
業(yè)
學(xué)院系統(tǒng)啟動(dòng)文件完成以下工作:初始化堆棧指針SP。初始化PC指針,將指針PC設(shè)置為
“Reset_Handler”,系統(tǒng)啟動(dòng)后從
“Reset_Handler”向量入口開始執(zhí)行程序。初始化中斷向量表。配置系統(tǒng)時(shí)鐘,調(diào)用SystemInit。STM32F4xx固件庫(kù)>STM32F4xxDSP_Stdperiph
Lib_V1.4.0>Libraries>CMSIS>Device>ST>STM32F4xx>Source
>Templates>arm名稱startup_stm32f40_41×xX.s系統(tǒng)的啟動(dòng)文件startup_stm32f40xx.sstartup_stm32f401xx.sstartup_stm32f411xe.sSTM32F4微控制器應(yīng)用◆系統(tǒng)啟動(dòng)文件(/111///1//1//////1///1/////1/1/11/////1//,Stack_Size
EQU0x00000400將棧的區(qū)域“Stack_Size“大小設(shè)置為0x00000400(1K字節(jié))AREA
STACK,NOINIT,READWRITE,ALIGN=3Stack_Mem
SPACE
Stack_Size_initial_sp///////////////////////////,STM32F4微控制器應(yīng)用
息峨業(yè)技◆系統(tǒng)啟動(dòng)文件*********************************File
Name
:startup_stm32f40_41xXX.S*******************************************************************************/////////////////////////////////////////,Stack_Size
EQU0x00000400AREA
STACK,NOINIT,READWRITE,ALIGN=3定義了一個(gè)名為”STACK”的數(shù)據(jù)段。AREA偽指令用于定義一個(gè)代碼段或數(shù)據(jù)段,默認(rèn)為數(shù)據(jù)段,段名
若以數(shù)字開頭,則該段名需用“|”括起來(lái)。段的屬性包括NOINIT,READWRITE,ALIGN=3。Stack_Mem
SPACE
Stack_Size_initial_sp//////////////////STM32F4微控制器應(yīng)用
息峨業(yè)技◆系統(tǒng)啟動(dòng)文件*********************************File
Name
:startup_stm32f40_41xxx.S*******************************************************************************NOINIT含義為不對(duì)數(shù)據(jù)段的內(nèi)容進(jìn)行初始化或?qū)?nèi)容設(shè)置0。>READWRITE
屬性表示數(shù)據(jù)段可以進(jìn)行讀寫操作。ALIGN=3
表示數(shù)據(jù)段以23=8字節(jié)對(duì)齊。(/111///1//1//////1///1/////1/1/11/////1//,Stack_Size
EQU0x00000400AREA
STACK,NOINIT,READWRITE,ALIGN=3Stack_Mem
SPACE
Stack_Size開辟一個(gè)??臻g,??臻g的標(biāo)號(hào)為“Stack_Mem”,??臻g大小
為“Stack_Size”。SPACE偽指令用于開辟一個(gè)空間。_initialsp/////////11///111/11/111/1,STM32F4微控制器應(yīng)用
息峨業(yè)技◆系統(tǒng)啟動(dòng)文件File
Name
:startup_stm32f40_41xxX.S*******************************************************************************(/111///1//1//////1///1/////1/1/11/////1//,Stack_Size
EQU
0x00000400AREA
STACK,NOINIT,READWRITE,ALIGN=3Stack_Mem
SPACE
Stack_Size_initialsp標(biāo)號(hào)“_initial_sp”表示了堆空間的頂部,也就是棧頂。////////////,//111///111111///1/1,STM32F4微控制器應(yīng)用
息峨業(yè)技◆系統(tǒng)啟動(dòng)文件FileName
:startup_stm32f40_41xxX.S*******************************************************************************STM32F4微控制器應(yīng)用
息峨業(yè)技◆系統(tǒng)啟動(dòng)文件*********************************File
Name
:startup_stm32f40_41xxx.S*******************************************************************************//////////////////////11//11///11111///1//Heap_SizeEQU0x00000200AREA
HEAP,NOINIT,
READWRITE,
ALIGN=3heap_baseHeap_Mem
SPACE
Heap_Size_heap_limit//////1//////////////////////////////1//////////////堆的區(qū)域“Heap_Size”大小設(shè)置為2?(512)字節(jié),代碼定義了一個(gè)名為
“HEAP”
的數(shù)據(jù)段,標(biāo)號(hào)“
heap_base
”表示了的數(shù)據(jù)段的底部,標(biāo)號(hào)“_heap_limit
”表示了堆的頂部。STM32F4微控制器應(yīng)用◆系統(tǒng)啟動(dòng)文件通過(guò)上述程序代碼可以看出,棧的頂部和堆的底部是連接在一起的,在程序運(yùn)行中,當(dāng)發(fā)生進(jìn)棧操作時(shí)是向RAM的低地址方向存儲(chǔ)臨時(shí)變量。
而堆的作用是分配變量,向高地址方向分配RAM
的存儲(chǔ)空間。當(dāng)設(shè)計(jì)程序非常龐大時(shí),運(yùn)行過(guò)程中有可能會(huì)出現(xiàn)堆棧溢出的情況。STM32F4微控制器應(yīng)用
息峨業(yè)技◆系統(tǒng)啟動(dòng)文件*********************************FileName
:startup_stm32f40_41xxx.S*******************************************************************************指定當(dāng)前文件保持堆棧八字節(jié)對(duì)齊。指示編譯器將使用Thumb
指令集。在使用Thumb
具體指令前要使用該指令進(jìn)行聲明。PRESERVE8THUMB/////1///1/////STM32F4微控制器應(yīng)用
息峨業(yè)技◆系統(tǒng)啟動(dòng)文件*********************************File
Name:startup_stm32f40_41xxx.S*******************************************************************************/////1/1/111//11//11///1///1///11//AREARESET,DATA,READONLYEXPORT
VectorsEXPORT
Vectors_EndEXPORT
Vectors_Size//1//////11///////1///////1///////11定義了一個(gè)名為“RESET”
的數(shù)據(jù)段,并設(shè)置為只讀屬性,通過(guò)
“EXPORT”
將標(biāo)號(hào)“_Vectors”
、“_Vectors_End”、“_Vectors_Size”聲明為全局量,可供其他源文件訪問(wèn)。DCD
偽指令在RAM中分配了連續(xù)的存儲(chǔ)空間并
進(jìn)行了初始化設(shè)置。>分配了連續(xù)字節(jié)的存儲(chǔ)空間,并進(jìn)行了初始化
設(shè)置,初始化值為“_initial_sp”,“_initial_sp”標(biāo)號(hào)代表了地址值?!癬Vectors”
標(biāo)號(hào)也同樣代表了當(dāng)前數(shù)據(jù)段在RAM
中的地址值。>
標(biāo)
號(hào)
“
_Vectors_End”
表示了上述分配空間結(jié)
束后的地址值。標(biāo)號(hào)“_Vectors_Size”代表了
分配的向量空間的總字節(jié)數(shù)。DCD
NMI_Handler;NMIHandlerDCD
FPU_IRQHandler;FPU_Vectors_End
Vectors_SizeEQU
Vectors_End-
VectorsSTM32F4微控制器應(yīng)用
息峨業(yè)技◆系統(tǒng)啟動(dòng)文件*************************************File
Name
:startup_stm32f40_41xxx.S*******************************************************************************_VectorsDCD
_initial_spDCD
Reset_Handler;Top
of
Stack;ResetHandler.text|,CODE,READONLYReset_HandlerEXPORTReset_HandlerIMPORT
SystemInitIMPORTLDR
RO,=SystemInitBLXLDR
RO,=
mainBX
RO[WEAK]分配了名為“
|
.text|”只讀的程序存儲(chǔ)空間段“PROC”和
“ENDP”構(gòu)成了一個(gè)過(guò)程,相當(dāng)于定義了一個(gè)函數(shù),在”PROC”與“ENDP”
之間的代碼構(gòu)成了一個(gè)子程序的內(nèi)容,”PROC”與
“ENDP”
成對(duì)出現(xiàn)。ENDPSTM32F4微控制器應(yīng)用
息峨業(yè)技◆系統(tǒng)啟動(dòng)文件*********************************File
Name
:startup_stm32f40_41xxx.S*******************************************************************************/////////////////////////////////////////////,AREA
|.text|,CODE,READONLYReset_HandlerPROCEXPORTReset_Handler
[WEAK]IMPORT
SvstemInitIMPORT
mainLDR
RO,=SvstemInitBLX
ROLDR
RO,=
mainBX
ROENDP'/1111//////1111111111111//11/11111111111111/1,STM32F4微控制器應(yīng)用◆系統(tǒng)啟動(dòng)文件*********************************File
Name
:startup_stm32f40_41xxx.S*******************************************************************************標(biāo)號(hào)Reset_Handler相當(dāng)于函數(shù)名,對(duì)應(yīng)了這段程序的首地址。EXPORT用于聲明,聲明Reset_Handler
標(biāo)號(hào)為全局標(biāo)號(hào),其它源文件
可以訪問(wèn)。[WEAK]
用于指示如果有其它源文件定義Reset_Handler
標(biāo)號(hào),則屏蔽
掉此處的聲明。STM32F4微控制器應(yīng)用
息峨業(yè)技◆系統(tǒng)啟動(dòng)文件File
Name
:startup_stm32f40_41xxx.S*******************************************************************************AREA
|.text|,CODE,READONLYReset_HandlerPROCEXPORT
Reset_Handler
[WEAK]IMPORTSystemInitIMPORT
mainLDR
RO,=SvstemInitBLX
ROLDR
RO,=
mainBX
ROENDP/1111//////1111111111111//11/11111111111111/1,通知編譯器使用其它源文件中的“SystemInit”、“_m
ain”標(biāo)號(hào)。'AREA
|.text|,CODE,READONLYReset_HandlerPROCEXPORTReset_Handler
[WEAK]IMPORT
SystemInitIMPORT
mainLDR
RO,=SvstemInitBLX
ROLDR
RO,=
mainBX
ROENDP'/1111//////1111111111111//11/11111111111111/1,◆系統(tǒng)啟動(dòng)文件File
Name
:startup_stm32f40_41xxx.S*******************************************************************************STM32F4微控制器應(yīng)用將
“SystemInit”標(biāo)號(hào)對(duì)應(yīng)的值寫入內(nèi)部寄存器RO
中。息峨業(yè)技STM32F4微控制器應(yīng)用
息峨業(yè)技◆系統(tǒng)啟動(dòng)文件File
Name
:startup_stm32f40_41xxx.S*******************************************************************************AREA
|.text|,CODE,READONLYReset_Handler
PROCEXPORT
Reset_Handler
[WEAK]IMPORT
SystemInitIMPORT
mainLDRRO,=SvstemInitBLXROLDR
RO,=
mainBX
ROENDP'/1111//////1111111111111//11/11111111111111/1,跳轉(zhuǎn)到寄存器RO內(nèi)容對(duì)應(yīng)的地址處執(zhí)行子程序,并將指令切換回ARM指令集。STM32F4微控制器應(yīng)用
息峨業(yè)技◆系統(tǒng)啟動(dòng)文件File
Name
:startup_stm32f40_41xxx.S*******************************************************************************定義了標(biāo)號(hào)名稱為NMI_Handler的子程序,ENDP:
表示程序的結(jié)束,[WEAK]:該段程序的定義為弱定義方式,其它源文件定義了
“NMI_Handler”
函數(shù)則屏蔽掉此處的聲明。NMI_Handler
PROCEXPORTNMI_Handler
BENDP//////1/////1//1////////1////////////////1[WEAK]KEILTools
byARMμVision°5Integrated
Development
EnvironmentKEIL
is
a
trademark
and
pVision
is
a
registered
trademark
ofARM
Ltd.All
rights
reserved.This
product
is
protectedby
USand
internationallaws.圖2-4
MDK5啟動(dòng)界面結(jié)
息
峨
業(yè)
枝
1
8
學(xué)
說(shuō)MDK,源自于德國(guó)的KEIL公司,是ARM
公司推出的針對(duì)STM32F4微控制器應(yīng)用◆
MDK簡(jiǎn)介Keil
MDK,也稱MDK-ARM、Realview各種嵌入式處理器的軟件開發(fā)工具。STM32F4微控制器應(yīng)用
息
峨
業(yè)
枝
1
8
學(xué)
說(shuō)◆
MDK簡(jiǎn)介MDK,源自于德國(guó)的KEIL公司,是ARM公司推出的針對(duì)Arm
C/C++CompilerWithsafetyqualificationKeilMDK,也
稱MDK-ARM
、Realview各種嵌入式處理器的軟件開發(fā)工具。DeviceStartupDevice
HALCMSIS
DriversCMSISCMSIS-CoreCMSIS-DSPCMSIS-RTOSGraphicsMbed
TLSSSL/TLSsecurityloTconnectorsMDK-CoreμVisionIDE&debuggerwithpack
managementNetwork
IPv4/Pv6USBHost/DeviceFile
System圖2-5
MDK5的組成SofwarePacksMDKToolsMDK-MiddlewareSTM32F4微控制器應(yīng)用◆
MDK簡(jiǎn)介Keil
MDK,也稱MDK-ARM
、Realview
MDK,源自于德國(guó)的KEIL公司,是ARM公司推出的針對(duì)各種嵌入式處理器的軟件開發(fā)工具。MDK5
下載網(wǎng)址:https://www.keil.com/demo/eval/arm.htmARM.CMSIS.5.8.0
pack
安裝包和Keil.STM32F4xx_DFP.2.16.0.pack安裝包下載網(wǎng)址:https://www.keil.com/dd2/Pack/#!#eula-containerWMDK安裝教程本節(jié)總結(jié)1.STM32F4
單片機(jī)的官方標(biāo)準(zhǔn)固件庫(kù)下載2.CMSIS標(biāo)準(zhǔn)3.STM32F4
官方標(biāo)準(zhǔn)固件庫(kù)包4.STM32F4
單片機(jī)的關(guān)鍵配置文件5.系統(tǒng)啟動(dòng)文件6.MDK
簡(jiǎn)介STM32F4微控制器應(yīng)用STM32F4
微控制器應(yīng)用
江薛糾息峨業(yè)技任務(wù)2.2新建STM32F4
單片機(jī)項(xiàng)目工程【知識(shí)目標(biāo)】◆掌握使用MDK新建STM32F4設(shè)計(jì)項(xiàng)目的流程?!灸芰δ繕?biāo)】◆能夠在MDK中成功創(chuàng)建一個(gè)全新的STM32F4單片機(jī)項(xiàng)目工程?!裟軌蚋鶕?jù)項(xiàng)目需求,在STM32項(xiàng)目中精準(zhǔn)配置相應(yīng)STD庫(kù)文件和編譯選項(xiàng)。【素質(zhì)目標(biāo)】◆培訓(xùn)系統(tǒng)學(xué)習(xí)能力。◆培養(yǎng)查閱設(shè)計(jì)資料的能力。◆培養(yǎng)分析問(wèn)題解決問(wèn)題的能力。STM32F4微控制器應(yīng)用本節(jié)學(xué)習(xí)內(nèi)容:1.
創(chuàng)建項(xiàng)目工程并配置項(xiàng)目參數(shù)
6.項(xiàng)目頭文件路徑配置2.在項(xiàng)目中添加配置文件
7.
設(shè)置輸出選項(xiàng)3.在項(xiàng)目中添加自定義延時(shí)文件和自定義系統(tǒng)文件
8.
設(shè)置下載/調(diào)試選項(xiàng)4.
添加并配置標(biāo)準(zhǔn)庫(kù)文件9.
配置系統(tǒng)時(shí)鐘參數(shù)5.啟動(dòng)文件配置
10.
單片機(jī)項(xiàng)目編譯STM32F4微控制器應(yīng)用
信息職業(yè)技術(shù)
學(xué)
說(shuō)準(zhǔn)備工作:1.
下載STM32F4固件庫(kù)包并解壓縮,如圖所示:
STM32F4xx固件庫(kù)>
STM32F4xx_DSP_StdPeriph_Lib_V1.4.0
htmrescLibrariesProjectUtilities2
MCD-ST
LibertySW
LicenseAgreementV2.pdfeReleaseNotes.html?
stm32f4xxdspstdperiphlib
um.chm2.安裝好MDK5
□stm32f4xx
dsp
stdperiph
lib
um.chw3.安裝好STM32F4的器件包:Keil.STM32F4xx_DFP.1.0.8.pack>此電腦新加卷(E:)>STM32F407ZGT6Template名稱LCOREFWLIBLHAREWAREOBJSYSTEMUSER修改日期2022/2/1021:372022/2/1021:372022/2/1021:382022/2/1021:372022/2/1021:372022/2/1021:37類型文件夾文件夾文件夾文件夾文件夾文件夾1.
創(chuàng)建項(xiàng)目工程并配置項(xiàng)目參數(shù)1)首先在電腦的硬盤上創(chuàng)建一個(gè)文件夾用來(lái)存放工程模板,并在該文件夾下新建6個(gè)文件夾,如圖2-5所示。STM32F4微控制器應(yīng)用江
薛
線息
峨業(yè)技圖2-5新建模板的窗口學(xué)院STM32F4微控制器應(yīng)用1.創(chuàng)建項(xiàng)目工程并配置項(xiàng)目參數(shù)2)打開MDK
軟件,執(zhí)行Project\New
μVision
Project…菜單命令,并將工程路徑選擇為新建的模板文件下的USER,
并保存工程名為template
。Select
Device
for
Target
Target
1..Device|在彈出的窗口中選擇器件,如圖2-6所示:
Software
PacksSTMicroelectronics將器件選擇為:STMicroelectronics/STM4Series/STM32F407/STM32F407ZG/STM32F407ZGTx圖2-6新建項(xiàng)目選擇器件1.創(chuàng)建項(xiàng)目工程并配置項(xiàng)目參數(shù)單擊OK后,在彈出的如圖2-7所示的“ManageRun-TimeEnvironment”對(duì)話框中選擇Cancel。操作完成后,USER文件夾下文件如圖2-8所示。STM32F4微控制器應(yīng)用
江薛紡息8ManagePum-TimeErmkormemSstwareComporaenm◆
feard
SopCMSs◆
cMSS
Diar◆
CompierDeic◆
Fe
Sstem◆
Grapl◆GrapeiesDspiay◆Netner◆
UsBSetVaruntARMComplerwersionDeloiptionSTMgnestronict
324691DSCOMRYEněad
Delca
Dan
soento
CMSS1.6.0
CoepleEtenostouARMCcmplk
5and6.13.0DeABMSodfaronsCamgle6MDK-PusMDKPus5.50.0
UsrI-tefceongrapialLCDdspDuplayIntertace
indusng
chguratentoremWN7.12.0
B4NetnorkingusngEithemetorsalalprgtoc幽USBCemmunsason
satrisus&rice
dadanie
otput
DealynionBaalw
sletFackDetailCKCancel此電腦,新加卷(E:)>STM32F407ZGT6Template>USER名稱DebugConfigListingsObjects□template.uvoptxWtemplate.uvprojx修改日期2022/2/1022:032022/2/1022:112022/2/1022:112022/2/1022:032022/2/1022:03圖2-7
“Manage
Run
Environment”
對(duì)話框
圖2-8
USER目錄下的文件2.在項(xiàng)目中添加配置文件1)將stm32f4_dsp_stdperiph_lib_V1.8.0\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Drive
目錄下的inc
、src
文件夾復(fù)制到新建模板目錄下的FWLIB
文件夾下
。固件庫(kù)中src為驅(qū)動(dòng)STM32F4的庫(kù)函數(shù)文件。inc則是這些庫(kù)文件對(duì)應(yīng)的頭文件。2)將與內(nèi)核和啟動(dòng)相關(guān)的文件復(fù)制到模板文件夾下的core文件夾內(nèi)。將stm324_dsp_stdperiph_lib_V1.8.0\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\
ST\STM32F4xx\Source\Templates\arm
目錄下的startup_stm32f40_41xxx.S啟動(dòng)文件復(fù)制到CORE文
件夾內(nèi)。將stm32f4_dsp_stdperiph_lib_V1.8.0\Libraries\CMSIS\Include
目錄下的core_cm4.h、core_cmsimd.h
、core_cmFunc.h
、core_cmInstr.h
復(fù)制到CORE文件夾內(nèi)。STM32F4微控制器應(yīng)用江
薛紡息2.在項(xiàng)目中添加配置文件3
)
將stm32f4_dsp_stdperiph_lib_V1.8.0\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include目錄下的stm32f4xx.h、system_stm32f4xx.h文件
復(fù)制到USER目
錄下。4
)
將stm32f4_dsp_stdperiph_lib_V1.8.0\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates
目錄下的main.c、
main.h、stm32f4xx_conf.h、system_stm32f4xx.c、stm32f4xx_it.c、stm32f4xx_it.h文件復(fù)制到STM32F4微控制器應(yīng)用信
息
職
業(yè)
技
術(shù)
學(xué)
說(shuō)USER文件夾下。>此電腦>新加卷(E:)
STM32F407ZGT6Template
USER名稱DebugConfigListingsObjectsmain.cmain.hstm32f4xx.hstm32f4xx_conf.hstm32f?xx_it.cstm32f4xx_it.hsystem_stm32f4xx.csystem_stm32f4xx.htemplate.uvoptxWtemplate.uvprojx修改日期2022/2/1022:032022/2/1022:112022/2/1022:11
2016/11/92:192016/11/92:19
2016/11/723:03
2016/11/92:192016/11/92:192016/11/92:192016/11/92:19
2016/11/723:03
2022/2/1022:032022/2/1022:03STM32F4微控制器應(yīng)用2.在項(xiàng)目中添加配置文件文件復(fù)制后的user
文件夾如圖2-9所示。圖2-9USER文件夾STM32F4微控制器應(yīng)用
江薛公息峨業(yè)技影學(xué)院3.在項(xiàng)目中添加自定義延時(shí)文件和自定義系統(tǒng)文件在system
文件夾內(nèi)新建兩個(gè)文件夾delay
、sys,如圖2-12所示。圖2-12新建sys、delay文件夾在MDK
界面執(zhí)行菜單命令File\New
命令,新建文件分別保存在delay文件中和sys文件夾中:>
delay
文件夾中保存的文件名為delay.c和delay.hsys文件夾中保存為sys.c和sys.h此電腦新加卷(E:)>STM32F407ZGT6TemplateSYSTEM>^名稱delaysys修改日期2022/2/1122:542022/2/1122:54類型文件夾文件夾在STM32
編程過(guò)程中經(jīng)常會(huì)使用到調(diào)用毫秒級(jí)和微秒級(jí)的延時(shí)函數(shù)
,一般使用STM32
單片機(jī)內(nèi)部的滴答定時(shí)器來(lái)設(shè)計(jì)實(shí)現(xiàn)毫秒、微妙延時(shí)功能,因此用戶可以自己編寫滴答定時(shí)器的驅(qū)動(dòng)程序。#include“sys.h”#include"stm32f4xx.h"static
u8fac_us=0;static
u16fac_ms=0;*函數(shù)功能:延時(shí)初始化*參數(shù)
:SYSCLK
系統(tǒng)時(shí)鐘,單位MHz*返回值:無(wú)//us
延時(shí)倍乘數(shù)//ms
延時(shí)倍乘數(shù)本模板中的延時(shí)驅(qū)動(dòng)函數(shù)保存在delay.cvoiddelay_Init(u8SYSCLK)文件中,對(duì)應(yīng)的頭文件為delay.h。STM32F4微控制器應(yīng)用3.在項(xiàng)目中添加自定義延時(shí)文件和自定義系統(tǒng)文件//1//////I///////II/1I//////delay
.c
文件開始////
II//////////////1I//////////打
開delay.c文件,錄入代碼內(nèi)容并保存。
SysTick
CLKSourceConfig(SysTick
CLKSource
HCLK_Div8);
//滴答定時(shí)器工作時(shí)鐘為
AHB
時(shí)鐘的1/8fac_us=SYSCLK/8;facms=(u16)fac_us*1000;//微秒級(jí)延時(shí)初值//毫秒級(jí)延時(shí)初值在STM32
編程過(guò)程中經(jīng)常會(huì)使用到調(diào)用毫秒級(jí)和微秒級(jí)的延時(shí)函數(shù),通常會(huì)使用
STM32
單片機(jī)內(nèi)部的滴答定時(shí)器來(lái)設(shè)計(jì)實(shí)現(xiàn)毫秒、微妙延時(shí)功能,因此用戶可以自己編寫滴答定時(shí)器的驅(qū)動(dòng)程序。本模板中的延時(shí)驅(qū)動(dòng)函數(shù)保存在delay.c
文件中,對(duì)應(yīng)的頭文件為delay.h。打開delay.c文件,錄入代碼內(nèi)容并保存。*函數(shù)功能:微秒級(jí)延時(shí)*參
數(shù):延時(shí)
nus
個(gè)1us*限制條件:nus<=798915*返回值:無(wú)voiddelay_us(u32
nus)u32temp;SysSTick->LOAD=nus*facus;SxsSTick->VAL=0x00;SysTick->CTRLI=SysTick_CTRL_ENABLEMsk;dotemp=SysTick->CTRL;}while((temp&0x01)&!(temp&(1<<16)));SxsTick->CTRLB=^SysTick_CTRLENABLE_Msk;SxsTick->VAL=0X00;STM32F4微控制器應(yīng)用3.在項(xiàng)目中添加自定義延時(shí)文件和自定義系統(tǒng)文件//時(shí)間加載//清空計(jì)數(shù)器//開始倒數(shù)//等待時(shí)間到達(dá)//關(guān)閉計(jì)數(shù)器//清空計(jì)數(shù)器在STM32
編程過(guò)程中經(jīng)常會(huì)使用到調(diào)用毫秒級(jí)和微秒級(jí)的延時(shí)函數(shù),通常會(huì)使用STM32
單片機(jī)內(nèi)部的滴答定時(shí)器來(lái)設(shè)計(jì)實(shí)現(xiàn)毫秒、微妙延時(shí)功能,因此用戶可以自己編寫滴答定時(shí)器的驅(qū)動(dòng)程序。本模板中的延時(shí)驅(qū)動(dòng)函數(shù)保存在delay.c
文件中,對(duì)應(yīng)的頭文件為delay.h。打開delay.c文件,錄入代碼內(nèi)容并保存。*函數(shù)功能:毫秒級(jí)延時(shí)*參數(shù):延時(shí)
nms個(gè)1ms*先決條件:*返回值:無(wú)void
delay_ms(u16
nms)u32
temp;SysTick-)LOAD=(u32)nms*facms;SysTick->VAL=0x00;SySTick->CTRLI=SysTick_CTRL_ENABLEMsk;do{temp=SysTick->CTRL;}while((temp&0x01)&&!(temp&(1<<16)));SxSTick->CTRLB=~SxsTick_CTRLENABLEsk;SxsTick->VAL
=0x00;STM32F4微控制器應(yīng)用3.在項(xiàng)目中添加自定義延時(shí)文件和自定義系統(tǒng)文件//時(shí)間加載//清空計(jì)數(shù)器//開始倒數(shù)//等待時(shí)間到達(dá)//關(guān)閉計(jì)數(shù)器//清空計(jì)數(shù)器STM32F4微控制器應(yīng)用3.在項(xiàng)目中添加自定義延時(shí)文件和自定義系統(tǒng)文件打
開delay.h
文件,錄入如下代碼并保存。
delay.h
對(duì)delay.c
中定義的函數(shù)進(jìn)行了聲明,包
含
了delay.h
頭文件的源文件可以使用delay.h
中聲明過(guò)的函數(shù)。#ifndef
DELAY_H#define
DELAY_H#include"stm32f4xx.h"voiddelay_Init(u8
SYSCLK);void
delay_ms(u16
nms);void
delay_us(u32nus);#endif//延時(shí)初始化函數(shù)聲明//毫秒級(jí)延時(shí)函數(shù)聲明//微秒級(jí)延時(shí)函數(shù)聲明3.在項(xiàng)目中添加自定義延時(shí)文件和自定義系統(tǒng)文件打開sys.h文件,并錄入代碼并保存。sys.h
文件定義了STM32F4
的IO
口輸入讀取宏定義和輸出宏定義,在編程操作時(shí)通過(guò)有參宏的使用能夠直(GPIOC_BASE+20)//0z40020814接讀取、設(shè)置I/O端口的引腳電平,為程序設(shè)計(jì)提供了方便。(GPIOH_BASE+20)//0z40021C14(GPIOI_BASE+20)//0x40022014創(chuàng)建用戶自己的系統(tǒng)文件(GPIOB_BASE+16)//0x40020410sys.c,并保存在sys文件夾內(nèi)。用戶可以將自己創(chuàng)建的系統(tǒng)函(GPIOG_BASE+16)//0z40021810數(shù)保存在sys.c文件內(nèi)。#define
PAout(n)BIT_ADDR(GPTOA_ODRAddr,n)/輸出映射PAin(n)BIT_ADR(GPIOA_IDRAddr,n)PBout(n)BIT_ADDR(GPTOB_ODRAdr,n)PBin(n)BIT_ADDR(GPIOB_IDRAdr,n)PCout(n)BIT_ADDR(GPTOC_ODRAdr,n)PCin(n)
BIT_ADDR(GPTOC_IDR_Addr,n)PDout(n)BIT_ADDR(GPTOD_ODR_Addr,n)PDin(n)BIT_ADDR(GPIOD_IDR
Addr,n)PEout(n)
BIT_ADDR(GPIOE_0DR_Addr,n)PEin(n)BIT_ADDR
GPIOE_IDR
Addr,n)PFout(n)BITADDR(GPIOF_ODR_Addr,n)PFin(n)
BIT_ADDR(GPIOF_IDR_Addr,n)PGout(n)
BIT_ADDR(GPTOG_ODRAddr,n)PGin(n)BIT_ADDR(GPTOG_IDR
Adr,n)PHout(n)BIT_ADDR(GPTOHLODRAddr,n)PHin(n)BIT_ADDR(GPTOH_IDR
Adr,n)PIout(n)BIT_ADDR(GPIOI_0DR_Addr,n)PIin(n)BIT_ADDR(GPIOI_IDR_Addr,n)1//111WIII?//用戶設(shè)計(jì)源文件對(duì)應(yīng)的頭文件///1III/111/////1111//111//1/#include“delay.h”#endif/////11W?11111W/11111I/1/sys.h
文件結(jié)束//1///111111/1111111111I!///STM32F4微控制器應(yīng)用#define
GPIOA_ODRAddr#defineGPTOB_ODRAdar#defineGPTOC_ODRAdar#defineGPIOD_ODRAdar#defineGPIOE_ODRAddr#define
GPTOFODR
Addr#define
GPTOG_ODRAda#defineGPIOH_ODRAdar#defineGPIOI_ODRAdr#defineGPIOA_DRAdr#defineGPIOB_DRAddr#defineGPIOC_DRAdd#defineGPTOD_DRAddr#defineGPIOE_DRAddr#defineGPIOF_DRAdar#dofineGPIOG_DRAddr#defineGPIOH_DR
Ada#define
GPIOI_DR
AdirII
Is.b文件開始//|
#ifndef
_SYS_H#define_SYS_H#include
"stm32f4xx.h"/位帶操作//輸入映射//輸出映射//輸入映射//輸出映射//輸入映射//輸出映射//輸入映射//輸出映射//輸入映射//輸出映射//輸入映射//輸出映射//輸入映射//輸出映射//輸入映射//輸出映射//輸入映射&OxFF)<<5)+(bitnun<<2))#defineMEMLADDR(addr)*((volatileunsignedlong*)(addr))#defineBITADDR(addr,bitnum)MEMLADDR(BITBAD(addr,bitnun))//IO口地址映射,對(duì)輸入、輸出寄存器進(jìn)行定義#define#define#define#defineidefine#define#define#define#define#define#define#define#define#define#define#define#define(GPIOC_BASE+16)//0x40020810(GPIOD_BASE+16)//0z40020C10(GPIOE_BASE+16)//0z40021010(GPIOF_BASE+16)//0x40021410(GPIOD_BASE+20)//0z40020C14(GPIOE_BASE+20)//0x40021014(GPIOF_BASE+20)//0z40021414(GPIOG_BASE+20)//0x40021814(GPIOABASE+20)//0x40020014(GPIOB_BASE+20)//0z40020414(GPIOH_BASE+16)//0x40021C10(GPIOI_BASE+16)//0x40022010(GPIOA_BASE+16)//0x
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年重慶工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能筆試參考題庫(kù)帶答案解析
- 2026年泰山職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能筆試備考題庫(kù)帶答案解析
- 2026年眉山職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試參考題庫(kù)附答案詳解
- 2026年湖州職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能筆試備考題庫(kù)帶答案解析
- 2026年重慶工程學(xué)院?jiǎn)握新殬I(yè)技能考試模擬試題帶答案解析
- 2026年鶴崗師范高等專科學(xué)校單招綜合素質(zhì)筆試模擬試題附答案詳解
- 2026年智能泳池融合項(xiàng)目公司成立分析報(bào)告
- 2026年內(nèi)蒙古能源職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試參考題庫(kù)帶答案解析
- 2026年自動(dòng)化實(shí)驗(yàn)室系統(tǒng)(LAS)項(xiàng)目公司成立分析報(bào)告
- 2026年江西應(yīng)用技術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能筆試備考題庫(kù)帶答案解析
- 化學(xué)反應(yīng)原理大題集訓(xùn)(含解析)-2026屆高中化學(xué)一輪復(fù)習(xí)講義
- 腹腔鏡手術(shù)應(yīng)用推廣方案與技術(shù)指南
- 北京市西城區(qū)中學(xué)課余訓(xùn)練:現(xiàn)狀洞察與發(fā)展探究
- 規(guī)劃展館改造項(xiàng)目方案(3篇)
- 玉米dh育種技術(shù)
- 頭孢曲松鈉過(guò)敏的觀察與急救
- 幼兒園后勤人員培訓(xùn)會(huì)議記錄2025
- 廣告材料供貨方案(3篇)
- 四上語(yǔ)文《快樂(lè)讀書吧》作品導(dǎo)讀《世界經(jīng)典神話與傳說(shuō)》
- 母嬰護(hù)理員職業(yè)道德課件
- 混合痔術(shù)后大出血的護(hù)理
評(píng)論
0/150
提交評(píng)論