版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、嵌入式系統(tǒng)及應(yīng)用,第七章中斷管理,主要內(nèi)容,中斷的分類 中斷處理的過程 實(shí)時內(nèi)核的中斷管理 用戶中斷服務(wù)程序 中斷時序*,從發(fā)展過程來看: 中斷(interrupt)最初被用來替換I/O操作的輪詢處理方式,以提高I/O處理的效率。 隨后,中斷又包含了自陷(trap,也稱為內(nèi)部中斷或是軟件中斷)的功能。 后來,中斷的概念得到進(jìn)一步擴(kuò)大,被定義為導(dǎo)致程序正常執(zhí)行流程發(fā)生改變的事件(不包括程序的分支情況)??砂迅拍畋粩U(kuò)大的中斷稱為廣義中斷。,概述,在實(shí)際應(yīng)用中,廣義的中斷通常被分為中斷、自陷和異常(exception)等類別。 中斷是由于CPU外部的原因而改變程序執(zhí)行流程的過程,屬于異步事件,又稱為
2、硬件中斷。自陷和異常則為同步事件; 自陷表示通過處理器所擁有的軟件指令、可預(yù)期地使處理器正在執(zhí)行的程序的執(zhí)行流程發(fā)生變化,以執(zhí)行特定的程序。自陷是顯式的事件,需要無條件地執(zhí)行; Motorola 68000系列中的Trap指令 ARM中的SWI指令 Intel 80 x86中的INT指令,概述,異常為CPU自動產(chǎn)生的自陷,以處理異常事件。 如被0除、執(zhí)行非法指令和內(nèi)存保護(hù)故障等。 異常沒有對應(yīng)的處理器指令,當(dāng)異常事件發(fā)生時,處理器也需要無條件地掛起當(dāng)前運(yùn)行的程序,執(zhí)行特定的處理程序。,概述,中斷的分類,分類方式 硬件中斷是否可以被屏蔽: 可屏蔽中斷和不可屏蔽中斷 中斷源: 硬件中斷和軟件中斷
3、中斷信號的產(chǎn)生: 邊緣觸發(fā)中斷和電平觸發(fā)中斷 中斷服務(wù)程序的調(diào)用方式: 向量中斷、直接中斷和間接中斷,可屏蔽中斷和不可屏蔽中斷,由于中斷的發(fā)生是異步的,程序的正常執(zhí)行流程隨時有可能被中斷服務(wù)程序打斷。如果程序正在進(jìn)行某些重要運(yùn)算,中斷服務(wù)程序的插入將有可能改變某些寄存器的數(shù)據(jù),造成程序的運(yùn)行發(fā)生錯誤。 可屏蔽中斷:能夠被屏蔽掉的中斷。 外部設(shè)備的中斷請求信號一般需要先通過CPU外部的中斷控制器,再與CPU相應(yīng)的引腳相連。 可編程中斷控制器可以通過軟件進(jìn)行控制,以禁止或是允許中斷。 不可屏蔽中斷:在任何時候都不可屏蔽的。 一個比較典型的例子是掉電中斷,當(dāng)發(fā)生掉電時,無論程序正在進(jìn)行什么樣的運(yùn)算,
4、它都肯定無法正常運(yùn)行下去。這種情況下,急需進(jìn)行的是一些掉電保護(hù)的操作。對這類中斷,應(yīng)隨時進(jìn)行響應(yīng)。,硬件中斷和軟件中斷,硬件中斷:由于CPU外部的設(shè)備所產(chǎn)生的中斷。 異步事件:可能在程序執(zhí)行的任何位置發(fā)生,發(fā)生中斷的時間通常是不確定的。 軟件中斷:同步中斷或是自陷,通過處理器的軟件指令來實(shí)現(xiàn)。 產(chǎn)生中斷的時機(jī)是預(yù)知的,可根據(jù)需要在程序中進(jìn)行設(shè)定。 軟件中斷的處理程序以同步的方式進(jìn)行執(zhí)行。 其處理方式同硬件中斷處理程序類似。,硬件中斷和軟件中斷,軟件中斷是一種非常重要的機(jī)制: 系統(tǒng)可通過該機(jī)制在用戶模式執(zhí)行特權(quán)模式下的操作。 是軟件調(diào)試的一個重要手段,如Intel 80 x86中的INT 3,使
5、指令進(jìn)行單步執(zhí)行,調(diào)試器可以用它來形成觀察點(diǎn),并查看隨程序執(zhí)行而動態(tài)變化的事件情況。,邊緣觸發(fā)中斷和電平觸發(fā)中斷,邊緣觸發(fā)中斷:中斷線從低變到高或是從高變到低時,中斷信號就被發(fā)送出去,并只有在下一次的從低變到高或是從高變到低時才會再度觸發(fā)中斷。 事件發(fā)生的時間非常短,有可能出現(xiàn)中斷控制器丟失中斷的情況。 如果多個設(shè)備連接到同一個中斷線,即使只有一個設(shè)備產(chǎn)生了中斷信號,也必須調(diào)用中斷線對應(yīng)的所有中斷服務(wù)程序來進(jìn)行匹配,否則會出現(xiàn)中斷的軟件丟失情況。,邊緣觸發(fā)中斷和電平觸發(fā)中斷,電平觸發(fā)中斷:在硬件中斷線的電平發(fā)生變化時產(chǎn)生中斷信號,并且中斷信號的有效性將持續(xù)保持下去,直到中斷信號被清除。 能夠降
6、低中斷信號傳送丟失的情況 能通過更有效的方式來服務(wù)中斷,每個為該中斷服務(wù)后的ISR都要向外圍設(shè)備進(jìn)行確認(rèn),然后取消該設(shè)備對中斷線的操作。 當(dāng)中斷線的最后一個設(shè)備得到中斷服務(wù)后,中斷線的電平就會發(fā)生變化,不用對連接到同一個硬件中斷線的所有中斷服務(wù)程序進(jìn)行嘗試。,向量中斷、直接中斷和間接中斷,向量中斷:通過中斷向量來調(diào)用中斷服務(wù)程序。 直接中斷:中斷對應(yīng)的中斷服務(wù)程序的入口地址是一個固定值,當(dāng)中斷發(fā)生的時候,程序執(zhí)行流程將直接跳轉(zhuǎn)到中斷服務(wù)程序的入口地址,執(zhí)行中斷服務(wù)程序。 間接中斷:中斷服務(wù)程序的入口地址由寄存器提供。,向量中斷,中斷硬件設(shè)備的硬件中斷線(也稱為中斷請求IRQ)被中斷控制器匯集成
7、中斷向量(interrupt vector); 每個中斷向量對應(yīng)一個中斷服務(wù)程序(interrupt service routine,ISR),用來存放中斷服務(wù)程序的入口地址或是中斷服務(wù)程序的第一條指令。 系統(tǒng)中通常包含多個中斷向量,存放這些中斷向量對應(yīng)中斷服務(wù)程序入口地址的內(nèi)存區(qū)域被稱為中斷向量表。,向量中斷,在Intel 80 x86處理器中,中斷向量表包含256個入口,每個中斷向量需要四個字節(jié)(存放中斷服務(wù)程序的首址)。 ARM的中斷向量表開始于內(nèi)存地址0 x00000000或是0 xFFFF0000處。,中斷控制器,對多個可屏蔽中斷源進(jìn)行管理,使CPU核心能和更多的中斷資源相聯(lián)系。 能
8、夠?qū)χ袛噙M(jìn)行排隊(duì): 避免中斷信號的丟失 對不同的中斷進(jìn)行優(yōu)先級配置,使高優(yōu)先級中斷能夠中斷低優(yōu)先級中斷,滿足系統(tǒng)中具有更高時間約束特性功能的需要,中斷控制器,80X86,在基于x86的架構(gòu)中,8259是一個非常通用的中斷控制器芯片(稱為PIC,programmable interrupt controller)。 每個PIC只能夠處理8個中斷,為支持更多數(shù)量的中斷,需要組織成菊花鏈(daisy chain)的方式,把一個PIC的輸出連接到另一個PIC的輸入上。,中斷處理的過程,中斷處理的過程分為: 中斷檢測 中斷響應(yīng) 中斷處理,中斷檢測,中斷檢測在每條指令結(jié)束時進(jìn)行,檢測是否有中斷請求或是否滿
9、足異常條件。 為滿足中斷處理的需要,在指令周期中使用了中斷周期。 在中斷周期中,處理器檢查是否有中斷發(fā)生,即是否出現(xiàn)中斷信號。 沒有中斷信號:處理器繼續(xù)運(yùn)行,并通過取指周期取當(dāng)前程序的下一條指令; 有中斷信號:將進(jìn)入中斷響應(yīng),對中斷進(jìn)行處理。,取指令,執(zhí)行指令,檢查中斷 處理中斷,開始,停止,取周期,執(zhí)行周期,中斷周期,中斷和指令周期,中斷響應(yīng),中斷響應(yīng)是由處理器內(nèi)部硬件完成的中斷序列,而不是由程序執(zhí)行的。 在Intel 80 x86中,中斷響應(yīng)過程的操作如下: 對可屏蔽中斷,從8259中斷控制器芯片讀取中斷向量號; 將標(biāo)志寄存器EFLAG、CS和IP壓棧; 對于硬件中斷,復(fù)位標(biāo)志寄存器中的I
10、F和TF位,禁止可屏蔽外部中斷和單步異常; 根據(jù)中斷向量號,查找中斷向量表,根據(jù)中斷服務(wù)程序的首址轉(zhuǎn)移到中斷服務(wù)程序執(zhí)行。,中斷處理,中斷處理:執(zhí)行中斷服務(wù)程序。 中斷服務(wù)程序用來處理自陷、異?;蚴侵袛唷?盡管導(dǎo)致自陷、異常和中斷的事件不同,但大都具有相同的中斷服務(wù)程序結(jié)構(gòu)。,中斷處理,中斷服務(wù)程序的主要內(nèi)容: 保存上下文:保存中斷服務(wù)程序?qū)⒁褂玫乃屑拇嫫鞯膬?nèi)容,以便于在退出中斷服務(wù)程序之前進(jìn)行恢復(fù); 如果中斷向量被多個設(shè)備所共享,為了確定產(chǎn)生該中斷信號的設(shè)備,需要輪詢這些設(shè)備的中斷狀態(tài)寄存器; 獲取中斷相關(guān)的其他信息; 對中斷進(jìn)行具體的處理; 恢復(fù)保存的上下文; 執(zhí)行中斷返回指令,使CP
11、U的控制返回到被中斷的程序繼續(xù)執(zhí)行。,中斷處理,如果對一個中斷的處理還沒有完成,又發(fā)生了另外一個中斷,則稱系統(tǒng)中發(fā)生了多個中斷。 非嵌套的中斷處理方式:在處理一個中斷的時候,禁止再發(fā)生中斷。 嵌套的中斷處理方式:定義中斷優(yōu)先級,允許高優(yōu)先級的中斷打斷低優(yōu)先級中斷的處理過程。,非嵌套的中斷處理方式,處理中斷的時候,將屏蔽所有其他的中斷請求。 新的中斷將被掛起,當(dāng)處理器再次允許中斷時,再由處理器進(jìn)行檢查。 如果程序執(zhí)行過程中發(fā)生了中斷,在執(zhí)行中斷服務(wù)程序的時候?qū)⒔怪袛啵?中斷服務(wù)程序執(zhí)行完成后,恢復(fù)正常執(zhí)行流程被中斷的程序之前再使能中斷,并由處理器檢查是否還有中斷。 非嵌套中斷處理方式使中斷能夠
12、按發(fā)生順序進(jìn)行處理。 沒有考慮優(yōu)先級,使高優(yōu)先級中斷不能得到及時的處理,甚至導(dǎo)致中斷丟失。,程序,中斷的非嵌套順序處理,嵌套的中斷處理方式,中斷被劃分為多個優(yōu)先級,中斷服務(wù)程序只屏蔽那些比當(dāng)前中斷優(yōu)先級低或是與當(dāng)前中斷優(yōu)先級相同的中斷,在完成必要的上下文保存后即使能中斷。 高優(yōu)先級中斷請求到達(dá)的時候,需要對當(dāng)前中斷服務(wù)程序的狀態(tài)進(jìn)行保存,然后調(diào)用高優(yōu)先級中斷的服務(wù)程序。 當(dāng)高優(yōu)先級中斷的服務(wù)程序執(zhí)行完成后,再恢復(fù)先前的中斷服務(wù)程序繼續(xù)執(zhí)行。,程序,中斷的嵌套處理,實(shí)時內(nèi)核的中斷管理,中斷服務(wù)程序通常包括三個方面的內(nèi)容: 中斷前導(dǎo): 保存中斷現(xiàn)場,進(jìn)入中斷處理。 用戶中斷服務(wù)程序: 完成對中斷的
13、具體處理。 中斷后續(xù): 恢復(fù)中斷現(xiàn)場,退出中斷處理。,實(shí)時內(nèi)核的中斷管理,中斷前導(dǎo)和中斷后續(xù)通常由內(nèi)核的中斷接管程序來實(shí)現(xiàn)。 硬件中斷發(fā)生后,中斷接管程序獲得控制權(quán),先由中斷接管程序進(jìn)行處理,然后才將控制權(quán)交給相應(yīng)的用戶中斷服務(wù)程序。 用戶中斷服務(wù)程序執(zhí)行完成后,又回到中斷接管程序。,中斷接管程序,實(shí)時內(nèi)核的中斷管理,中斷接管程序負(fù)責(zé)中斷處理的前導(dǎo)和后續(xù)部分的內(nèi)容。 中斷處理前導(dǎo):保存必要的寄存器,并根據(jù)情況在中斷棧或是任務(wù)棧中設(shè)置堆棧的起始位置,然后調(diào)用用戶中斷服務(wù)程序。 中斷處理后續(xù):實(shí)現(xiàn)中斷返回前需要處理的工作,主要包括恢復(fù)寄存器和堆棧,并從中斷服務(wù)程序返回到被中斷的程序。 用戶中斷服務(wù)
14、程序被組織為一個表,稱為虛擬中斷向量表。 如果需要在用戶中斷服務(wù)程序中使用關(guān)于浮點(diǎn)運(yùn)算的操作,中斷前導(dǎo)和中斷后續(xù)中還需要分別對浮點(diǎn)上下文進(jìn)行保存和恢復(fù)。,實(shí)時內(nèi)核的中斷管理,如果中斷處理導(dǎo)致系統(tǒng)中出現(xiàn)比被中斷任務(wù)具有更高優(yōu)先級的就緒任務(wù)出現(xiàn): 需要把高優(yōu)先級任務(wù)放入就緒隊(duì)列; 把被中斷的任務(wù)從執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài); 完成用戶中斷服務(wù)程序后,在中斷接管程序的中斷后續(xù)處理中激活重調(diào)度程序,使高優(yōu)先級任務(wù)能在中斷處理工作完成后得到調(diào)度執(zhí)行。,實(shí)時內(nèi)核的中斷管理,在允許中斷嵌套的情況下,在執(zhí)行中斷服務(wù)程序的過程中,如果出現(xiàn)高優(yōu)先級的中斷: 當(dāng)前中斷服務(wù)程序的執(zhí)行將被打斷,以執(zhí)行高優(yōu)先級中斷的中斷服務(wù)
15、程序; 當(dāng)高優(yōu)先級中斷的處理完成后,被打斷的中斷服務(wù)程序才又得到繼續(xù)執(zhí)行; 發(fā)生中斷嵌套時,如果需要進(jìn)行任務(wù)調(diào)度,任務(wù)的調(diào)度將延遲到最外層中斷處理結(jié)束時才能發(fā)生。,實(shí)時內(nèi)核的中斷管理,中斷服務(wù)程序使用被中斷任務(wù)的任務(wù)??臻g。 在允許中斷嵌套處理的情況下,如果中斷嵌套層次過多,中斷服務(wù)程序所占用的任務(wù)的??臻g可能比較大,將導(dǎo)致任務(wù)棧溢出。 使用專門的中斷棧來滿足中斷服務(wù)程序的需要,降低任務(wù)??臻g使用的不確定性。 在系統(tǒng)中開辟一個單獨(dú)的中斷棧,為所有中斷服務(wù)程序所共享。 中斷棧必須擁有足夠的空間,即使在最壞中斷嵌套的情況下,中斷棧也不能溢出。 如果實(shí)時內(nèi)核沒有提供單獨(dú)的中斷棧,就需要為任務(wù)棧留出足
16、夠的空間,不但要考慮通常的函數(shù)嵌套調(diào)用,還需要滿足中斷嵌套的需要。 使用單獨(dú)的中斷棧還能有效降低整個系統(tǒng)對??臻g的需求,否則需要為每個任務(wù)棧都預(yù)留處理中斷的棧空間。,中斷棧在內(nèi)存中的布局情況,YourISR: Save all CPU registers; (1) Call OSIntEnter() or, increment OSIntNesting directly; (2) if (OSIntNesting = 1) (3) OSTCBCur-OSTCBStkPtr = SP; (4) Clear interrupting device; (5) Re-enable interrupts
17、 (optional) (6) Execute user code to service ISR; (7) Call OSIntExit(); (8) Restore all CPU registers; (9) Execute a return from interrupt instruction; (10),Interrupts Under uC/OS-II,void OSIntEnter (void) OS_ENTER_CRITICAL(); OSIntNesting+; OS_EXIT_CRITICAL(); ,void OSIntExit (void) OS_ENTER_CRITIC
18、AL(); (1) if (-OSIntNesting | OSLockNesting) = 0) (2) OSIntExitY = OSUnMapTblOSRdyGrp; (3) OSPrioHighRdy = (INT8U)(OSIntExitY 3) + OSUnMapTblOSRdyTblOSIntExitY); if (OSPrioHighRdy != OSPrioCur) OSTCBHighRdy = OSTCBPrioTblOSPrioHighRdy; OSCtxSwCtr+; OSIntCtxSw(); (4) OS_EXIT_CRITICAL(); ,Interrupts U
19、nder uC/OS-II,實(shí)時內(nèi)核的中斷管理,實(shí)時內(nèi)核通常提供如下中斷管理功能: 掛接中斷服務(wù)程序。把一個函數(shù)(用戶中斷服務(wù)程序)同一個虛擬中斷向量表中的中斷向量聯(lián)系在一起。當(dāng)中斷向量對應(yīng)中斷發(fā)生的時候,被掛接的用戶中斷服務(wù)程序就會被調(diào)用執(zhí)行; 獲得中斷服務(wù)程序入口地址。根據(jù)中斷向量,獲得掛接在該中斷向量上的中斷服務(wù)程序的入口地址; 獲取中斷嵌套層次。在允許中斷嵌套的處理中,獲取當(dāng)前的中斷嵌套層次信息; 開中斷; 關(guān)中斷。,用戶中斷服務(wù)程序,當(dāng)中斷線上發(fā)生中斷的時候,對應(yīng)中斷向量中注冊的中斷服務(wù)程序就會被調(diào)用執(zhí)行。 中斷服務(wù)程序的注冊中斷號為索引,把處理中斷的函數(shù)的地址放置到中斷向量的地址表
20、中。 中斷服務(wù)程序的啟動完全由CPU來負(fù)責(zé),不需要操作系統(tǒng)的處理。 如果處理器或?qū)崟r內(nèi)核允許中斷嵌套,中斷服務(wù)程序?qū)⒖赡鼙涣硗獾闹袛喾?wù)程序所搶占。 中斷嵌套將使代碼更加復(fù)雜,要求中斷服務(wù)程序是可重入的。,用戶中斷服務(wù)程序,由于中斷服務(wù)程序中通常都對中斷進(jìn)行了屏蔽,要求中斷服務(wù)程序應(yīng)該盡可能比較短,保證其他中斷和系統(tǒng)中的任務(wù)能夠得到及時處理。 中斷服務(wù)程序通常都只處理一些必要的操作,其他操作則通過任務(wù)的方式來進(jìn)行。 中斷服務(wù)程序只是進(jìn)行與外圍設(shè)備相關(guān)的數(shù)據(jù)的讀寫操作,并在需要的情況下向外圍設(shè)備發(fā)送確認(rèn)信息,然后喚醒另外的任務(wù)進(jìn)行進(jìn)一步的處理。 用來配合中斷服務(wù)程序的另外的任務(wù)通常被稱為DSR(
21、deferred service routine)。,/*Uses to handle data from dataReceiveISR*/ dsrTask() while(1) wait_for_signal_from_isr(); process_data_of_ISR(); /*Uses to receive data by interrupt*/ dataReceiveISR() get_data_from _device(); send_signal_to_wakeup_dsrTask(); ,ISR與DSR相結(jié)合的中斷處理方式,用戶中斷服務(wù)程序,在中斷服務(wù)程序中可以使用實(shí)時內(nèi)核提供
22、的應(yīng)用編程接口: 但一般只能使用不會導(dǎo)致調(diào)用程序可能出現(xiàn)阻塞情況的編程接口,如可以進(jìn)行掛起任務(wù)、喚醒任務(wù)、發(fā)送消息等操作; 但不要使用分配內(nèi)存、獲得信號量等可能導(dǎo)致中斷服務(wù)程序的執(zhí)行流程被阻塞的操作。 對中斷的處理不受任務(wù)調(diào)度程序的控制,并優(yōu)先于任務(wù)的處理。 如果中斷出現(xiàn)被阻塞的情況,將導(dǎo)致中斷不能被及時處理,其余工作也就無法按時繼續(xù)進(jìn)行,將嚴(yán)重影響整個系統(tǒng)的確定性。,用戶中斷服務(wù)程序,中斷服務(wù)程序不能進(jìn)行內(nèi)存分配和內(nèi)存釋放: 內(nèi)存分配和內(nèi)存釋放過程中通常都要使用信號量,以實(shí)現(xiàn)對維護(hù)內(nèi)存使用情況的全局?jǐn)?shù)據(jù)結(jié)構(gòu)的保護(hù)。 中斷服務(wù)程序也不能使用包含了這些操作的編程接口。 意味著中斷服務(wù)程序不能使用
23、關(guān)于對象創(chuàng)建和刪除方面(如任務(wù)創(chuàng)建與任務(wù)刪除)的操作。,用戶中斷服務(wù)程序,中斷服務(wù)程序還需要同系統(tǒng)中的任務(wù)進(jìn)行通信。從中斷服務(wù)程序到任務(wù)的通信機(jī)制主要包括以下內(nèi)容: 共享內(nèi)存:中斷服務(wù)程序同任務(wù)共享變量、緩沖區(qū),實(shí)現(xiàn)中斷服務(wù)程序與任務(wù)之間的通信; 信號量:中斷服務(wù)程序可以釋放任務(wù)正在等待的信號量; 消息隊(duì)列:中斷服務(wù)程序可以把消息發(fā)送給正在等待該消息的任務(wù); 管道:中斷服務(wù)程序可以把消息寫到任務(wù)可以進(jìn)行消息讀取的管道中; 異步信號:中斷服務(wù)程序可以向任務(wù)發(fā)送異步信號,使任務(wù)對應(yīng)的異步信號處理程序能夠得到執(zhí)行。,中斷時序,后臺程序,前后臺系統(tǒng)的中斷時序圖,中斷時序,任務(wù)或 內(nèi)核程序,非搶占式調(diào)度
24、內(nèi)核的中斷時序圖,中斷時序,搶占式調(diào)度內(nèi)核的中斷時序圖,中斷延遲時間,中斷延遲時間是指從中斷發(fā)生到系統(tǒng)獲知中斷,并且開始執(zhí)行中斷服務(wù)程序所需要的最大滯后時間。 中斷延遲時間受到系統(tǒng)關(guān)中斷時間的影響: 實(shí)時系統(tǒng)在進(jìn)入臨界區(qū)代碼段之前要關(guān)中斷,執(zhí)行完臨界代碼之后再開中斷。 關(guān)中斷的時間越長,中斷延遲就越長,并且可能引起中斷丟失。 中斷延遲時間: 中斷延遲時間 最大關(guān)中斷時間硬件開始處理中斷到開始執(zhí)行ISR第一條指令之間的時間。,中斷延遲時間,“硬件開始處理中斷到開始執(zhí)行ISR第一條指令之間的時間”由硬件決定。 在確定中斷延遲時間時,要使用最壞情況下的關(guān)中斷時間,即最大關(guān)中斷時間。 “最大關(guān)中斷時間”取決于兩方面的因素: 內(nèi)核關(guān)中斷時間 內(nèi)核在執(zhí)行一些臨界
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院老人健康監(jiān)測人員培訓(xùn)制度
- 養(yǎng)老院醫(yī)療護(hù)理服務(wù)質(zhì)量制度
- 2026年秦皇島市九龍山醫(yī)院第二批公開選聘工作人員備考題庫及1套完整答案詳解
- 2026年龍巖市新羅區(qū)紅坊鎮(zhèn)衛(wèi)生院公開招聘編外衛(wèi)技人員備考題庫含答案詳解
- 2026年湖北特檢院黃石分院編外人員招聘崗位表備考題庫有答案詳解
- 2026年浙江省低空產(chǎn)業(yè)發(fā)展有限公司招聘備考題庫參考答案詳解
- 2026年江銅南方公司第四批次一般管理崗社會招聘5人備考題庫及參考答案詳解
- 2026年武義縣移動分公司招聘備考題庫完整參考答案詳解
- 2026年萍鄉(xiāng)市工程咨詢管理顧問有限責(zé)任公司公開招聘第三批外聘人員備考題庫及一套答案詳解
- 中學(xué)學(xué)生心理輔導(dǎo)制度
- 2023-2024學(xué)年蘇科版數(shù)學(xué)八年級上冊專項(xiàng)練習(xí):實(shí)數(shù)(章節(jié)復(fù)習(xí)+考點(diǎn)講練)解析版
- 腹痛病的中醫(yī)護(hù)理查房
- 鄉(xiāng)間的小路男聲合唱簡譜
- 04S519小型排水構(gòu)筑物(含隔油池)圖集
- JT-T 1448-2022 公路隧道用射流風(fēng)機(jī)
- MBD技術(shù)應(yīng)用課件
- 汽車修理廠經(jīng)營方案
- 對現(xiàn)行高中地理新教材理解上的幾點(diǎn)困惑與思考 論文
- 重慶市豐都縣2023-2024學(xué)年七年級上學(xué)期期末數(shù)學(xué)試題
- 美術(shù)教學(xué)中的跨學(xué)科教學(xué)策略
- mc尼龍澆鑄工藝
評論
0/150
提交評論