




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 济源职业技术学院济源职业技术学院 毕毕 业业 设设 计(论计(论 文)文) 题目基于嵌入式 ARM9 Mp3 播放器的实现 系别信息工程系 专业计算机应用技术 班级应用技术 0803 班 姓名# 学号8090342 指导教师# 日期二零一零年十二月 I 目 录 摘 要 I ABSTRACTABSTRACT .II 第 1 章 绪论 - 1 - 1.1 开发嵌入式 MP3 播放系统的目的 .- 1 - 1.2 开发嵌入式 MP3 播放系统的意义 .- 1 - 第 2 章系统方案及嵌入式 LINUX 环境的搭建 - 2 - 2.1 嵌入式系统方案的设计- 2 - 2.2 嵌入式 LINUX环境的搭建 - 2 - 第 3 章 硬件开发平台及其操作系统的构建 .- 3 - 3.1 开发平台的硬件资源- 3 - 3.2 开发平台的体系结构 .- 5 - 3.3 开发平台硬件间的工作流程 .- 6 - 3.4 开发平台操作系统的搭建 .- 7 - 3.4.1 U-Boot 的编译 - 7 - 3.4.2 烧写 U-boot.- 8 - 3.4.3 内核(kernel)的编译与烧写.- 8 - 3.4.4 根文件系统的制作.- 9 - 第四章MP3 播放器的制作与移植 .- 11 - 4.1 MADPLAY原理 - 11 - 4.2 移植到 TX2440 开发板上- 11 - 4.2.1 编译文件- 11 - 4.2.2 移植 madplay 到 TX2440- 12 - 致 谢 .14 参考文献 .15 I 摘 要 二十一世纪是信息技术的时代,信息的交流量非常大,这就会使人们在计算机面前 工作的时间大大增加,因而增加了人们的负担和压力。再加上飞快的生活节奏,物质生 活的逐步改善,更会给人们带来身心的劳累,人们在这种身体状况下去工作,不但效率 不高,而且还很容易犯错,人们对精神层面的需求逐渐增强。因此人们需要一些娱乐和 消遣的软件来减轻压力,消除疲劳,让人们更好的去工作和生活。由于不满足于仅在家 中欣赏电视提供的多媒体,便携的媒体播放器应运而生。本 Mp3 播放器就是为了实现这 个目的而编写的。 由于嵌入式 Linux 操作系统功能强大又易于移植。本次设计的是 MP3 播放器应用程 序,就是一个基于嵌入式开发的一个媒体播放器软件,采用嵌入式 ARM9 经典开发平台。 关键词关键词: : 嵌入式系统,Linux,Mp3 播放器 Abstract The twenty-first century is the era of information technology, information exchange is very large, which make people work in front of the computer time is greatly increased, thus increasing the peoples burden and pressure. Coupled with the fast pace of life, the gradual improvement of material life, but also give rise to physical and mental fatigue, physical condition in which people go to work not only inefficient, and very easy to make mistakes, people on the spiritual demand gradually. So people need some entertainment and recreation software to reduce stress, reduce fatigue, allow people to work and live better. Because not content to provide only watch TV at home, multimedia, portable media players have emerged. Due to the embedded Linux operating system, powerful and easy to transplant. The design of the MP3 player application, is a development based on an embedded media player software, using the classical embedded ARM9 development platform. KeyKey Words:Words: Embedded systems, Linux, Mp3 player 济源职业技术学院毕业设计(论文) - 1 - 第 1 章 绪论 1.11.1 开发嵌入式开发嵌入式 MP3MP3 播放系统的目的播放系统的目的 二十一世纪是信息技术的时代,信息的交流量非常大,这就会使人们在计算机面前 工作的时间大大增加,因而增加了人们的负担和压力。再加上飞快的生活节奏,物质生 活的逐步改善,更会给人们带来身心的劳累,人们在这种身体状况下去工作,不但效率 不高,而且还很容易犯错,人们对精神层面的需求逐渐增强。因此人们需要一些娱乐和 消遣的软件来减轻压力,消除疲劳,让人们更好的去工作和生活。由于不满足于仅在家 中欣赏电视提供的多媒体,便携的媒体播放器应运而生。 1.21.2 开发嵌入式开发嵌入式 MP3MP3 播放系统的意义播放系统的意义 社会信息化、智能化、网络化高速发展的今天,嵌入式系统技术也随之提高,嵌入 式 Linux 操作系统功能强大又易于移植,嵌入式产品渗入各个行业,如图 1-1 所示。嵌 入式系统开发无疑成为当今最热门最有发展前途的 IT 领域之一。 图 1-1 嵌入式产品渗入各个行业 由于嵌入式 Linux 操作系统功能强大又易于移植。本次设计的是 MP3 播放器应用程 序,就是一个基于嵌入式 ARM9 开发的一个媒体播放器软件,采用 S3C2440 经典开发平台, 基于嵌入式 ARM9 开发的。本软件所具有的功能就可以满足一般用户的要求。本软件能支 持所有 MP3 格式的音频文件,这些文件在网上都很容易找得到。根据个人的不同喜好, 可以下载自己喜欢的 MP3 歌曲类型进行播放。因为音乐能使人们的神经放松,消除疲累, 使人们有更好的状态工作和生活。 济源职业技术学院毕业设计(论文) 第 2 章系统方案及嵌入式 Linux 环境的搭建 2.12.1 嵌入式系统方案嵌入式系统方案的设计的设计 嵌入式系统开发环境建立在一台主机(pc)上,开发是使用主机上的交叉编译、汇 编及连接工具形成在目标板上可以运行的二进制代码。然后下载到板子上运行。本设计 的宿主机 Linux 操作系统是建立在 Linux-Red Hat 9.0 虚拟机中,这样可以灵活的与 我们熟悉的 Windows 操作系统进行数据共享,加快开发速度。之后在宿主机上设置各种 环境变量,建立交叉编译调试的环境,移植到开发板。 2.22.2 嵌入式嵌入式 LinuxLinux 环境的搭建环境的搭建 嵌入式 Linux(Embedded Linux)是指对 Linux 经过小型化裁剪后,能够固化在容量 只有几十万字或几十字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用 Linux 操作系统。通常它的体积小,性能稳定,源代码免费,将大大减少开发商的成本,更具 市竟争力。 最基本的嵌入式 Linux 系统需要 4 个基本元素:(1)u-boot 移植:包括固化在固件 中的启动代码和 Bootloader 两大部分,用于完成机器加电后的系统定位引导。 (2) LINUX 系统内核的编译和烧写:为嵌入式应用提供一个软件环境,为应用程序完成基本 的底层的资源管理工作。 (3)根文件系统的制作: 操作系统中负责管理和存储文件信息 的软件机构。 (4)为了最小嵌入式系统具有一定的实用性,还需加上硬件驱动程序及一 个或几个应用进程以提供必要的应用功能支持。 济源职业技术学院毕业设计(论文) - 3 - 第 3 章 硬件开发平台及其操作系统的构建 3.13.1 开发平台的硬件资源开发平台的硬件资源 我们采用的硬件开发平台为 S3C2440 经典开发平台。 (1) 核心板 S3C2440 核心板:S3C2440 ARM CPU、64M SDRAM、64M NAND FLASH,通过 280Pin 精 密插座与主板连接。核心板上可以配置 2M 或 4M 容量的 Nor Flash AM29LV160/320,硬 件支持从 NorFlash 启动并可增加 NandFlash 容量。 PXA270 核心板:PXA270 XScale CPU、64M SDRAM、64M NAND FLASH,16M Nor FLASH。经典平台的核心板接口设计完全兼容博创的 PXA270 核心板和 S3C2440 核心板, 在软件支持下,两个核心板在经典开发平台主板上均可以实现大部分硬件功能,完全可 以替换原有的 2440-S 和 270A 系列产品。 (2) 双 100M EtherNet 网卡:由两片 DM9000AE 构成的双网卡,一般可只用其一。 (3) 4 HOST / 1 DEVICE USB 接口:从 CPU 的主 USB 口扩展为 4 个,由 AT43301 构成 USB HUB。USB 从口保持处理器本身的 1 个。 (4) 3 UART/IrDA: 2 个 RS232 串口。另有 1 个 RS485 串口,1 个 IrDA 收发器, 均从处理器的 UART2 引出,由 CPLD 内部逻辑进行选择。 (5) 168Pin EXPORT:提供一个 168Pin 扩展卡插槽,引出所有总线信号和未占用资 源。 (6) LCD 和 VGA 接口:标配 8 寸 16bit 真彩屏,同时预留一个 24bit 接口。扩展 了 VGA 接口和 AV 接口,可以连接 VGA 显示器。 (7) TouchScr:采用 2440 内部 ADC 构成的控制和转换电路,或者 PXA270 的 AC97 CODEC 芯片的触摸屏控制器,二者根据核心板的不同由软件设置 CPLD 逻辑进行选择。 (8) AUDIO:CODEC 采用 UDA1341 和 UCB1400,二者根据核心板的不同由软件设置 CPLD 逻辑进行选择,具有放音、录音和线路输入等功能。功放电路由 LM386 构成,板载 扬声器可播放音频。 (9) PS2 KEYPAD:使用 ATMEGA8 单片机控制 2 个 PS2 接口和板载 17 键小键盘。两 个 PS2 可接 PC 键盘和鼠标。 (10) LED:扩展 2 个数码管和 1 个 8x8 点阵发光管显示器,均由 CPLD 逻辑驱动。 (11) POWER SUPPLY、RESET、RTC 等必须资源。经典平台主板集成了 UP-LINK 调试 济源职业技术学院毕业设计(论文) 电路,可以直接用并口电缆连接计算机进行仿真、下载等 (12) ADC:板载 3 个电位器,同时在板上设模拟电压输入专用接口。 (13 )IDE/CF 卡插座:扩展有笔记本硬盘接口和 PCCARD 模式的 CF 卡接口电路,使 用 CPLD 芯片实现 PCCARD 逻辑。 (14) SD 卡插座:从 CPU 扩展 SD 接口。 (15) IC 卡。也由 ATMEGA8 单片机控制。 (16) 直流电机。扩展直流电机驱动电路,由 PWM 控制。带有红外线测速电路。 (17) CAN BUS:设置 1 个 CAN 口,采用 MCP2510 和 TJA1050 芯片构成。 (18) DA 输出:采用 MAX504 ,SPI 总线操作,输出模拟电压。 (19) 设置了 PWM DA、IIC 存储器、IO 控制 LED 和可产生硬中断的按键等简单调试 资源 (20) 可以提供配套的 GPRS/GPS、FPGA、WLAN、USB2.0、RFID、指纹识别等扩展板。 济源职业技术学院毕业设计(论文) - 5 - 3.23.2 开发平台的体系结构开发平台的体系结构 S3C2440 开发平台的体系结构如图 1-2 所示。 图 1-2 体系结构 济源职业技术学院毕业设计(论文) 3.33.3 开发平台硬件间的工作流程开发平台硬件间的工作流程 S3C2440 开发平台的工作流程如图 1-3 所示。 图 1-3 工作流程 济源职业技术学院毕业设计(论文) - 7 - 3.43.4 开发平台操作系统的搭建开发平台操作系统的搭建 3.4.13.4.1 U-BootU-Boot 的编译的编译 在 U-boot 的 board 目录下就是其支持的开发板,数量非常多。这里我们选择 2440 开 发板。 (1) 在 board 下建立开发板目录,修改 Makefile 文件,添加我们自己开发板的配置 信息:在 Makefile 中找到 TX2410 的配置信息,在下面加上与 TX2440 相关的信息 (2) 建立开发板的头文件 TX2440.h, 再把所有的文件全部删除,只留 TX2440.h,用以 下命令建立 TX2440.h: cp include/configs/TQM866M.h include/configs/Giga_Switch.h (3) 建立 TX2440 开发板的私有目录,即把 TX2410 目录下的所有文件拷贝到 TX2440 目录下,包括 Makefile. (4) 设置编译工具,我们使用的是 3.4.1 版本,所以要在 Makefile 文件里做相应的 修改:将 ifeq($(ARCH),PPC)CROSS_COMPILE = powerpc-linux-修改为: ifeq ($(ARCH),arm) CROSS_COMPILE = arm-linux- (5) 执行 make。 如果可以完成 u-boot 编译的全过程,说明 TX2440 移植框架成功建立。但是显然现 在编译生成的这个 U-boot.bin 仍然不适合我们的开发板,实际上它还是为 TX2410 开发 板设计的源代码。结合具体开发板修改文件,一般来说,虽然 U-boot 可以支持很多开发板,但 是在开发时有些文件还是要注意结合开发板的具体信息来修改,以下是需要注意修改的几 个地方。 SDRAM 的设置:在 board/TX2440/lowlevel_init.S 中,检查#define B6_BWSCON (DW32) 位宽为 32 根据 HCLK 设置 SDRAM 的刷新参数,主要是 REFCNT 寄存器。开发板 HCLK 为 100M 将 #define REFCNT 0x1113 改为#define REFCNT 0x4f4,将 FCLK 设为 400MHz,分频比为 FCLK:HCLK:PCLK=1:4:8。修改 board/TX2440/TX2440.c 中的 board_init 函数,在程序开头增加一行 DECLARE_GLOBAL_DATA_PTR;,这样才可以使用 gd 变量,修改 get_PLLCLK 函数. 支持 NAND Flash:首先在配置文件 include/configs/TX2440.h 的宏 CONFIG_COMMANDS 中增加 CFG_CMD_NAN,再在 include/configs/TX2440.h 的最后面增加 3 个宏。其次 board_nand_init 函数定义, board_nand_init 需要自己编写,在 济源职业技术学院毕业设计(论文) cpu/arm920t/s3c24x0 下新建 nand_flash.c 编写之前,需要针对 S3C2440 NAND Flash 定 义一些数据结构和函数,在 include/s3c24x0.h 中增加 S3C2440_NAND 数据结构,定义 2440 的函数: static inline S3C2440_NAND * const S3C2440_GetBase_NAND(void) return (S3C2440_NAND * const)S3C2410_NAND_BASE; 在 cpu/arm920t/s3c24x0/nand_flash.c 中添加代码,是从 Linux-2.6.13 中 /drivers/mtd/nand/s3c2410.c 中移植过来的。修改 cpu/arm920t/s3c24x0/Makefile: COBJS = 加上一项 nand_flash.o 支持网卡芯片 DM9000:在 driver 下,有网卡驱动 DM9000x.c 和 DM9000x.h,网卡 芯片 DM9000 接在 BANK4,位宽 16。在 include/configs/TX2440.h 中设置网卡的基地址, 在 drivers 目录下,只留 nand、nand_legacy、dm9000x.c、dm9000x.h 和 Makefile 文件, 其他文件全部删除,修改 Makefile 文件,将顶层目录下没用的 lib_x 文件夹删除,只留 lib_arm 和 lib_generic 文件。然后,设置一下 Linux 启动参数就可以了。 运行执行 make TX2440_config make all 生成生成支持 NAND Flash 和网卡芯片 DM9000 的 u-boot.bin 文件。 3.4.23.4.2 烧写烧写 U-bootU-boot 将编译后生成的 u-boot.bin 文件烧入 NAND Flash 中运行。 3.4.33.4.3 内核(内核(kernelkernel)的编译与烧写)的编译与烧写 我们在网上下载内核源码并解压源码,进入目录 linux-2.6.31,修改 Makefile 文件: 指定系统硬件架构、交叉编译器、修改时钟和修改机器码(根据实际情况,这个要和 bootloader 的匹配) 。接下来配置文件,在配置菜单中选择这一项:“Load an Alternate Configuation File”输入 2440 的默认配置: arch/arm/configs/s3c2410_defconfig 配置完后,回到主菜单,选择这一项“save an Altenate configuration File” 输入 要保存的配置文件名称:.config(默认),编译内核:#make zlmage。编译后,会在 arch/arm/boot 下生成 zimage 内核镜像文件,把 zimage 镜像烧进 nandflash 跑一下,检 查是否正常打印出信息。 支持 NandFlas h:修改 arch/arm/plat-s3c24xx/common-smdk.c 文件,这里我们要 济源职业技术学院毕业设计(论文) - 9 - 使 nandflash 同时支持 64M,256M 或更高容量。 接下来修改 Nand 读写匹配时间,这个 改不改应该问题都不大,是根据 Nand 的读写特性相关的,也就是查芯片资料得到的值, 每种 Nand 的值都不一样,修改 Kconfig 文件,在配置时选择 NAND 类型,修改 driver/mtd/nand/Kconfig, 配置内核,支持 NandFlash 。 启动时输出: S3C24XX NAND Driver, (c) 2004 Simtec Electronics s3c24xx-nand s3c2440-nand: Tacls=1, 10ns Twrph0=3 30ns, Twrph1=1 10ns s3c24xx-nand s3c2440-nand: NAND hardware ECC NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit) Scanning device for bad blocks Creating 3 MTD partitions on “NAND 256MiB 3,3V 8-bit“: 0x000000000000-0x000000100000 : “boot“ 0x000000120000-0x000000520000 : “kernel“ 0x000000520000-0x000010000000 : “yaffs2“ 支持 yaffs2 文件系统:下载 yaffs2 源码并解压,进入 yaffs2 目录, 给内核打上 yaffs2 文件系统的补丁,这时内核源码 fs 目录下多了一个 yaffs2 目录,同时 Makefile 文件和 Kconfig 文件也增加了 yaffs2 的配置和编译条件。 配置对 yaffs2 支持这部分配 置比较多,可根据自己的需要进行配置,把不用的文件系统都去掉就可以了。 支持 LCD:内核里已经有很完善的 LCD 驱动了,只要根据所用的 LCD 进行简单的修改, 在内核源码 drivers/video/s3c2410fb.c 是 LCD 驱动的源码,首先要设置 LCD 的时钟频 率, 在 s3c2410fb_display 结构体中加入了 setclkval 变量,我们需要在结构体原型中 加入这个变量,在 arch/arm/mach-s3c2410/include/mach/fb.h 中第 40 行加入: unsigned setclkval; /*clkval*/ 修改 LCD 参数配置并屏蔽掉第 150 行的语句,配置内 核,支持 LCD。 支持声卡:(1)在网上下了一个 uda1341 的驱动文件 s3c2440-uda1341.c 稍作修改后, 把它放到 linux2.6.14/sound/oss/目录下。(2) 修改 oss 目录下的 kconfig 文件,以便 在我们下面配置内核的时候可以选中它。(3) 修改 Makefile 文件,修改增加内存映射, 以使内核知道该虚拟地址可用,而且对应的物理地址是我们的声卡。修改 /arch/arm/mach-s3c2410/smdk-s3c2410。(4)配置完毕后,在 make menuconfig 后,选 择 driver-sound-oss-uda1341 ,即选择对声卡的支持。 济源职业技术学院毕业设计(论文) 3.4.43.4.4 根文件系统的制作根文件系统的制作 创建根文件系统目录:/bin,/etc,/dev,/home,/lib,/mnt,/pot,/proc,/root,/sbin, /sys,/tmp,/usr,/var 建一个名为 root_2.6.31,在文件夹下创建以上目录。编译 busybox,修改 Makefile 文件,执行#make menuconfig 进行配置 busybox,配置选项大部 分都是保持默认的。然后执行 #make make install 就会在上一级目录下生成 rootfs 文 件夹,里包含几个文件/bin/sbin/usr/linuxrc 把这些文件全部复制到刚建好的 root_2.6.31 目录下,用命令 #cp rf * /root_2.6.31 实现。接下来开始制作文件系 统,在 dev 目录下,创建设备节点,进入 etc 目录,添加文件:拷贝 Busbox- 1.15.2/examples/bootfloopy/ etc/*和/etc/passwd,/etc/group,/etx/shadow 到当前目录下。修改 inittab、fstab 、init.d/rcS 和 profile 文件内容。新建 sysconfig 文件夹,在里面新建 HOSTNAME 文 件,内容为:TX2440A 进入 lib 目录,然后拷贝交叉编译的库文件到 lib 目录下,文件 系统的框架已经做好。把制作好的文件系统烧写进 Nandflash 中的 yaffs2 镜像文件。我 们使用编译好的 mkyaffs2image 工具,把解压出来的可执行文件复制到/usr/bin 目录下。 最后制作文件系统镜像,root_2.6.31bin 就是 yaffs2 文件系统镜像,要先修改它的权限, 否则该文件无法被复制,把 root_2.6.31.bin 下载到 nandflash 中的文件系统分区中如 果文件系统能正常挂载,终端会打印出: Please press Enter to activate this console. Processing/etc/profile Done 济源职业技术学院毕业设计(论文) - 11 - 第四章MP3 播放器的制作与移植 4.14.1 MadplayMadplay 原理原理 madplay 是 linux 上的一个开源 mp3 播放器,是一个高精度 MPEG 音频解码库。支持 MPEG-1 Layer I, Layer II 和 LayerIII(也就是 MP3)标准,它利用 libmad 库进行 mp3 软解码。libmad 提供 24-bit 的 PCM 输出,完全定点计算,使用 libmad 提供的一 系列 API,就可以非常简单地实现 MP3 数据解码工作。在 libmad 的源代码文件目录下 的 mad.h 文件中,可以看到绝大部分该库的数据结构和 API 等。madplay 基于 libmad 还做了一些扩展功能,比如将 mp3 格式转成别的音频格式如 wav 等,又集成了 libid3tag 库进行 mp3 信息显示,非常适合在没有浮点支持的嵌入式硬件平台上使用。 libmad 主要数据结构如表 4-1 所示: 表 4-1 libmad 主要数据结构 主要数据结构作用 struct mad_stream 存放解码前的 Bitstream 数据 struct mad_synth 存放解码合成滤波后的 PCM 数据 struct mad_pcm 定义了音频的采样率,声道个数和 PCM 采样数据, 用来初始化音频 struct mad_frame 记录 MPEG 帧解码后 PCM 数据的数据结构,其中的 mad_Header 用来记录 MPEG 帧的基本信息,比如 MPEG 层数、声道模式、流比特率、采样比特率。声道模式 包括单声道、双声道、联合立体混音道以及一般立体 声。 4.24.2 移植到移植到 TX2440TX2440 开发板上开发板上 4.2.14.2.1 编译文件编译文件 我们需要在 home 下先建立两个文件夹,一个存放源码,一个存放安装文件,即 madplay-src 和 madplay 文件夹。依次解压四个源码包到 madplay-src 目录下。 (1) 编译 zlib-1.1.4 济源职业技术学院毕业设计(论文) 使用命令./configure -prefix=/home/madplay 进入 madplay 目录。配置 configure 文件并修改 Makefile 文件中的内容: CC=arm-linux-gcc AR=arm-linux- ar rc RANLIB=arm-linux-ranlib #make #make install (2) 编译 libid3tag #./configure CC=arm-linux-gcc -host=arm-linux -prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib #make #make install (3) 编译 libmad #./configure CC=arm-linux-gcc -host=arm-linux -prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib #make #make install (4) 编译 madplay #./configure CC=arm-linux-gcc -host=arm-linux -prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib #make (5)静态编译 以上是用动态编译的方法,程序运行时需依赖动态库文件。也可以采用静态编译的 方法,将静态库编译到程序中,运行时不需要动态库文件。在配置 libid3tag、libmad、madplay 时,加上参数“disable-shared -enable-static”即 可静态编译 madplay 。编译完成后只需将 madplay 复制到根文件系统/usr/bin 目录下, 不需要复制动态库。 4.2.24.2.2 移植移植 madplaymadplay 到到 TX2440TX2440 编译完成后在 madplay-0.15.2b 目录下生成 madplay 的可执行文件,需要的动态库 有 libmad.so.0、libid3tag.so.0、libm.so.6 和 libc.so.6 四个库。查看/usr/lib 目录 中有没有 libm.so.6 和 libc.so.6 库文件,如果没有,则将其拷贝到/usr/lib 目录下。 libmad.so.0 和 libid3tag.so.0 文件是在/madplay/lib/下生成的,也需要拷贝到 /usr/lib 下。 最后,将 madplay 也复制到根文件系统/usr/bin 目录下,找一个 MP3 文 济源职业技术学院毕业设计(论文) - 13 - 件也放在某一目录下,在开发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提升化妆品品牌的知名度计划
- 2024年小金县招聘事业单位人才笔试真题
- 软件设计师2025年考试必知试题及答案
- 计算机二级VB考试历年试题及答案分析
- 2024年温州平阳县委党校引进人才笔试真题
- 专注提升2025年法学概论考试试题及答案
- 软件技术员考前模拟试题及答案
- 重庆市南开(融侨)中学2025届八年级数学第二学期期末调研模拟试题含解析
- 高考数学阶段性复习试题及答案
- 领导电子商务品牌的发展计划
- 混凝土罐车运输合同协议
- 西部计划笔试试题及答案
- 重庆金太阳2025届高三5月联考英语及答案
- 护理事业编试题及答案
- 全国新能源汽车关键技术技能大赛理论知识竞赛题库
- 外籍人员雇佣合同(中英文对照)6篇
- 《不可或缺的医疗保障:课件中的健康险》
- 财产申报表-被执行人用
- 委托聘请演员合同协议
- 水库防汛知识培训
- 2025年贵州省遵义市中考一模英语试题(含笔试答案无听力原文及音频)
评论
0/150
提交评论