电子信息外文翻译成品.doc_第1页
电子信息外文翻译成品.doc_第2页
电子信息外文翻译成品.doc_第3页
电子信息外文翻译成品.doc_第4页
电子信息外文翻译成品.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)外文资料翻译系 : 电气工程学院 专 业: 姓 名: 学 号: 0414731 (用外文写)外文出处: Getting Started with Vision2 附 件: 1.外文资料翻译译文;2.外文原文。 指导教师评语: 签名: 年 月 日附件1:外文资料翻译译文嵌入式系统程序的下载和调试当你已经在主机上有了一个可执行二进制映像文件的时候,你就需要有一种途径来把这个映像文件下载到嵌入式系统运行了,可执行二进制影响一般是要下载到目标板上的存储器里并在那里执行,并且如果你配备了适当的工具的话,还可以在程序里设置断点或以一种不干扰的方式来观察运行情况,本章介绍了可用于下载,运行和调试嵌入式软件是各种技术。4.1 在ROM中的时候.下载嵌入式软件的最明显的方式,是把二进制映像载入一片存储片并把它插在目标板上,虽然一个整整的只读是不能再覆盖写入的,不过你会在第六章“存储器”里看到,嵌入式系统通常使用了一种特殊的只读存储器,这种存储器可以用特殊的编程器来编程(或重新写入程序).编程器是一种计算机系统,它上面有各种各样的形状和大小的芯片插座,可以用来为各种存储芯片编程。在一个理想的开发条件下,设备编程器应该和主机接在同一个网络上。这样,可执行二进制映像文件就很容易传给它来对ROM芯片编程。首先把映像文件传到编程器,然后把存储器芯片插入大小形状何时的插座里并冲编程器屏幕上的菜单里悬着芯片的型号。实际的编程过程可能需要几秒到几分钟,这要看二进制映像文件的大小和你所用的芯片型号来定。变成结束以后,你就可以把ROM插进板上的插座了,当然,不能在嵌入式系统还在加电的时候做这件事。应该在插入芯片之前关掉电源,插入之后在打开。一旦加电,处理器就开始从ROM里取出代码并执行。不过,要注意到每一种处理器对第一条指令的位置都有自己的要求。例如,当Intel80188EB处理器复位以后,它就会取位于物理地址FFFF0h的指令来执行。这个地址叫做复位地址,位于那里的指令就叫复位代码。如果你的程序看起来像是没有正确运行,那可能是你复位代码出了问题。你必须保证ROM里你的二进制映像格式要遵从目标处理器的复位要求。在开发过程中,我发现在复位代码执行之后打开板子上的一个LED非常有用,这样我一眼就知道我的芯ROM程序是不是满足了处理器的基本要求。注意:调试技巧#1:一个最简单的调试技巧就是利用LED来指示成功或者失败。基本思路是慢慢地从LED驱动代码过渡到更大的程序,把LED驱动代码挪到下一个运行标记的地方。这个方式最适合启动代码那样简单的,线性执行的程序。如果你没有本章后面提到的远程调试器或者任何其他调试工具的话,这也许是你唯一的调试办法了。Arcom电路板 特殊的在线可编程存储器,叫做快闪存储器(简称闪存),它可以在不从板上移走的情况下编程。实际上,板上的另外一块存储器中已经包含了可以对这个快闪存储器编程的功能。你知道吗,Arcom电路板上实际带了两个只读存储器,一个是真正的ROM,其中包含了可以让用户对另外一片(即快闪存储器)在线编程的简单程序。主机只需通过一个串行通信口和一个终端程序就可以和这个监控程序沟通了。随板提供的“Target188EB Monitor Users Manual”包含了把一个Intel十六进制格式文件,比如blink.hex,载入到闪存里的指令。这种下载技术的最大缺点是没有一种简单的方法来调试运行在ROM外面的软件,处理器以一种很高的速度提取指令并执行,并没有提供任何使你观察程序内部状态的手段。这在你已经知道你的软件工作正常并且你在计划分发这个系统的时候看起来是不错的,不过对于正在开发的软件是一点用多没有。当然,你还是可以检查LED的状态和其他外部可视硬件指示,但这永远不会比一个调试器提供更多的信息和反馈。4.2 远程调试器如果可能的话,一个远程调试器可以通过主机和目标机之间的串行网络连接来下载、执行和调试嵌入式软件。一个远程调试器的前端和你可能用过的其他调试器都一样,通常有一个基于文本或GUI(图形用户界面)的主窗口和几个小一点的窗口来显示正在运行的程序的源代码、寄存器内容和其他相关信息。所不同的是,在嵌入式系统的情况下,调试器和被调试的软件分别运行在两台不同的计算机上。一个远程调试器实际上包含两部分软件。前端运行在主机上并提供前述的人机界面。但还有一个运行在目标处理器上的隐藏的后端软件来负责通过某种通信链路和前端通信。后端一般被称作调试监控器,它提供了对目标处理器的低层控制。监视控制器通常是你或生产厂以前讲过的方式放置在ROM里的,它在目标处理器复位的时候会自动启动。它监控和主机的通信链路并对远程调试器的请求做出回应。当然,这些请求和监控器的响应必须符合某种预先定义好的通信协议,而且这些协议通常是很底层的。远程调试器的请求的一些示例就如“读寄存器x”、“修改寄存器y”、读从address开始的内存的n字节”还有“修改位于address的数据”等等。远程调试器通过组合利用这些低层命令来完成诸如下载程序、单步执行和设置断点等高级调试任务。GUN调试器(gdb)就是这样一个调试器,像其他GUN工具一样,它一开始是被设计用来完成本机调试,后来才具有了跨平台调试的能力。所以你可以创建一个运行在任何被支持的主机上的GDB前端,它就会理解任何被支持的目标上的操作码和寄存器名称。一个兼容的调试兼容器的源代码包含在GDB软件包里面,并需要被移植到目标平台上,不过,要知道这个移植可能需要一些技巧,特别是如果你的配置里只能通过LED来调试的话(参见调试技巧#1)。GDB前端和调试监控器之间的通信专门被设计来通过串行连接进行字节传输。表4-1显示了命令格式和一些主要的命令。这些命令示范了发生在典型的远程调试器前端和调试器之间的交互类型。Table 4-1. GDB 调试监控器命令 命令请求格式响应格式读存储器gdata写存储器GdataOK读某地址数据maddress,lengthdata写某地址数据Maddress,length:data OK启动/重启执行cSsignal从某地址执行caddressSsignal单步执行sSsignal从某地址开始单步执行saddressSsignal重置/中止程序kno response远程调试器是嵌入式软件里最常用到的下载和测试工具。这主要是因为它们一般比较便宜。嵌入式软件开发人员已经有了所需的主机了,任何一个远程调试器的价格并不会在全套跨平台开发工具(编译器、连接器、定址器等等)的价格上增加多少,还有调试器的供应商们通常会提供他们的调试监控器的源代码,以增加他们的用户群。Arcom电路板在交付的时候在快闪存储器里包含了一个免费的调试系统。和Arcom提供的主机软件一起使用,这个调试监控器就可以把程序直接下载到目标板的RAM里并运行,你可以用tload工具来完成这一任务。按照“SourceVIEW forTarget188EB Users Manual”的指示简单地把SourceVIEW串行通信适配器接到目标板和主机上,然后在主机PC上执行下述命令:tload -g blink.exeSourceView Target Loader v1.4Copyright (c) Arcom Control Systems Ltd 1994Opening blink.exe. download size 750H bytes (2K)Checking COM1 (press ESC key to exit).Remote ident: TDR188EB version 1.02Download successfulSending GO command to target system-g选项告诉调试监控器程序下载一结束就马上开始运行,这样一来,运行就是和ROM里的程序完全对应的RAM里的程序了。在这种情况下,我们也许会以可重定址程序来开始,那么tload工具也会自动地在RAM里第一个可利用的地址处为我们的程序重新定址。对于远程调试的目的,Arcom的调试监控器可以用Borland的Turbo Debugger做前端。然后Turbo Debugger就可以单步执行你的C/C+和汇编程序,在程序里设置断点,并可以在程序运行时监控变量、寄存器和堆栈(注1),下面是你可能用来启动一个对闪烁LED程序的调试会话的命令:tdr blink.exetver -3.1Target Debugger Version Changer v1.2Copyright (c) Arcom Control Systems Ltd 1994Checking COM1 (press ESC key to exit).Remote ident: TDR188EB version 1.02TDR88 set for TD version 3.1td -rp1 -rs3 blink.exeTurbo Debugger Version 3.1 Copyright (c) 1988,92 Borland InternationalWaiting for handshake from remote driver (Ctrl-Break to quit)Tdr命令实际是调用另外两个命令的一个批处理文件。第一个命令告诉板上的调试监控器你用的是哪个版本的Turbo Debugger,第二个才实际调用Turbo Debugger,每一次用Arcom板启动一个调试会话的时候都会发出这两条命令、tdr.bat批处理文件只是用来把它们组合成一个单一的命令。这里我们再一次使用了程序的可重定址版本,因为我们要把程序下载到RAM里并在那里执行它。调试器启动选项-rpl和-rp3设置了到调试监控器的通信链路的参数。-rpl代表“remote-port(远程端口)=1”(COM1),-rp3代表“remote-speed(远程速率)=3”(38400波特率),这些是同Arcom调试监控器通信所要求的参数。在建立了和调试监控器的联系后,Turbo Debugger就可以开始运行了。如果没成功的话,可能是串行连接出了问题。把你的安装过程和Source View用户手册中的描述对照一下。一旦进入Turbo Debugger,你就会看到一个对话框显示“Program out of date on remote,sent over link?(远程的程序已过期,是否通过链路发送?)”,选择“yes”后,blink.exe的内容就会被下载到目录RAM中,然后调试器会在main处设置第一个断点并指示调试监控器运行程序到此处。所以你现在看到的就是main的C源代码,一个光标指示着嵌入式处理器的指令指针正指向这个例程的入口点。使用标准的Turbo Debugger命令,你可以单步执行程序、设置断点、监控变量和寄存器的值、做调试器允许的任何事。或者可以按下F9立即运行程序的剩下部分、这样做了以后,你就能看到板上的绿色LED开始闪烁了。确认程序和调试器都正常工作之后,按下Arcom板上的复位开关来复位复位嵌入式处理器,然后LED会停止闪烁,Turbo Debugger又可以响应你指令了。4.3 仿真器远程调试器用来监视和控制嵌入式软件的状态是很有用,不过只有用在线仿真器(In-Circuit Emulator,ICE)才能检查运行程序的处理器状态。实际上,ICE取代了(或者仿真了)目标板上的处理器。它自己就是一个嵌入式系统,有它自己的目标处理器、RAM、ROM和自己的嵌入式软件,结果在线仿真器一样非常贵,往往要比目标硬件还贵。但是这是一种强有力的工具,在某些严格的环境下可以帮你很大忙。同调试监控器一样,仿真器也有一个远程调试器作为用户界面。某些情况下,甚至能使用相同的前端调试器。但是仿真器有自己的目标处理器,所以就有可能实时的监视和控制处理器的状态。这就允许仿真器在调试监控器提供的功能外支持一些高级的调试特性,如:硬件断点额实时跟踪。使用调试监控器,你可以在你的程序里设置断点。不过这些软断点只能到指令提取级别,也就是相当于“在提取该指令前停止运行”。相比之下,仿真器同时支持硬件断点。硬件断点允许响应多种事件来停止运行。这些事件不仅包括指令提取,还有内存和I/O读写以及中断。例如,你可以对事件“当变量foo等于15同时AX寄存器等于0”设置一个硬件断点。在线仿真器的另一种有用的特性是实时跟踪,典型地仿真包含了大块的专用RAM,专门用来存储执行过的每一个指令周期的信息。这个功能使你可以得知事件发生的精确次序,这就嫩帮助你回答诸如计时器中断是发生在变量bar变成94之前还是之后这类的问题。另外,通常可以限制存储的信息或者在查看之前预处理数据以精简要检查的数据的数量。4.4 ROM仿真器另外一种仿真器也值得在这里提一下。ROM仿真器被用来仿真一个只读存储芯片。和ICE一样,它是一个独立的嵌入式系统并和主机与目标板相连。不过,这次是通过ROM芯片插座来和目标板连接的。对于嵌入式处理器,它就像一个只读存储芯片,而对于远程调试器,它又像一个调试器。ROM仿真器相比调试监控器有如下几个优点。首先,任何人都不需要为你的专有目标硬件移植调试监控器代码。其次,ROM仿真器通常自带了连接主机的串行或网络连接,所以不必用主机自己的通常很有限的资源。最后,ROM仿真器完全替代了原有的ROM,所以不会占用目标板的存储空间来容纳调试监控器代码。4.5模拟器和其他工具当然,还可以使用另外很多种调试工具,比如模拟器(simulator)、逻辑分析仪和示波器。模拟器是一个完全基于主机的程序,它模拟了目标处理器的功能和指令集,它的用户界面通常和远程调试器的一样和比较类似。实际上,可以为后端模拟器使用一个调试器来做前端,就像图4-2显示的那样。尽管模拟器有很多不足,它在项目的早期特别是没有任何实际的硬件可以用来试验程序的时候就相当有用。注意:调试技巧#2:如果曾经遇到目标处理器从不同于你认为应该的数据手册里读取数据,尝试在模拟器上运行相同的软件。如果你的程序正常工作,那么你知道这是某种形式的硬件问题。但是,如果模拟器展示相同的问题像实际芯片一样,你就知道你错误的曲解了处理器的所有文件。到目前为止,一个模拟器最大的缺点是它仅能模拟处理器,而且嵌入式系统经常包含一个或多个其他重要设备。与这些设备相互作用有时会模仿与仿真脚本或其他变通办法,但这种解决方法相比模拟本身的价值创造了更多的麻烦。所以,你可能不会做太多的模拟器,一旦你有实际嵌入式硬件提供给您。他们对处理器和其它芯片之间的相互作用非常有用。因为他们只能查看信号处理器以外的错误,但是,他们无法控制你的像一个调试器或仿真器软件可以执行流程。这使得这些工具本身明显用处不大。但是,再加上像一个远程调试调试器或仿真器工具软件,它们可以是非常宝贵。逻辑分析仪是专门用来调试数字电路硬件的一种实验室设备。它会有几十个甚至上百个输入,它们分别只用来做一件事:它所连接的电信号的逻辑电平是1还是0。你选择的任何输入子集都可以以时间坐标显示出来,如图4-3所示。大多数逻辑分析仪也允许你以特定的模式捕捉数据或“触发器”。例如,你可以发出如下请求:“显示输入信号1到10的值,但是直到输入2和5同时变为0时才开始记录”。注意:调试技巧#3:有时可能需要同时观察运行着嵌入式软件的目标板上电信号的一个子集。例如:你可能想观察处理器和它所连一个外设的总线交互信号。一个技巧是在你感兴趣的交互的前面加上一个输出语句。这个输出语句会在处理器的一个或多个引脚上产生特定的逻辑电平。例如,你可以使一个空闲的I/O引脚从0到1,然后逻辑分析仪就可以设置成响应这个使劲的触发器并开始捕获后续的所有情况。示波器是用于硬件调试的另一种试验室设备,不过它可以在任何硬件上检查任何电信号,不管是模拟的还是数字的。在手头没有逻辑分析仪的情况下,示波器可以迅速观察特定引脚上的电压,也可以做一些更复杂的事情。不过,它的输入很少(通常有四个)而且通常没有高级的触发逻辑。结果,只有在没有软件调试工具的情况下它才会对你有用。附件2:外文原文(复印件)RTX-51 Real-TimeOperating SystemRTX51 is a multitasking real-time operating system for the 8051 family. RTX51simplifies system and software design of complex and time-critical projects.RTX51 is a powerful tool to manage several jobs (tasks) on a single CPU. Thereare two distinct versions of RTX51:RTX51 Full which performs both round-robin and preemptive task switchingwith 4 task priorities and can be operated with interrupt functions in parallel.RTX51 supports signal passing; message passing with a mailbox system andsemaphores. The os_wait function of RTX51 can wait for the following events:interrupt; timeout; signal from task or interrupt; message from task or interrupt;semaphore.RTX51 Tiny which is a subset of RTX51 Full. RTX51 Tiny easily runs onsingle-chip systems without off-chip memory. However, program using RTX51Tiny can access off-chip memory. RTX51 Tiny allows round-robin taskswitching, supports signal passing and can be operated with interrupt functionsin parallel. The os_wait function of RTX51 Tiny can wait for the followingevents: timeout; interval; signal from task or interrupt.The rest of this section uses RTX-51 to refer to RTX-51 Full and RTX-51 Tiny.Differences between the two are stated where applicable.IntroductionMany microcontroller applications require simultaneous execution of multiplejobs or tasks. For such applications, a real-time operating system (RTOS) allowsflexible scheduling of system resources (CPU, memory, etc.) to several tasks.RTX-51 implements a powerful RTOS that is easy to use. RTX-51 works withall 8051 derivatives.You write and compile RTX-51 programs using standard C constructs andcompiling them with C51. Only a few deviations from standard C are requiredin order to specify the task ID and priority. RTX-51 programs also require thatyou include the RTX51.H or RTX51TNY.H header file. When you select in theVision2 dialog Options for Target - Target the operating system, the linker addsthe appropriate RTX-51 library file.Single Task ProgramA standard C program starts execution with the main function. In an embeddedapplication, main is usually coded as an endless loop and can be thought of as asingle task that is executed continuously. For example:Round-Robin Task SwitchingRTX51 Tiny allows a quasi-parallel, simultaneous execution of several tasks.Each task is executed for a predefined timeout period. A timeout suspends theexecution of a task and causes another task to be started. The following exampleuses this round-robin task switching technique.Simple C Program using RTX51RTX51 starts the program with task 0 (assigned to job0). The functionos_create_task marks task 1 (assigned to job1) as ready for execution. Thesetwo functions are simple count loops. After the timeout period has beencompleted, RTX51 interrupts job0 and begins execution of job1. This functioneven reaches the timeout and the system continues with job0.The os_wait FunctionThe os_wait function provides a more efficient way to allocate the availableprocessor time to several tasks. os_wait interrupts the execution of the currenttask and waits for the specified event. During the time in which a task waits foran event, other tasks can be executed.Wait for TimeoutRTX51 uses an 8051 timer in order to generate cyclic interrupts (timer ticks).The simplest event argument for os_wait is a timeout, where the currentlyexecuting task is interrupted for the specified number of timer ticks. Thefollowing uses timeouts for the time delay.Program with os_wait FunctionThis program is similar to the previous example with the exception that job0 isinterrupted with os_wait after counter0 has been incremented. RTX51 waitsthree timer ticks until job0 is ready for execution again. During this time, job1 isexecuted. This function also calls os_wait with a timeout of 5 ticks. The result:counter0 is incremented every three ticks and counter1 is incremented every fivetimer ticks.Wait for SignalAnother event for os_wait is a signal. Signals are used for task coordination: ifa task waits with os_wait until another task issues a signal. If a signal waspreviously sent, the task is immediately continued.Program with Wait for Signal.In this example, task 1 waits for a signal from task 0 and therefore processes theoverflow from counter0.Preemptive Task SwitchingThe full version of RTX51 provides preemptive task switching. This feature isnot included in RTX51 Tiny. It is explained here to provide a completeoverview of multitasking concepts.In the previous example, task 1 is not immediately started after a signal hasarrived, but only after a timeout occurs for task 0. If task 1 is defined with ahigher priority than task 0, by means of preemptive task switching, task 1 isstarted immediately after the signal has arrived. The priority is specified in thetask definition (priority 0 is the default value).RTX51 Technical DataDescriptionRTX-51 FullRTX-51 TinyNumber of tasks256; max. 19 tasks active16RAM requirements40 . 46 bytes DATA20 . 200 bytes IDATA (user stack)min. 650 bytes XDATA7 bytes DATA3 * IDATACode requirements6KB . 8KB900 bytesHardware requirementstimer 0 or timer 1timer 0System clock1000 . 40000 cycles1000 . 65535 cyclesInterrupt latency 50 cycles 20 cyclesContext switch time70 . 100 cycles (fast task)180 . 700 cycles (standard task)depends on stack load100 . 700 cyclesdepends on stack loadMailbox system8 mailboxes with 8 integer entrieseachnot availableMemory pool systemup to 16 memory poolsnot availableSemaphores8 * 1 bitnot availableOverview of RTX51 RoutinesThe following table lists some of the RTX-51 functions along with a briefdescription and execution timing (for RTX-51 Full).functionDescriptionCPU Cyclessr_recv_messageReceive a message (call from interrupt).71 (with message)isr_send_messageSend a message (call from interrupt).53isr_send_signalSend a signal to a task (call from interrupt).46os_attach_interruptAssign task to interrupt source.119os_clear_signalDelete a previously sent signal.57os_create_taskMove a task to execution queue.302os_create_poolDefine a memory pool.644 (size 20 * 10 bytes)os_delete_taskRemove a task from execution queue.172os_detach_interruptRemove interrupt assignment.96os_disable_isrDisable 8051 hardware interrupts.81os_enable_isr Enable 8051 hardware interrupts.80os_free_block Return a block to a memory pool.160os_get_blockGet a block from a memory pool.148os_send_messageSend a message (call from task).443 with task switchos_send_signalSend a signal to a task (call from tasks).408 with task switch316 with fast task switch71 without task switchos_send_tokenSet a semaphore (call from task).343 with fast task switch94 without task switchos_set_sliceSet the RTX-51 system clock time slice.67os_waitWait for an event.68 for pending signal160 for pending messageFunction Description These functions are available only in RTX-51 Full.Additional debug and support functions in RTX-51 Full include the following:FunctionDescriptionoi_reset_int_maskDisables interrupt sources external to RTX-51.oi_set_int_maskEnables interrupt sources external to RTX-51.os_check_mailboxReturns information about the state of a specific mailbox.os_check_mailboxesReturns information about the state of all mailboxes in the system.os_check_poolReturns information about the blocks in a memory pool.os_check_semaphoreReturns information about the state of a specific semaphore.os_check_semaphoresReturns information about the state of all semaphores in the system.os_check_taskReturns information about a specific task.os_check_tasksReturns information about all tasks in the system.CAN FunctionsThe CAN functions are available only with RTX-51 Full. CAN controllerssupported include the Philips 82C200 and 80C592 and the Intel 82526. MoreCAN controllers are in preparation.onCAN FunctionDescriptioncan_bind_objBind an object to a task; task is started when object is received.can_def_objDefine communication objects.can_get_statusGet CAN controller status.can_hw_initInitialize CAN controller hardware.can_readDirectly read an objects data.can_receiveReceive all unbound objects.can_requestSend a remote frame for the specified object.can_sendSend an object over the CAN buscan_startStart CAN communications.can_stopStop CAN communications.can_task_createCreate the CAN communication task.can_unbind_objDisconnect the binding between a task and an object.can_waitcan_writeWait for reception of a bound object.Write new data to an object without sending it.TRAFFIC: RTX-51 Tiny Example ProgramThe TRAFFIC example is a pedestrian traffic light controller that shows theusage of multitasking RTX-51 Tiny Real-time operating system. During a userdefinedtime interval, the traffic light is operating. Outside this time interval, theyellow light flashes. If a pedestrian pushes the request button, the traffic lightgoes immediately into walk state. Otherwise, the traffic light workscontinuously.Traffic Light Controller CommandsThe serial commands that TRAFFIC supports are listed in the following table.These commands are composed of ASCII text characters. All commands mustbe terminated with a carriage return.CommandSertal TextDescriptionDisplayDDisplay clock, start, and ending times.TimeT hh:mm:ssSet the current time in 24-hour format.StartS hh:mm:ssSet the starting time in 24-hour format. The traffic light controlleroperates normally between the start and end times. Outside thesetimes, the yellow light flashes.EndE hh:mm:ssSet the ending time in 24-hour format.SoftwareThe TRAFFIC application is composed of three files that can be found in theKEILC51EXAMPLESTRAFFIC folder.TRAFFIC.C contains the traffic light controller program that is divided into the following tasks:Task 0 init: initializes the serial interface and starts all other tasks. Task 0deletes itself since initialization is needed only once.Task 1 command: is the command processor for the traffic light controller.This task controls and processes serial commands received.Task 2 clock: controls the time clock.Task 3 blinking: flashes the yellow light when the clock time is outside theactive time range.Task 4 lights: controls the traffic light phases while the clock time is in theactive time range (between the start and end times).Task 5 keyread: reads the pedestrian push button and sends a signal to thetask lights.Task 6 get_escape: If an ESC character is encountered i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论