




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
[信息與通信]BootLoader與設備驅(qū)動第一頁,共64頁。4.1嵌入式系統(tǒng)的產(chǎn)生和發(fā)展
嵌入式軟件的體系結(jié)構(gòu)包括驅(qū)動層、操作系統(tǒng)層、中間件層和應用層,如下圖所示。第二頁,共64頁。驅(qū)動層軟件分為三種類型:板級初始化程序:在系統(tǒng)上電后,初始化系統(tǒng)的硬件環(huán)境。與系統(tǒng)軟件相關的驅(qū)動程序:用于支持操作系統(tǒng)和中間件等系統(tǒng)軟件所需的驅(qū)動程序。與應用軟件相關的驅(qū)動程序:這類驅(qū)動不一定需要與操作系統(tǒng)連接。第三頁,共64頁。4.2BootLoader4.2.1BootLoader概述4.2.2BootLoader的典型結(jié)構(gòu)4.2.3實例分析第四頁,共64頁。4.2.1BootLoader概述4.2BootLoader
BootLoader是系統(tǒng)加電后首先運行的一段程序代碼,其目的是將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),為調(diào)用操作系統(tǒng)內(nèi)核準備好正確的環(huán)境。第五頁,共64頁。BootLoader是依賴于目標硬件實現(xiàn)的,可以從兩個方面來理解:每種嵌入式微處理器體系結(jié)構(gòu)都有不同BootLoader.BootLoader還依賴于具體的嵌入式板級硬件設備配置。第六頁,共64頁。1BootLoader的安裝4.2.1BootLoader概述
BootLoader需要放在系統(tǒng)加電后最先取指令的地址上,很多情況下,BootLoader與操作系統(tǒng)內(nèi)核、根文件系統(tǒng)甚至應用程序等都可以燒寫在同一個固態(tài)存儲芯片上的。第七頁,共64頁。2BootLoader的操作模式4.2.1BootLoader概述
大多數(shù)BootLoader都包含兩種操作模式:啟動加載模式和下載模式。啟動加載模式:也稱為自主(Autonomous)模式。在這種模式下,BootLoader從目標機的某個固態(tài)存儲設備上將操作系統(tǒng)加載到RAM中運行,整個過程中沒有用戶的介入。第八頁,共64頁。下載模式:下載模式是指,目標機上的BootLoader將通過串口或網(wǎng)絡連接等通信手段從宿主機上下載文件,如操作系統(tǒng)的內(nèi)核映像和根文件系統(tǒng)的映像等。第九頁,共64頁。3BootLoader的控制設備和機制4.2.1BootLoader概述串口通信:串口通信最容易實現(xiàn)。BootLoader程序在執(zhí)行時也就可以利用這個簡單實現(xiàn)的串口通信進行I/O操作,與外界交換數(shù)據(jù)和信息。TFTP(網(wǎng)絡):在BootLoader中實現(xiàn)TFTP協(xié)議,在宿主機上利用TFTP的軟件工具,通過以太網(wǎng)連接來下載文件。第十頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)4.2BootLoader
BootLoader的主要任務就是要建立起調(diào)用操作系統(tǒng)系統(tǒng)內(nèi)核、運行用戶應用程序所需要的一個良好的軟硬件環(huán)境。這個任務具體包括兩部分的內(nèi)容:
硬件設備初始化建立內(nèi)存空間的映射圖
第十一頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)BootLoader的啟動過程
(1)初始化CPU在各種模式下的堆??臻g設定CPU的內(nèi)存映射初始化各種控制寄存器初始化CPU的外部存儲器設定各外圍設備的基地址第十二頁,共64頁。創(chuàng)建正確的中斷向量表為C代碼執(zhí)行創(chuàng)建ZI(零創(chuàng)建)區(qū)進入到C代碼。在C代碼中繼續(xù)對時鐘、RS232端口進行初始化,然后打開系統(tǒng)中斷允許位。進入到應用代碼中執(zhí)行,執(zhí)行期間響應各種不同的中斷信號并調(diào)用預先設置好的中斷服務程序處理這些中斷。第十三頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)BootLoader的啟動過程
(2)整個過程的流程圖第十四頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)1堆棧初始化堆棧初始化要處理的事情是為處理器的7種處理器模式(p37)分配堆??臻g。下面以FIQ模式下的堆棧設置為例進行說明:第十五頁,共64頁。ORRR1,R0,#LOCKOUT|FIQ_MODE;把處理器模式放在R1中;LOCKOUT用來屏蔽中斷位MSRCPSR,R1;改變CPU的CPSR寄存器;進入到指定的FIQ模式MSRSPSR,R2 ;保存前一模式LDRSP,=FIQ_STACK;把FIQ模式下的堆棧起始;值賦給當前的SP ;FIQ_STACK是分配給FIQ;模式堆??臻g(比如說1K;字節(jié))的起始地址第十六頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)2DRAM初始化
DRAM的初始化是根據(jù)系統(tǒng)配置信息決定的。主要的處理內(nèi)容是ROM和RAM基地址的設定、數(shù)據(jù)總線寬度的設定、SDRAM刷新時間的設定等,這些設置可以參照S3C4510B芯片的用戶手冊。第十七頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)3設置特殊寄存器
特殊寄存器的設置主要是針對I/O口的。寄存器的設定主要根據(jù)硬件的配置情況而定。由于啟動代碼是燒錄到ROM中的,而中斷向量必須位于零地址,所以在存儲單元沒有重新映射之前ROM基址的設定應該為零地址。第十八頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)4拷貝鏡像文件
拷貝鏡像文件的目的主要是為了提高運行速度。將編譯生成的映像文件代碼從ROM拷貝到RAM中,程序的執(zhí)行也就在RAM中了。第十九頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)4內(nèi)存初始化
內(nèi)存初始化的目的是為C代碼的運行開辟內(nèi)存區(qū)。分為:只讀區(qū),可讀/可寫區(qū),零初始化區(qū)。
內(nèi)存初始化處理的內(nèi)容是:(1)當只讀區(qū)截止地址等于可讀/可寫區(qū)基址時,把零初始化區(qū)各字節(jié)清零;只讀區(qū)可讀/可寫區(qū)地址零初始化區(qū)第二十頁,共64頁。(2)當只讀區(qū)截止地址不等于可讀/可寫區(qū)基址時,①如果可讀/可寫區(qū)基址小于零初始化基址,就從只讀區(qū)截止地址處開始把數(shù)據(jù)拷貝到可讀可寫區(qū)基址處,直到到達零初始化基址,然后把零初始化區(qū)各字節(jié)清零。只讀區(qū)可讀/可寫區(qū)地址范圍中的數(shù)據(jù)零初始化區(qū)地址范圍中的數(shù)據(jù)清零第二十一頁,共64頁。②否則(如果可讀/可寫區(qū)基址大于或等于零初始化基址)也只用把零初始化區(qū)各字節(jié)清零。只讀區(qū)可讀/可寫區(qū)零初始化區(qū)清零第二十二頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)5建立中斷向量表
中斷向量表用于處理異常情況,當發(fā)生異常時,首先要保存當前程序的返回地址和CPSR寄存器的值,然后進入到相應的異常向量地址。
第二十三頁,共64頁。ENTRYB Reset_Handler ;系統(tǒng)復位,通過這個跳轉(zhuǎn)指令進入堆棧初始化操作B Undefined_Handler ;未定義異常向量B SWI_Handler;軟中斷異常向量B Prefetch_Handler ;預取指異常向量B Abort_Handler ;中止異常向量NOP ;保留B IRQ_Handler ;IRQ中斷向量B FIQ_Handler ;FIQ中斷向量(快速響應用戶中;斷,支持高速數(shù)據(jù)傳輸)跳轉(zhuǎn)指令地址依次+4第二十四頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)6系統(tǒng)重新映射系統(tǒng)重新映射與前面鏡像文件的拷貝有關。當為了提高運行速度把ROM的鏡像文件拷貝到RAM后,中斷向量表就不在零地址處了,因此要重新映射存儲單元,把RAM的地址重新設定為零地址。為什么要系統(tǒng)重新映射?第二十五頁,共64頁。整個過程是把啟動代碼從ROM(EEPROM或者Flash)拷貝到SDRAM運行,同時在拷貝完畢后進行內(nèi)存的重新映射,把SDRAM映射到原來的ROM地址(0x00000000)中,這樣就可以用SDRAM中的代碼寫Flash,使得程序代碼得以更新。第二十六頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)7
切換到用戶模式,進入C代碼區(qū)CPU切換到用戶模式下,并把堆棧指針SP指定到用戶堆棧區(qū),就可以進入到C代碼區(qū)運行。在C代碼中繼續(xù)對時鐘、RS232端口進行初始化,然后打開系統(tǒng)中斷允許位,進入到應用代碼中執(zhí)行。第二十七頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)BootLoader結(jié)構(gòu)
從程序結(jié)構(gòu)上來講,BootLoader一般都分:
Stage1:存放依賴于CPU體系結(jié)構(gòu)的代碼,如設備初始化代碼等,通常使用匯編語言來實現(xiàn),達到短小精悍的目的。
Stage2:用來實現(xiàn)復雜功能,通常使用C語言來實現(xiàn),使代碼具有更好的可移植性。第二十八頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)1Stage1Stage1部分的代碼按照執(zhí)行的先后順序,通常包括以下步驟:硬件設備初始化為加載Stage2程序準備RAM空間拷貝Stage2程序到RAM空間設置好堆棧跳轉(zhuǎn)到Stage2的C程序入口點第二十九頁,共64頁。4.2.2BootLoader的典型結(jié)構(gòu)2Stage2Stage2部分的代碼通常包括以下步驟:初始化本階段用到的硬件設備,如RS232檢測系統(tǒng)內(nèi)存映射將操作系統(tǒng)內(nèi)核映像和根文件系統(tǒng)映像從Flash讀到RAM空間中為操作系統(tǒng)內(nèi)核設置啟動參數(shù)調(diào)用操作系統(tǒng)內(nèi)核第三十頁,共64頁。4.2.3實例分析4.2BootLoader
本小節(jié)使用基于ARM7TDMI內(nèi)核的S3C44B0X為例詳細介紹BootLoader的設計與實現(xiàn)。
與S3C4510B有區(qū)別的是:S3C44B0X沒有存儲器重映射的功能,所有存儲區(qū)地址固定;另外,S3C44B0X提供了矢量中斷的功能,擴展了向量表第三十一頁,共64頁。4.2.3實例分析硬件初始化程序(1)說明:硬件初始化程序編譯環(huán)境:ADS1.2***************************************存儲器空間;GCS6 64M16bit(8MB)DRAM/SDRAM(0xC000000-0xC7FFFFF);APP RAM=0xC000000~0xC7EFFFF;44BMON RAM=0xC7F0000-0xC7FFFFF
(對于不同的RAM,可以修改此地址);STACK RAM=0xC7FFA00第三十二頁,共64頁。4.2.3實例分析中斷控制預定義
INTPND EQU 0x01E00004INTMOD EQU 0x01E00008INTMSK EQU 0x01E0000CI_ISPREQU0x01E00020I_CMST EQU 0x01E0001CI_ISPCEQU0x01E00024********************************************看門狗定時器預定義WTCON EQU 0x01D30000********************************************第三十三頁,共64頁。4.2.3實例分析初始化程序開始EXPORT InitSystem禁止看門狗
LDR R0,=WTCONLDR R1,=0STRR1,[R0]第三十四頁,共64頁。4.2.3實例分析
初始化堆棧
MRS R0,CPSR BIC R0,R0,#MODEMASK
ORR R1,R0,#UNDEFMODE|NOINT MSR CPSR_CXSF,R1 ;UndefMode LSR SP,=UndefStack
ORR R1,R0,#ABORTMODE|NOINT MSR CPSR_CXSF,R1 ;AbortMode LSR SP,=AbortStack第三十五頁,共64頁。4.2.3實例分析
ORR R1,R0,#IRQMODE|NOINT MSR CPSR_CXSF,R1 ;IRQMode LSR SP,=IRQStack ORR R1,R0,#FIQMODE|NOINT MSR CPSR_CXSF,R1 ;FIQMode LSR SP,=FIQStack第三十六頁,共64頁。4.2.3實例分析
ORR R1,R0,#SVCMODE|NOINT MSR CPSR_CXSF,R1 ;SVCMode LSR SP,=SVCStack
;USERmodeisnotinitialized.第三十七頁,共64頁。4.3.1設備驅(qū)動概述4.3設備驅(qū)動
使用任何外部設備都需要有相應驅(qū)動程序的支持。驅(qū)動程序為上層軟件提供設備的操作接口。
驅(qū)動層軟件有兩個重要的概念:硬件抽象層(HAL,HardwareAbstractionLayer)和板級支持包(BSP,BoardSupportPackage)。
第三十八頁,共64頁。硬件抽象層4.3.1設備驅(qū)動概述
硬件抽象層的目的是為了將硬件抽象化,即通過程序來控制諸如CPU、I/O、存儲器等硬件的操作,從而使得系統(tǒng)的設備驅(qū)動程序與硬件無關。
第三十九頁,共64頁。板級支持包(1)4.3.1設備驅(qū)動概述設計板級支持包的目的主要是為驅(qū)動程序提供訪問硬件設備寄存器的函數(shù)包,從而實現(xiàn)對操作系統(tǒng)的支持。在功能上,板級支持包大體需要實現(xiàn)以下兩方面的內(nèi)容:
在系統(tǒng)啟動時,完成對硬件的初始化。
為驅(qū)動程序提供訪問硬件的手段。
第四十頁,共64頁。
通用異步收發(fā)器(UniversalAsynchronousReceiverandTransmitter,UART)是用于控制計算機與串行設備的接口。UART的介紹第四十一頁,共64頁。應用示例LPC2000的I/O電壓為3.3V(可承受5V),連接時須注意電平的匹配。LPC2000其它通信設備TxD0RxD0TxD0RxD0與PC機相連時,由于PC機串口是RS232電平,所以連接時需要使用RS232轉(zhuǎn)換器。LPC2000PC機串口232電平轉(zhuǎn)換TxD0RxD0TxD0RxD0第四十二頁,共64頁。移位寄存器UnRSR接收緩沖寄存器UnRBRUARTn接收單元RxDn除數(shù)鎖存寄存器UnDLL、UnDLMUARTn波特率發(fā)生器UARTn控制寄存器(UnLCR)FIFO控制寄存器(UnFCR)UARTn狀態(tài)寄存器(UnLSR)中斷中斷使能寄存器UnIER中斷標志寄存器UnIIRUARTn高速緩存寄存器UnSCR發(fā)送緩沖寄存器UnTHRUARTn發(fā)送單元TxDn移位寄存器UnTSRMODEMModem控制寄存器U1MCRModem狀態(tài)寄存器U1MSRCTSDSRDCDDTRRIRTSVPB總線第四十三頁,共64頁。VPB總線AHB-VPB橋ARM7UARTn發(fā)送單元TxDn移位寄存器UnTSR發(fā)送緩沖寄存器UnTHRAHB總線ARM7AHB總線UARTn發(fā)送單元TxDn移位寄存器UnTSR發(fā)送緩沖寄存器UnTHRVPB總線AHB-VPB橋CPUUnTSRTXDUnTHRUnTHR描述復位值7:0發(fā)送器保持寄存器。寫入該寄存器的值保存到發(fā)送FIFO中,當該字節(jié)到達FIFO底部時,它將被送入發(fā)送移位寄存器(UnTSR)進行發(fā)送。未定義UART發(fā)送單元第四十四頁,共64頁。UART0、UART1各含有1個16字節(jié)的發(fā)送FIFO緩沖區(qū)。UnTHR是UARTn發(fā)送FIFO的最高字節(jié)。UART的發(fā)送FIFO是一直使能的。發(fā)送FIFOUnTHRUnTSRUART發(fā)送FIFO緩沖區(qū)第四十五頁,共64頁。VPB總線AHB-VPB橋ARM7AHB總線移位寄存器UnRSR接收緩沖寄存器UnRBRUARTn接收單元RxDnVPB總線AHB-VPB橋移位寄存器UnRSR接收緩沖寄存器UnRBRUARTn接收單元RxDnARM7AHB總線RXDUnRBRCPUUnRSRUnRBR描述復位值7:0接收緩存寄存器,它包含了接收FIFO中最早接收到的字節(jié)未定義UART接收模塊第四十六頁,共64頁。UART0、UART1各含有1個16字節(jié)的接收FIFO緩沖區(qū)。軟件設置接收FIFO緩沖區(qū)的觸發(fā)字節(jié)。位76[5:3]210功能Rx觸發(fā)點設置—復位TxFIFO復位RxFIFO使能FIFOEnFIFO:FIFO使能。該位的任何變化都將清空UART的FIFO。1:使能接收FIFO,并且允許訪問UnFCR[7:1]。0:禁止接收FIFO,此時接收緩存只有1個字節(jié)。接收FIFOUnRSRUnRBRUnFCRUART接收FIFO緩沖區(qū)第四十七頁,共64頁。UART0、UART1各含有1個16字節(jié)的接收FIFO緩沖區(qū)。軟件設置接收FIFO緩沖區(qū)的觸發(fā)字節(jié)。位76[5:3]210功能Rx觸發(fā)點設置—復位TxFIFO復位RxFIFO使能FIFO接收FIFOUnRSRUnRBRUnFCR復位RxFIFO:接收FIFO復位。當該位置位時,UART0接收FIFO中的所有字節(jié)被清零并復位指針邏輯注意:該位會自動清零。UART接收FIFO緩沖區(qū)第四十八頁,共64頁。UART0、UART1各含有1個16字節(jié)的接收FIFO緩沖區(qū)。軟件設置接收FIFO緩沖區(qū)的觸發(fā)字節(jié)。位76[5:3]210功能Rx觸發(fā)點設置—復位TxFIFO復位RxFIFO使能FIFO接收FIFOUnRSRUnRBRUnFCR復位TxFIFO:發(fā)送FIFO復位。當該位置位時,UART發(fā)送FIFO中的所有字節(jié)被清零并復位指針邏輯。注意:該位會自動清零。UART接收FIFO緩沖區(qū)第四十九頁,共64頁。UART0、UART1各含有1個16字節(jié)的接收FIFO緩沖區(qū)。軟件設置接收FIFO緩沖區(qū)的觸發(fā)字節(jié)。位76[5:3]210功能Rx觸發(fā)點設置—復位TxFIFO復位RxFIFO使能FIFO接收FIFOUnRSRUnRBRUnFCR—:這些位保留,用戶程序不要向這些位寫入1。UART接收FIFO緩沖區(qū)第五十頁,共64頁。UART0、UART1各含有1個16字節(jié)的接收FIFO緩沖區(qū)。軟件設置接收FIFO緩沖區(qū)的觸發(fā)字節(jié)。位76[5:3]210功能Rx觸發(fā)點設置—復位TxFIFO復位RxFIFO使能FIFO接收FIFOUnRSRUnRBRUnFCRRx觸發(fā)點設置:通過設置這兩位可以調(diào)整接收FIFO中觸發(fā)中斷的有效字節(jié)數(shù)量。 00:觸發(fā)點0(1字節(jié)); 01:觸發(fā)點1(4字節(jié)); 10:觸發(fā)點2(8字節(jié)); 11:觸發(fā)點3(14字節(jié));UART接收FIFO緩沖區(qū)第五十一頁,共64頁。4.11UART(0、1)UART設置使用UART前需要設置的寄存器寄存器名稱功能UnLCR設置UARTn的通信格式。UnFCR設置UARTn的接收FIFO緩沖區(qū)。UnDLL、UnDLM設置UARTn的通信波特率。UnIER設置UARTn的中斷。U1MCRModem接口設置(只有UART1具有)。第五十二頁,共64頁。4.11UART(0、1)UART設置使用UART前需要設置的寄存器——UnLCR位76[5:4]62[1:0]功能除數(shù)鎖存間隔奇偶選擇奇偶設置停止位字長字長度選擇: 00:5位字符長度 01:6位字符長度 10:7位字符長度 11:8位字符長度第五十三頁,共64頁。4.11UART(0、1)UART設置使用UART前需要設置的寄存器——UnLCR位76[5:4]62[1:0]功能除數(shù)鎖存間隔奇偶選擇奇偶設置停止位字長停止位選擇: 0:1個停止位 1:2個停止位第五十四頁,共64頁。4.11UART(0、1)UART設置使用UART前需要設置的寄存器——UnLCR位76[5:4]62[1:0]功能除數(shù)鎖存間隔奇偶選擇奇偶使能停止位字長奇偶使能:控制是否進行奇偶校驗。如果使能,發(fā)送時將添加一位校驗位。 0:禁止奇偶產(chǎn)生和校驗; 1:使能奇偶產(chǎn)生和校驗;奇偶選擇:設置奇偶校驗類型。 00:奇數(shù)(數(shù)據(jù)位+校驗位=奇數(shù)); 01:偶數(shù)(數(shù)據(jù)位+校驗位=偶數(shù)); 10:校驗位強制為1; 11:校驗位強制為0;第五十五頁,共64頁。4.11UART(0、1)UART設置使用UART前需要設置的寄存器——UnLCR位76[5:4]62[1:0]功能除數(shù)鎖存間隔奇偶選擇奇偶使能停止位字長間隔:當該位為1時,輸出引腳(TxDn)強制為邏輯0,可以引起通信對方(LPC2000)產(chǎn)生間隔中斷。在某些通信方式中,使用間隔中斷作為通信的起始信號(如:LINBus)。 0:禁止間隔發(fā)送; 1:使能間隔發(fā)送;第五十六頁,共64頁。4.11UART(0、1)UART設置使用UART前需要設置的寄存器——UnLCR位76[5:4]62[1:0]功能除數(shù)鎖存間隔奇偶選擇奇偶使能停止位字長除數(shù)鎖存:因為UnDLL和UnRBR/UnTHR的地址重疊,通過設置該位可以指定其中某個寄存器操作。0:禁止訪問除數(shù)鎖存寄存器; 1:使能訪問除數(shù)鎖存寄存器;第五十七頁,共64頁。UART寄存器地址訪問方式UART0U0RBR0xE000C000DLAB=0,對地址:0xE000C000進行讀訪問U0THRDLAB=0,對地址:0xE000C000進行寫訪問U0DLLDLAB=1,對地址:0xE000C000進行訪問U0IER0xE000C004DLAB=0,對地址:0xE000C004進行訪問U0DLMDLAB=1,對地址:0xE000C004進行訪問UART——特殊寄存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高校辦公室行政管理工作計劃
- 地下管線改造的加固保護措施
- 家庭美術(shù)教育輔助計劃
- 2025幼兒園第二學期親子健康活動計劃
- 農(nóng)業(yè)灌溉系統(tǒng)建設安全與環(huán)保措施
- 城市建設項目勞動力與機械設備計劃
- 非暴力溝通對青少年心理健康的心得體會
- 科學教育中的教學挑戰(zhàn)及改進措施
- 外語教師教學計劃與目標
- 2025年天津高考作文的經(jīng)典范文剖析
- 案件審計服務投標方案(技術(shù)標)
- 英語語言與文化智慧樹知到課后章節(jié)答案2023年下華僑大學
- 2024年中考化學復習教學建議-把握中考方向、共研備考策略課件
- 【數(shù)字普惠金融的發(fā)展研究-以螞蟻集團為例12000字(論文)】
- 外教社新編英語語法教程(第6版)PPT課件Unit-22
- 2023年陜西特崗學前教育學科真題真題
- 痕跡檢驗概述
- 塔里木河課件
- 麻醉科省級臨床重點專科建設項目申報標準
- ASTM B658 B658M-11(2020) 無縫和焊接鋯和鋯合金管標準規(guī)格
評論
0/150
提交評論