MDK自帶SC4啟動代碼分析_第1頁
MDK自帶SC4啟動代碼分析_第2頁
MDK自帶SC4啟動代碼分析_第3頁
MDK自帶SC4啟動代碼分析_第4頁
MDK自帶SC4啟動代碼分析_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、MDK自帶S3C2440啟動代碼分析ARM啟動代碼相當于我們電腦的BIOS,也就是ARM啟動時對處理器的一些初始化及嵌入式系統(tǒng)硬件的一些初始化。由于它直接面對處理器內(nèi)核和硬件控制器進行編程,一般都是用匯編語言。一般包括:中斷向量表,初始化存儲器系統(tǒng),初始化堆棧,初始化有特殊要求的斷口,設備初始化,變量初始化等。這幾天對著RealView MDK-ARM中自帶的啟動代碼研究了一下,遇到問題又對著數(shù)據(jù)手冊和指令表看了一下,總算對S3C2440A的硬件有了一個大致的了解。學習嵌入式系統(tǒng)重在系統(tǒng),學習ARM只是為學習嵌入式系統(tǒng)鋪路,懶貓比較笨可能在上系統(tǒng)之前要裸奔幾天以強化以下對S3C2440A內(nèi)部結

2、構的了解。把MDK自帶的S3C2440A.S文件的注釋發(fā)一下,這些是懶貓結合數(shù)據(jù)手冊與ARM指令表理解了,可能會有錯誤,放在這里只是引導一下像我一樣還沒有入門的兄弟們,希望你們不要害怕ARM害怕嵌入式,老毛他老人家說的對,世上無難事,只怕有心人,ARM指令就那么多,看一遍不會就多看幾遍,還有一定要學習看軟件自帶的幫助文件.;/*/;/* S3C2440.S: Startup file for Samsung S3C440              

3、0;                 */;/*/;/* <<< Use Configuration Wizard in Context Menu >>>                     

4、;     */;/*/;/* This file is part of the uVision/ARM development tools.                   */;/* Copyright (c) 2005-2008 Keil Software. All rights reserved.      

5、;         */;/* This software may only be used under the terms of a valid, current,       */;/* end user licence from KEIL for a compatible version of KEIL software      */;/* development tools. Nothing el

6、se gives you the right to use this software. */;/*/;下面這些參數(shù)是與CPSR狀態(tài)寄存器有關;參數(shù)的由來:這里各個模式的參數(shù)是由寄存器CPSR的模式位設置M4:0得來的,;比如這里的用戶模式,CPSR的M4:0設置為10000就是0x10。;Mode_USR - 用戶模式,正常程序執(zhí)行模式,用于應用程序;Mode_FIQ - 快速中斷模式,用于高速數(shù)據(jù)傳輸和通道處理。;Mode_IRQ - 外部中斷模式,用于通用的中斷處理。;Mode_SVC - 管理模式,使用的一種保護模式。;Mode_ABT - 數(shù)據(jù)訪問中止模式,用于虛擬存儲用存儲保護;M

7、ode_UND - 未定義指令中止模式,當未定義指令執(zhí)行時進入此模式。;Mode_SYS - 系統(tǒng)模式,用于特權級的操作系統(tǒng)任務。;I_Bit    - 如果I位被置1,則外部中斷被禁止(IRQ is disabled);F_Bit    - 如果F位被置1,則快速中斷被禁止(FIQ is disabled);-Mode_USR        EQU     0x10Mode_FIQ   

8、0;    EQU     0x11Mode_IRQ        EQU     0x12Mode_SVC        EQU     0x13Mode_ABT        EQU     0x

9、17Mode_UND        EQU     0x1BMode_SYS        EQU     0x1F I_Bit           EQU     0x80    

10、0;       ; when I bit is set, IRQ is disabledF_Bit           EQU     0x40            ; when F bit is set, FIQ is disabled -棧初始化定義-;下面這些主要是棧配

11、置,系統(tǒng)的??臻g設定;UND_Stack_Size - 未定義模式的棧大小;SVC_Stack_Size - 超級用戶模式的棧大小;ABT_Stack_Size - 數(shù)據(jù)訪問終止模式的棧大小;FIQ_Stack_Size - 快速中斷模式的棧大小;IRQ_Stack_Size - 外部中斷模式的棧大小;USR_Stack_Size - 用戶模式的棧大小;ISR_Stack_Size - 總堆棧的大小,也就是所有模式下堆棧相加;- UND_Stack_Size  EQU     0x00000000SVC_Stack_Size 

12、; EQU     0x00000008ABT_Stack_Size  EQU     0x00000000FIQ_Stack_Size  EQU     0x00000000IRQ_Stack_Size  EQU     0x00000080USR_Stack_Size  EQU     0x00000400 ISR_Stack_Size

13、0; EQU     (UND_Stack_Size + SVC_Stack_Size + ABT_Stack_Size +                          FIQ_Stack_Size + IRQ_Stack_Size)      

14、0;                                                  -;A

15、REA - 是一個偽指令,用于段定義。ARM的匯編程序由段組成,段是相對獨立;        的指令或數(shù)據(jù)單位,每個段由AREA偽指令定義,并定義段的屬性。;        STACK  - AREA指令的一個參數(shù),定義段名稱;        NOINIT - AREA指令的一個參數(shù),指定本數(shù)據(jù)段僅僅保留了內(nèi)在單元,而;     

16、;             將句初始值寫入內(nèi)存單元,也即將內(nèi)存單元值初始化為0;        READWRITE - 指定本段為可讀可寫,數(shù)據(jù)段默認為READWRITE。;                   

17、0; READWRITE(讀寫)、READONLY(只讀);ALIGN - 也是一個偽指令,指定對齊方式。ALIGN n 指令的對齊值有兩種方案;         即n 或2n,這里采用第二種方案即指定后面的指令8字節(jié)對齊。;下面這句話的意思是:;開辟一個堆棧段,段名字為STACK,定義為可讀可寫,將內(nèi)存單元初始化為0,;-                

18、AREA    STACK, NOINIT, READWRITE, ALIGN=3                                    -;SPACE - 偽指令,用于分配一塊內(nèi)存單元,并用0

19、初始化,與%同義;其指令格式為:;    lable  SPACE  expr;lable - 內(nèi)存起始地址標號   expr - 所要分配的內(nèi)存字節(jié)數(shù)  -Stack_Mem       SPACE   USR_Stack_Size    ;堆棧內(nèi)存起始地址標號_initial_sp    SPACE   ISR_Stack_Size 

20、   ;匯編代碼的地址標號 Stack_Top    ;堆棧段內(nèi)容結束,在這里放個標號,用來獲得堆棧頂部地址 Heap_Size       EQU     0x00000000    ;定義堆大小設置                ;開辟一個名字為

21、HEAP可讀可寫,不初始化內(nèi)存單的內(nèi)存單元。                AREA    HEAP, NOINIT, READWRITE, ALIGN=3_heap_base     ;堆的基址Heap_Mem        SPACE   Heap_Size  &#

22、160; ;堆內(nèi)存起始地址標號_heap_limit    ;堆結束 -內(nèi)存初始化定義-;在一些應用系統(tǒng)中除了擴展Flash,RAM掛接在外部存儲器接口上外,可能還有其它;的外設掛接在外部存儲器接口上,不同外設的操作時序什么的都是不一樣的,所以;在使用這些外設之前必須初始化連接這些外設存儲器接口。這里因為沒擴展,所以;只定義一個片上內(nèi)存基地址。;- IRAM_BASE       EQU     0x40000000  

23、60; ;片上SRAM的基地址,即內(nèi)存基地址 -看門狗初始化定義-;看門狗在防止程序跑飛,進入無限死循環(huán)時起著重要作用。有些應用可能用不上;看門狗功能,也可能有些應用會用到外部看門狗。在這個時候內(nèi)部看門狗必須禁;止,所以有時候會在初始化時將內(nèi)部看門狗禁止,當以后應用用到時再開啟它。;看門狗定時器包括三個寄存器:;WTCON - 看門狗控制寄存器,設定看門狗定時器模式;WTDAT - 看門狗數(shù)據(jù)寄存器,用于設定超時寬度;WTCNT - 看門狗計數(shù)寄存器,里面存放的是看門狗定時器當前值;WT_BASE   - 看門狗定時器基地址;WTCON_OFS - 看門狗控制寄存

24、器偏移地址,相對于基址;WTDAT_OFS - 看門狗數(shù)據(jù)寄存器偏移地址,相對于基址;WTCNT_OFS - 看門狗計數(shù)寄存器偏移地址,相對于基址;WT_SETUP  - 看門狗設置;WTCON_Val - 看門狗控制寄存器設置,關閉看門狗;WTDAT_Val - 看門狗數(shù)據(jù)寄存器設置,初始值即為0x8000;- WT_BASE         EQU     0x53000000      ; Watch

25、dog Timer Base AddressWTCON_OFS       EQU     0x00            ; Watchdog Timer Control Register OffsetWTDAT_OFS       EQU     0x04  

26、60;         ; Watchdog Timer Data Register    OffsetWTCNT_OFS       EQU     0x08            ; Watchdog Timer Count Register   Offs

27、et WT_SETUP        EQU     0WTCON_Val       EQU     0x00000000WTDAT_Val       EQU     0x00008000  -時鐘與電源管理定義-;S3C2440A中的時鐘控制邏輯可以產(chǎn)生

28、必須的時鐘信號,包括CPU的FCLK,AHB總線的;HCLK 以及APB總線外設的PCLK3C2440A內(nèi)部有兩個鎖相環(huán)(PLL):一個提供FCLK,;HCLK及PCLK,另一個專用于USB模塊(48MHz).;CLOCK_BASE   - 時鐘基地址;LOCKTIME_OFS - 鎖相環(huán)鎖定時間計數(shù)寄存器偏移地址,相對于基址;MPLLCON_OFS  - MPLL配置寄存器偏移地址,相對于基址,主時鐘源PLL;UPLLCON_OFS  - UPLL配置寄存器偏移地址,相對于基址,USB時鐘源PLL;CLKCON_OFS   - 時鐘

29、控制寄存器偏移地址,相對于基址;CLKSLOW_OFS  - 時鐘減慢控制寄存器偏移地址,相對于基址;CLKDIVN_OFS  - 時鐘分頻器控制寄存器偏移地址,相對于基址;CAMDIVN_OFS  - 攝像頭時鐘分頻器控制寄存器偏移地址,相對于基址,UPLL提供;CLOCK_SETUP  - 時鐘設置;LOCKTIME_Val - PLL鎖定時間計數(shù)器值;MPLLCON_Val  - MPLL配置寄存器值;UPLLCON_Val  - UPLL配置寄存器值;CLKCON_Val   - 時鐘配置寄存器值;CLKS

30、LOW_Val  - 時鐘減慢控制寄存器值;CLKDIVN_Val  - 時鐘分頻控制寄存器值;CAMDIVN_Val  - 攝像頭分頻控制寄存器值;-CLOCK_BASE      EQU     0x4C000000       Clock Base AddressLOCKTIME_OFS    EQU     0x00   

31、;         ; PLL Lock Time Count Register   OffsetMPLLCON_OFS     EQU     0x04            ; MPLL Configuration Register    OffsetUPLLCON_OFS&

32、#160;    EQU     0x08            ; UPLL Configuration Register    OffsetCLKCON_OFS      EQU     0x0C        &#

33、160;   ; Clock Generator Control Reg    OffsetCLKSLOW_OFS     EQU     0x10            ; Clock Slow Control Register    OffsetCLKDIVN_OFS     EQU&

34、#160;    0x14            ; Clock Divider Control Register OffsetCAMDIVN_OFS     EQU     0x18            ; Camera Clock Divider Register

35、  Offset CLOCK_SETUP     EQU     0LOCKTIME_Val    EQU     0x0FFF0FFFMPLLCON_Val     EQU     0x00043011UPLLCON_Val     EQU     0x0003802

36、1CLKCON_Val      EQU     0x001FFFF0CLKSLOW_Val     EQU     0x00000004CLKDIVN_Val     EQU     0x0000000FCAMDIVN_Val     EQU     0x000000

37、00 -存儲控制器設置定義-;下面這些都是一些關于存儲控制器的地址宏定義;MC_BASE      - 存儲控制器基地址;BWSCON_OFS   - 總線寬度和等待控制寄存器偏移地址;BANKCON0_OFS - BANK1控制寄存器偏移地址;   .;   .;BANKCON7_OFS - BANK7控制寄存器偏移地址;REFRESH_OFS  - DRAM/SDRAM刷新控制寄存器偏移地址;BANKSIZE_OFS - 可調(diào)的bank大小寄存器偏移地址;MRS

38、RB6_OFS   - bank6模式控制寄存器偏移地址;MRSRB7_OFS   - bank7模式控制寄存器偏移地址;MC_SETUP     - 存儲器控制寄存器設置;BWSCON_Val   - 寫入總線寬度和等待控制寄存值;BANKCON0_Val - 寫入Blank0的值;   .;   .;BANKCON7_Val - 寫入BANK7 的值;REFRESH_Val  - 寫入DRAM/SDRAM刷新控制寄存的值;BANKSIZE_V

39、al - 寫入可調(diào)的bank大小寄存的值;MRSRB6_Val   - 寫入bank6模式控制寄存器的值;MRSRB7_Val   - 寫入bank7模式控制寄存器的值;-MC_BASE         EQU     0x48000000      ; Memory Controller Base AddressBWSCON_OFS    

40、60; EQU     0x00            ; Bus Width and Wait Status Ctrl OffsetBANKCON0_OFS    EQU     0x04            ; Bank 0 Control Register

41、60;       OffsetBANKCON1_OFS    EQU     0x08            ; Bank 1 Control Register        OffsetBANKCON2_OFS    EQU  

42、0;  0x0C            ; Bank 2 Control Register        OffsetBANKCON3_OFS    EQU     0x10            ; Bank 3 Control

43、 Register        OffsetBANKCON4_OFS    EQU     0x14            ; Bank 4 Control Register        OffsetBANKCON5_OFS    EQU

44、0;    0x18            ; Bank 5 Control Register        OffsetBANKCON6_OFS    EQU     0x1C            ; Ba

45、nk 6 Control Register        OffsetBANKCON7_OFS    EQU     0x20            ; Bank 7 Control Register        OffsetREFRESH_OFS  

46、60;  EQU     0x24            ; SDRAM Refresh Control Register OffsetBANKSIZE_OFS    EQU     0x28            ; Flexible Bank Size R

47、egister    OffsetMRSRB6_OFS      EQU     0x2C            ; Bank 6 Mode Register           OffsetMRSRB7_OFS     

48、; EQU     0x30            ; Bank 7 Mode Register           Offset MC_SETUP        EQU     1BWSCON_Val  &#

49、160;   EQU     0x22000000BANKCON0_Val    EQU     0x00000700BANKCON1_Val    EQU     0x00000700BANKCON2_Val    EQU     0x00000700BANKCON3_Val    EQU

50、0;    0x00000700BANKCON4_Val    EQU     0x00000700BANKCON5_Val    EQU     0x00000700BANKCON6_Val    EQU     0x00018005BANKCON7_Val    EQU     0x0

51、0018005REFRESH_Val     EQU     0x008404F3BANKSIZE_Val    EQU     0x00000032MRSRB6_Val      EQU     0x00000020MRSRB7_Val      EQU     0x

52、00000020 -I/O端口宏定義-;GPA_BASE   - 端口A基地址;   .;GPJ_BASE   - 端口J基地址;GPCON_OFS  - 端口配置寄存器偏移地址;GPDAT_OFS  - 端口數(shù)據(jù)寄存器偏移地址;GPUP_OFS   - 端口上拉寄存器偏移地址;GP_SETUP   - 端口設置;GPA_SETUP  - 端口A配置;GPACON_Val - 寫入端口A配置寄存器的值;    

53、60; .;      .;GPJ_SETUP  - 端口J配置;GPJCON_Val - 寫入端口J配置寄存器的值;GPJUP_Val  - 寫入端口J上拉寄存器的值;-GPA_BASE        EQU     0x56000000      ; GPA Base AddressGPB_BASE     

54、60;  EQU     0x56000010      ; GPB Base AddressGPC_BASE        EQU     0x56000020      ; GPC Base AddressGPD_BASE        EQU  

55、;   0x56000030      ; GPD Base AddressGPE_BASE        EQU     0x56000040      ; GPE Base AddressGPF_BASE        EQU     0x56000050

56、      ; GPF Base AddressGPG_BASE        EQU     0x56000060      ; GPG Base AddressGPH_BASE        EQU     0x56000070    

57、  ; GPH Base AddressGPJ_BASE        EQU     0x560000D0      ; GPJ Base AddressGPCON_OFS       EQU     0x00          

58、;  ; Control Register OffsetGPDAT_OFS       EQU     0x04            ; Data Register OffsetGPUP_OFS        EQU     0x08   

59、;          Pull-up Disable Register Offset GP_SETUP        EQU     1 -;端口A配置;-GPA_SETUP       EQU     0GPACON_Val      E

60、QU     0x000003FF -;端口B配置;-GPB_SETUP       EQU     0GPBCON_Val      EQU     0x00000000GPBUP_Val       EQU     0x00000000 -;端口

61、C配置;-GPC_SETUP       EQU     0GPCCON_Val      EQU     0x00000000GPCUP_Val       EQU     0x00000000 -;端口D配置;-GPD_SETUP     

62、60; EQU     0GPDCON_Val      EQU     0x00000000GPDUP_Val       EQU     0x00000000 -;端口E配置;-GPE_SETUP       EQU     0GPECON_Val

63、0;     EQU     0x00000000GPEUP_Val       EQU     0x00000000 -;端口F配置;-GPF_SETUP       EQU     0GPFCON_Val      EQU   

64、;  0x00000000GPFUP_Val       EQU     0x00000000 -;端口G配置;-GPG_SETUP       EQU     0GPGCON_Val      EQU     0x00000000GPGUP_Val   &#

65、160;   EQU     0x00000000 -;端口H配置;-GPH_SETUP       EQU     0GPHCON_Val      EQU     0x00000000GPHUP_Val       EQU     0x

66、00000000 -;端口J配置;-GPJ_SETUP       EQU     0GPJCON_Val      EQU     0x00000000GPJUP_Val       EQU     0x00000000 -;PRESERVE8 - 偽指令,指示當前文件請求堆棧為8字節(jié)對

67、齊。;             匯編程序數(shù)據(jù)8字節(jié)對齊,c和匯編有8位對齊的要求.;-                PRESERVE8 -;存儲區(qū)設定和程序入口點;啟動代碼必須連接到第一個地址才能運行;下面這句話的意思是:;        

68、;           聲明一個名為RESET的代碼段,屬性為只讀;-                AREA    RESET, CODE, READONLY             &#

69、160;  ARM    ;ARM模式運行程序;-              IMPORT - 相當于C語言中的關鍵字extern;          指當前的符號在其他源文件中定義的,在本源文件中可能引用該符號.;EXPORT - 相當于C語言中的關鍵字global;     

70、     聲明一個符號可以被其它文件引用.相當于聲明了一個全局變量;下面這幾句話是的意思是:;    如果定義了_EVAL這個變量,引用RO輸出區(qū)的字節(jié)長度與RW輸出區(qū)的字節(jié)長度;注意:;ARM連接器定義了一些包含$的符號。這些符號及其他所有包含$的名稱都是ARM的;保留字。這些符號被用于指定域的基地址,輸出段的基地址和輸入段的基地址及其;大小。我們可以自己的匯編語言程序中引用這些符號地址,把它們用作可重定位的;地址,也可能在C或C+代碼中使用extern關鍵字來引用它們。這個可以查看uVision;Help 的Region

71、-related symbols這一節(jié)。;-                IF      :LNOT:DEF:_EVAL     ;邏輯判斷是否定義了_EVAL這個變量                IMPO

72、RT  |Image$ER_ROM1$RO$Length|                IMPORT  |Image$RW_RAM1$RW$Length|                ENDIF -;    異常向量,映射到地址0,必須

73、使用絕對尋址方式,子程序用無限循環(huán)方式實現(xiàn)可以被修改。;-Vectors         LDR     PC, Reset_Addr ;將復位地址裝載到程序指針,即復位                       LDR   &

74、#160; PC, Undef_Addr ;未定義指令                LDR     PC, SWI_Addr   ;軟件中斷                LDR     PC, P

75、Abt_Addr  ;中止(預?。?#160;               LDR     PC, DAbt_Addr  ;中止(數(shù)據(jù))                IF      :DEF:_EV

76、AL    ;如果定義了_EVAL 變量                  DCD   0x4000         ;分配2k空間              

77、  ELSE                   ;否則分配空間大小為RO輸出區(qū)的字節(jié)                           

78、                                 ;長度與RW輸出區(qū)的字節(jié)長度之和                

79、  DCD   |Image$ER_ROM1$RO$Length|+                        |Image$RW_RAM1$RW$Length|              

80、60; ENDIF                LDR     PC, IRQ_Addr   ;外部中斷                LDR     PC, FIQ_Addr  

81、; ;快速中斷                 IF      :DEF:_RTX     ;如果定義了_RTX                IMPORT  SWI_Handler

82、0;   ;則定義中斷子程序                IMPORT  IRQ_Handler_RTX ;定義快速中斷子程序                ENDIF;-;下面這幾句的任務是把各個子程序的入口地址分配給相應的地址變量;-Reset_Addr 

83、;     DCD     Reset_Handler ;復位子程序入口地址賦值給Reset_AddrUndef_Addr      DCD     Undef_Handler ;未定義子程序入口地址賦值給Undef_AddrSWI_Addr        DCD     SWI_Handler  

84、 ;中斷子程序入口地址賦值給SWI_AddrPAbt_Addr       DCD     PAbt_Handler  ;中止(預存)子程序入口地址賦給PAbt_AddrDAbt_Addr       DCD     DAbt_Handler  ;中止(數(shù)據(jù))子程序入口地址賦給DAbt_Addr       

85、         DCD     0             ;保留地址                     IF   

86、60;  :DEF:_RTX    ;如果定義了_RTXIRQ_Addr        DCD     IRQ_Handler_RTX  ;快速中斷子程序入口地址給IRQ_Addr                ELSEIRQ_Addr    

87、60;   DCD     IRQ_Handler      ;否則把IRQ_Handler入口地址給IRQ_Addr                ENDIFFIQ_Addr        DCD     FIQ_Handler

88、      ;快速中斷入口地址給FIQ_Addr -;這些子程序都是用無限循環(huán)方式實現(xiàn)的可以被修改。;- Undef_Handler   B       Undef_Handler    ;跳轉(zhuǎn)到Undef_Handler,還是在這個地方               

89、IF      :DEF:_RTX       ;如果定義了DEF:_RTX,在此等待中斷                ELSESWI_Handler     B       SWI_Handler   &#

90、160;  ;否則跳轉(zhuǎn)到軟件中斷                ENDIFPAbt_Handler    B       PAbt_Handler     ;中止(預存)子程DAbt_Handler    B     &

91、#160; DAbt_Handler     ;中止(數(shù)據(jù))子程;-;外部中斷子程序;     如果函數(shù)標有PROC與ENDP,但沒有FRAME PUSH 或FRAME POP,則堆棧作用量;假定為0.這意味著無需手動添加FRAME PUSH 0或FRAME POP 0;-                    

92、60;             IRQ_Handler     PROC                EXPORT  IRQ_Handler  WEAK ;聲明一個全局變量,并且其它同名符優(yōu)先于本符號被引用   

93、60;            B       . ;跳轉(zhuǎn)到當前地址即在此等待“.”代表當前指令地址                ENDPFIQ_Handler     B     

94、;  FIQ_Handler         快速中斷子程序 -;復位子程序;-                EXPORT  Reset_Handler      聲明一個全局變量Reset_Handler   -;配置看門狗;前面已經(jīng)初始化WT_SETUP

95、 = 0,要想執(zhí)行下面的程序需將WT_SETUP置1;-                IF      WT_SETUP != 0                LDR     R0, =WT_BASE

96、0;   ;加載看門狗基址                LDR     R1, =WTCON_Val  ;加載看門狗控制寄存器數(shù)據(jù)                LDR     R2, =

97、WTDAT_Val  ;加載看門狗數(shù)據(jù)寄存器數(shù)據(jù)                STR     R2, R0, #WTCNT_OFS  ;將WTDAT_Val配置給看門狗計數(shù)寄存器                STR     R2, R0, #WTDAT_OFS  ;將WTDAT_Val 配置給看門狗數(shù)據(jù)寄存器                STR     R1, R0, #WTCON_OFS  ;將WTCON_Val配置給看門狗控制寄存器        

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論