版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
欢迎使 特别...................................................................................................................................版本变更说 标准C库的使用说 概 标准C库的获取与使 glibc库的组 glibc库的组 AK39基本io设备的使用说 gpio设备的使用说 功能叙 接口说 打开/关闭Gpio设 系统调用ioctl接口参数的宏介 Gpio设备预留的空余gpio脚的个数 具体Gpio设备预留的空余的gpio 设置Gpio脚为输入/输出 作为输入脚的Gpio的电平 设置指定的Gpio为中断 删除Gpio脚的中断响 已经设置为中断响应的指定Gpio脚的中断响 Keypad设备的使用说 功能叙 接口说 打开/关闭Keypad设 按键UART设备的使用说 功能叙 接口说 参数定 打开/关闭串口设 串口属 设置串口波特 设置串口属 AK39高级设备使用说 ISP图像处 功能概 总体框 应用程序接 头文 结构体说 私有数据—打开次通 私有数据—设置OSD参 私有数据—设置隐私遮 私有数据—设置变 私有数据—设置缩 打开/关闭串口设 设置参数的私有接 打开/关闭Camera设 ioctl接口说 查询设备支持的属 设置输出图像的尺 请求缓冲 将缓冲区加入等待队列或者从等待队列移 启动/关闭数据流传 查询设备支持的控制功 查询参数里面某一个值对应的菜 查询参数里面某一个值对应的菜 查询缓冲区是否有数 Microphone& 功能概 接口说 参数定 打开pcm设 给包含硬件信息和PCM流配置的结构体分配空 初始化snd_pcm_hw_params_t的结构 初始化模 初始化采样模 设置采样 设置通道数 设置一次传送片段的个 设置snd_pcm_hw_params_t的结构体属 完成硬件参数设置,使设备准备 从PCM设备中读音频数 关闭PCM设备句 Headphone& 功能概 接口说 头文 参数定 打开pcm设 给包含硬件信息和PCM流配置的结构体分配空 初始化snd_pcm_hw_params_t的结构 初始化模 初始化采样模 设置采样 设置通道数 设置一次传送片段的个 设置snd_pcm_hw_params_t的结构体属 完成硬件参数设置,使设备准备 写音频数据到PCM设 关闭PCM设备句 SDcard的挂 USB 功能概 SD卡作为U盘的挂载方 USB 功能概 U盘或移动硬盘挂载的步 消息和使用说 关于Uevent.....................................................................................................功能概 接收uevent的例 SD卡插 功能概 接口使用说 USB的插 功能概 接口使用说 功能概 接口使用说 功能概 接口使用说 20147概glibcGNUlibccglibclinuxAPI,除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务 ,即gettext基本IO操作标准C库的获取与使用在我们的文件系统刚刚使用busybox生成的时候,是没有任何库的支持的,我们需要为其加入标准C库,需要还会另外加入各种软件运行的依赖库。那么,就标准C库而glibc库位置位于交叉编译工具的arm-4.3.2/arm-none-linux-gnueabi/libc中,这个除了标准的glibc库之外,还包含了一些其他的内容,下面将进行介绍:静态库.alibm.a、静态C++库libstdc++.a等,编译器在等,它们可能是接文件连接到其他.so库。编译动态库相关的应用程序时,会用到这glibc库的安装其实把这个包含动态C库的 第一步: 中,如图1-2所示连接到/lib下面的动态库。AK39基本iogpio设备的使用说明在我们的驱动中提供了gpio的设备,预留了一些空余的可被设置的gpio口,应用层可以调用相应的ioctrl,对这些gpio方便地进行包括输入,输出,中断响应等属性的打开/关闭Gpio设备Gpiofd=open(DEVICE_NAME,DEVICE_NAME为gpioioctl原型intioctl(intd,intrequest,下面将介绍gpio设备相关的ioctl的调用:ioctl宏 gpio脚个数的ioctl相关gpioioctl相关Gpioioctl相关Gpio为中断脚的ioctl相关Gpio脚的中断响应的ioctl相关Gpio脚中断响应的ioctl相关Gpio设备预留的空余gpio脚的个数名称Gpio设备预留的空余gpio脚的个数gpio驱动里预留的gpioret=ioctl(fd,GET_GPIO_NUM,ngpio是unsignedint变量,通过传入它Gpio设备预留的空余的gpio名称Gpiogpio能够返回预留的具体空余gpio的脚buff是unsignedint*变量,buffngpio设置Gpio脚为输入/输出脚名称ret=ioctl(fd,SET_GPIO_FUNC,gpiostructgpio_infogpio前:通过gpio.pin可以设定需要设置的gpio脚;通过gpio.dir可以把gpio设置为输入或者输出属性;通过gpio.value可以设Gpio名称作为输入脚的Gpio的电平值能够读出作为输入脚的gpioret=ioctl(fd,GET_GPIO_VALUE,gpio是structgpio_info的实例。在调用ioctl之前:通过gpio.pingpio脚;当调用完ioctl之后:通过gpio.value的值来Gpio名称Gpio能够把指定的gpioret=ioctl(fd,SET_GPIO_IRQ,gpio是structgpio_info的实例。在调用ioctl之前:通过gpio.pingpio通过_pol可以设置低电平/高电平触Gpio名称Gpio删除gpioret=ioctl(fd,DELETE_GPIO_IRQ,gpio是structgpio_info的实例。通过gpio.pin设定需要删除中断响应的gpioGpio名称等待已经设置为中断响应的指定Gpioret=ioctl(fd,LISTEN_GPIO_IRQ,gpio是structgpio_info的实例。通过gpio.pin设定需要等待中断响应的gpioKeypad设备的使用说明Keypad(按键)在底层驱动中,是通过一个input子系统,通过input的传步,如图2-1所示。打开/关闭Keypad设名称Keypad/dev/input/event1为keypad按名称判断出input设备是属于键盘,鼠标,还是触摸屏。read(fd,&event,eventstructinput_event取到的event里面各个成员可以判断到设备-1UART通用异步收发器UART,即”UniversalAsynchronousReceive”,它用来传输串行数据:发送数据时,CPU将并行数据写入UART,UART按照一定的格式在一根电线上串即可UART获得这些数据。UART之间以全双工方式传输数据,最精简的连线方法只有3根电线:TxD用于发送数据,RxD用于接收数据,Gnd用于给双方提供参考电平,连线如图2-4所示。串口的通讯应用还是相对比较广泛的,如在定位通信中的GPS数据接收,在安防针对不同设备的要求会有所不同。一般市场上大部分串口通信的设备数据位为8位,无奇偶验证,1位停止位。如遇到需要改变的,对串口参数进行相应修改即可。我们这里的串口0用于连接PC进行开发板的控制使用和调试,需要连接串口通信设备进行另外的开发的,可使用串口1,对应的串口设备,如图2-5所示。变量定义intintstructtermios名称fd=open("/dev/ttySAK0",/dev/ttySAK0为串口0串口属名称ret=tcgetattr(fd,opts是structtermios-1表示失败,0设置串口波特名称cfsetispeed(&opts,B115200);opts是structtermios的各个重要的属性。其中B115200-1表示失败,0表示成功设置串口属名称TCSANOW为设置串口属性的ioctl相关cmd。opts是structtermios的实例,其中opts.c_cflag-1表示失败,0表示成功AK39高级设备使用说明ISP图像处理ISP是AK39系列的图像信号处理模块,提供了非常强的功能,能对Sensor输出的数据进行后期的图像处理。下文中“camera”字意统指ISP和sensor。/(GBRG)/(BGGR)等顺序输入的RGBSensor,当输入的RAWISP有两个通道,分别为主通道和次通道。两个通道分别支持4区域内的遮挡,遮挡1~0.5倍的缩小,子通道的缩小支持1~1/8倍的一维缩小。ISP有4模式二、YUV模式(单帧/连续帧/单帧拼场/连续帧拼场)模式三、RGB模式(单帧/连续帧/单帧拼场/连续帧拼场)模式四、大图模式(YUV大图/RGB大图)并且支持YUV/RawRGB的图像处理功能,包括:亮度调节、对比度调节、饱和度调节、ISO滤波、OSD水印、时间戳显示、变焦/缩放处理、隐私遮挡等功能。RawRGB还制。如对比度调节、framebuffer的请求。异性。因此ISP模块也对图像的控制功能提供了私有数据结构体和接口。须二字的话,说明要使用ISP的功能,必须调用此接口,否则可能造成失败。头文Camera#include #include< #include<t-anyka/isp_interface.h>#include<akuio/akuio.h>结构体说变量定义intstructsstructstructstructstructstructstructstructstructstructstructstruct用来设置osd参数structstructstruct上面表格中定义的结构体大部分都是linuxV4L2子系统的标准接口,部分是根据ISP的功能设置了特有的私有接口。V4L2子系统定义的结构体请参考V4L2子系统相关原型struct{inttype;intwidth;intheight;inttype:必须为ISP_PARM_CHANNEL2.width:表示次通道输出的指定尺寸(宽).height:(高Enable:指定是否使能(1为使能,0为720x576),即宽高过ak_camera_set_fmt设置的宽高除了尺寸,原则,第二通道的YUVYUV道还是第二通道,ISP只能提供YUV420数据格式的输出,也就是说:第二通道数据地址=主通道数据地址+主通道宽*主通道高*32chl2_info=parm.parm.raw_data;chl2_info->enable=1;chl2_info->width=chl2_info->height=if(-1==xioctl(fd,VIDIOC_S_PARM,&parm))原型struct{intintintintstart_xpos;intend_xpos;intstart_ypos;intend_ypos;intenable;unsignedlongvirt_addr;type:必须为channelOSD1,2color_depth,表示颜色深度是16色(4位)还是4色(2位,主通道只支持16色,次通道支持4色和16色。color_transparency用来指定OSD区域要设置的,范围在016之间,0表示start_xpos和start_ypos表示OSD区域在图像中的起始位置,end_xpos和end_ypos,OSDphys_addr和virt_addrOSDenable,0表示关闭OSD显示,1表示开启。phys_addr必须是通过akuio分配的intosd_width,osd_height;staticchar*osd_buff=AK_NULL;parm.type=V4L2_BUF_TYPE__CAPTURE;structisp_osd_info*p_osd=parm.parm.raw_data;p_osd->type=ISP_PARM_OSD;p_osd->channel=p_osd->color_depth=p_osd->start_xpos=p_osd->start_ypos=p_osd->end_xpos=p_osd->end_ypos=p_osd->enable=osd_width=p_osd->end_xpos-p_osd->start_xpos+1;osd_height=p_osd->end_ypos-p_osd->start_ypos+1;picsize=osd_width*osd_height;osd_buff=akuio_alloc_pmem(picsize/2+picsize%2);if(!osd_buff1)return-memset(osd_buff1,0x00,(picsize/2+picsize%2));if(osd_buff!=AK_NULL){p_osd->phys_addr=}if(-1==xioctl(fd,VIDIOC_S_PARM,&parm))原型结用structisp_occlusion_color来设置遮挡区域的颜色类型,和设struct{inttype;intchannel;intintend_xpos;intend_ypos;intenable;struct{intintcolor_type;inttransparency; structisp_occlusion_infotype:channel表示要设置的目标通道,或第1通道,或第2number14则每个通道最多可设置4个遮挡点。start_xpos和start_ypos表示目标遮挡区域在图像中的起始位置,enable表示是否全能该遮挡点,0为关闭,1为打开。structisp_occlusion_color结构体type:必须为color_type表示遮挡区域的颜色类型,分别有0到33transparency表示颜色的,有0到15的值可供设置,0表示全 ponent和 在在color_type设置为0(替换色)才有效主通道和次通道分别支持4structisp_occlusion_info*oclu_info;color_info=parm.parm.raw_data;color_info->color_type=0;color_info->transparency=8; ponent=72; ponent=if(-1==xioctl(fd,VIDIOC_S_PARM,&parm))oclu_info=parm.parm.raw_data;oclu_info->number=1;if(-1==xioctl(fd,VIDIOC_S_PARM,&parm))原型structisp_zoom_infointtype*必须为ISP_PARM_ZOOM*/intchannel;intcut_xpos;intcut_ypos;intcut_width;intcut_height;intout_width;inttype:必须为ISP_PARM_ZOOM.channel:1cut_xpos,cut_ypos表示要被裁区域的起始位置,这个区域是相对于sensor输出到ISP的图像尺寸,即是ak_camera_set_fmtcut_width和cut_heightout_width,cut_height==out_height。应该注意,ISP3,缩小倍数为0.5,out_width和out_height分别过cut_width和cut_height的3倍,同时也不次通道不支持放大,仅支持1~1/8缩小。故channel变量在放大时只能配置为1。并且cut_window果sensor输出为RAWRGB时,还要加边界处理值18。即:cut_width>=ch2_out_width+18cut_height>=structv4l2_streamparmparm;zoom_info=parm.parm.raw_data;zoom_info->type=zoom_info->cut_xposzoom_info->cut_ypos=zoom_info->cut_width=zoom_info->out_width=zoom_info->out_height=if(-1==xioctl(fd,VIDIOC_S_PARM,&parm))原型struct{intintchannel;intcut_xpos;intcut_ypos;intcut_width;intcut_height;intout_width;inttype:必须为ISP_PARM_ZOOM.channel:1cut_xpos,cut_yposcut_xpos=0,cut_width和cut_height表示sensorak_camera_set_fmtout_widthout_height应该注意,ISP主通道最大支持的放大倍数为3,缩小倍数为0.5,即out_width和out_height分别过cut_width和cut_height的3次通道不支持放大,仅支持1~1/8缩小。故channel变量在放大时只能配置为1。并且cut_window果sensor输出为RAWRGB时,还要加边界处理值18。即:cut_width>=ch2_out_width+18cut_height>=structv4l2_streamparmparm;zoom_info=parm.parm.raw_data;zoom_info->type=//downzoom_info->cut_xpos=zoom_info->cut_ypos=zoom_info->cut_width=zoom_info->out_width=zoom_info->out_height=if(-1==xioctl(fd,VIDIOC_S_PARM,上面讲的几种功能,打开次通道,设置OSD参数,设置隐私遮档,设置变焦,设置缩ioctl功能参数设置请参考小节。原型ret=xioctl(fd,VIDIOC_S_PARM,fd是camera打开/关闭Camera设原型Camera设备(必须通过调用接口打开Camera不支持多Camera操作fd= 0",O_RDWR|所有参数同Linux-1,openioctl接口说明原型intioctl(intd,intrequest,ioctl的编号,详细描述见下面。下面将介绍设备相关的ioctl的调用名称名称cropstructv4l2_crop名称retval=ioctl(fd,VIDIOC_QBUF,&buf);buf是structv4l2_buffer的实例,应用程序应除了设产生错误).由于驱动只接收物理连续的地址,传下来的虚拟用户空间地址应该必须是用akuio库申请的地址,当ioctlVIDIOC_DQBUFioctl1(函数调用发生错误并且errno为EIO,表明camera发生到错误数据帧的异址Queue通过调用ioctl(VIDIOC_DQBUF)返回到camera驱动空间管理队列中。否则camera驱动将失去该内存空间。ret=ioctl(handle->fd,VIDIOC_DQBUF,&(buf));if(ret<0){if(errno==EIO)if(-1==ioctl(fd,&buf)){}}名称retval=ioctl(fd,VIDIOC_REQBUFS,req是structv4l2_requestbuffers名称retval=ioctl(fd,VIDIOC_STREAMON,&type);typeenumv4l2_buf_type名称查询驱动是否支持的某一个Cameraqc是structv4l2_queryctrl应的ID,如V4L2_CID_DO_WHITE_BALANCE等,若名称QUERYCTRL驱动支持的参数ID后,获取相应的设置值,可以查得此值对应的retval=ioctl(fd, ,qm是structv4l2_query 的实例,应用程序填好ID和相应的值,驱动会返回相应的描述。名称Camera参数(可选设置相应Cameraretval=ioctl(fd,VIDIOC_S_CTRL,ctrl是structv4l2_control的ID和取回来的设置值则好。名称retval=select(fd+1,&fds,NULL,NULL,fdcamera,fds于0的数,接着就可以去队列中取数据了Microphone&Microphone&Linein是关于音频的模块,在linux下进行音频编程时,我们一般使用alsa声卡驱动的体系架构。ALSA简化了应用程序的编写,提供了相应的函数库,与OSS提供的基于ioctl的原始编程接口相比,ALSA函数库使用起来要更加方便一些。下面将介绍在音频录制时,用到的alsa函数库的相关接口。变量 snd_pcm_tPCM硬件信息和PCMintpcm名称打开pcm打开pcm设备,传出PCM设备句柄SND_PCM_STREAM_CAPTURE,0);pcm_handle为PCM设备句柄;default表示默认值的意思,一般都使用这个值;0表示标准配置;SND_PCM_STREAM_CAPTURE表示操作的宏。PCM名称分配snd_pcm_hw_params_tret=hw_params为snd_pcm_hw_params_tsnd_pcm_hw_params_t名称snd_pcm_hw_params_tpcm_handle为PCM设备句柄;hw_params为名称pcm_handle为PCM设备句柄;hw_params为snd_pcm_hw_params_t结构体的一个指针;SND_PCM_ACCESS_RW_INTERLEAVED名称pcm_handle为PCM设备句柄;hw_params为snd_pcm_hw_params_t结构体的一个指针;SND_PCM_FORMAT_S16_LE为Signed16-bit名称hw_params,&rate,0);pcm_handle为PCM设备句柄;hw_params为snd_pcm_hw_params_t;rate采样率的变量,最后一个参数,一般设置为0即可。名称pcm_handle为PCM设备句柄;hw_params为snd_pcm_hw_params_t;1名称PERIOD,0);pcm_handle为PCM设备句柄;hw_params为snd_pcm_hw_params_t;PERIOD般设置为0即可。snd_pcm_hw_params_t名称ret=snd_pcm_hw_params(pcm_handle,pcm_handle为PCM设备句柄;hw_params为名称当设置完hw_paramspcmret=pcm_handle为PCMPCM名称PCMret=snd_pcm_readi(pcm_handle,data,pcm_handle为PCM设备句柄;data为一个buff的大小为PERIOD*2*1(*8*;PERIOD返回写入的PERIODPCM名称ret=pcm_handle为PCMHeadphone&Headphone&Lineout是关于音频的模块,在linux下进行音频编程时,我们一般使用alsa声卡驱动的体系架构。ALSA简化了应用程序的编写,提供了相应的函数库,与OSS提供的基于ioctl的原始编程接口相比,ALSA函数库使用起来要更加方便一些。下面将介绍在音频时,用到的alsa函数库的相关接口。#include变量 snd_pcm_tPCM硬件信息和PCMintpcm名称SND_PCM_STREAM_YBACK,0);pcm_handle为PCM设备句柄;default表示默认值的意思,一般都使用这个值;0表示标准配置;PCM名称分配snd_pcm_hw_params_tret=hw_params为snd_pcm_hw_params_tsnd_pcm_hw_params_t名称snd_pcm_hw_params_tpcm_handle为PCM设备句柄;hw_params为名称snd_pcm_hw_params_tpcm_handle为PCM设备句柄;hw_params为snd_pcm_hw_params_t结构体的一个指针;SND_PCM_ACCESS_RW_INTERLEAVED名称pcm_handle为PCM设备句柄;hw_params为snd_pcm_hw_params_t结构体的一个指针;SND_PCM_FORMAT_S16_LE为Signed16-bit名称&rate,0);pcm_handle为PCM设备句柄;hw_params为snd_pcm_hw_params_t;rate采样率的变量,最后一个参数,一般设置为0即可。名称pcm_handle为PCM设备句柄;hw_params为snd_pcm_hw_params_t;2声道(立体声,也可设置成1表示单声道。名称PERIOD,0);pcm_handle为PCM设备句柄;hw_params为snd_pcm_hw_params_t;PERIOD般设置为0即可。snd_pcm_hw_params_t名称ret=snd_pcm_hw_params(pcm_handle,pcm_handle为PCM设备句柄;hw_params为名称当设置完hw_paramspcmret=pcm_handle为PCMPCM设备名称PCMret=snd_pcm_writei(pcm_handle,data,pcm_handle为PCM设备句柄;data为一个buff的大小为PERIOD*2*2(*8*;PERIOD返回写入的PERIODPCM名称ret=pcm_handle为PCMwifi的操作使用请参考<<Linux平台Wifi模块用户操作指南_V1.0.0.doc>>文档,里描(包括扫描AP、信号强度、以及网络速度等、设置wifi作为softAP、工作站的方式,以及应用程序如何移植wifi工具到自己的应用等。SDcard的挂载当我们把sdsdsd卡进行。下面演示一下挂载sd卡的步骤。/dev下会多了一个mmcblk0p1的设备,该设备为sd卡设备,如图3-4所示。第二步:把sd卡设备挂载上,我们这里将其挂载到/mnt 下,即可通过/mnt目录sd卡里面的内容,如图3-5所示。第三步:通过挂载后的 实现sd卡文件的传输。可以通过 sd卡里面的文件拷贝出来,也可以通过 把文件拷贝到sd卡。如图3-6所示是不能成功被写入的,如图3-7所示。USBUsbslave可以把开发板模拟成u盘、网卡、声卡等设备连接到pc机作为从设备,而pc机上的usb为主设备。这里只介绍如何模拟成u盘。在使用时,通过我们提供的驱动模块(该模块已经集成到文件系统的/root下),使用动态插入的方式,把开发板上的nandflash的分区或者sd卡作为一个虚拟的U盘,挂载到PC上,使PC能够开发板上的nandflash分区或者sd卡。SD卡作为U我们把SD卡插入到开发板后,把SD卡虚拟成U盘挂载到PC上,使PC能够SD卡的内容,下面将演示sd卡的U盘挂载过程。第一步:插入SD卡,即可在/dev下识别到SD卡的设备(ls/dev/mmcblk0p1),如图3-17所示。动模块,介质为SD卡(/dev/mmcblk0p1,完成SD卡的U盘挂载stall=0图3-18所示。第三步:完成挂载后,这时PCSD图3-19所示。第四步:当我们完成对移动磁盘进行拷贝之后,我们可以卸载掉sd卡的U(rmmodg_mass_storage,同时运行下sync3-20第五步:在开发板上对SD卡的内容进行,需要对SD卡进行挂载(1./dev/mmcblk0p1/tmp2.ls/tmp),如图3-21SD卡文件进行的详细介绍,可以查看3.8节SD卡的挂载的相关内容。USBUsbhostu盘、usb用来扩展开发板的功能,这里只介绍如何挂载u盘使用。我们通过开发板usb_otg口的host功能,把U盘或移动硬盘挂载到开发板上,使开发板可以U盘或移动硬盘上的内由于USBOTGusb(分为hostudc)编译成模块。此功能是把usbotghostotg-hs.ko即可。第一步:加载otg-hs.ko驱动insmodotg-第二步:把U盘插入USB_OTG口。第三步:运行fdisk-l查看U盘的设备节点位置,如图3-36所示,我们这里的U盘位置是/dev/sdb1上。/如图3-10-2-6所示第五步:完毕后,在U盘拔出之前,要对U盘进行卸载,运行umount/mnt命令,其中/mnt是对应U盘的挂载 关于Ueventuevent,即userspaceevent,指内核向用户空间发出的一个通知,使相应的应用程序(如udev、mdev等)有机会对该作出处理。当内核设备或者驱动时,内核会调用uevent例程向用户空间发出通知并输出环境变量,以表明设备的状态(添加或者移除,用户空间的udev或者mdev就会捕捉到这些,根据匹配的规则作出相应的处理,比如在/dev下生成设备节点或者使用modprobe加载驱动程序等等,从而要实现热插拔机制,就需要有用户空间的程序配合。对于PC端的Linux系统,采用的是udevd服务程序,其通过NETLINK_KOBJECT_UEVENT获得内核发出的uevent事件和环境变量,然后查找匹配的udev规则,根据找到的规则作出相应的处理。在每个的device文件夹下会生成一个uevent属性文件,其作用就是实现手动触 uevent,这样udev服务程序就有机会处理这些了。在嵌入式系统中使用的是mdev,在启动rcS中会有这样一句命令/sbin/mdev–s,其作用就是扫描/sys 所有的uevent属性文件,向其写入“add”命令,触发uevent,从而mdev有机会接收uevent的例接收uevent的例程为通过一个特定的socket内核发出的uevent,具体#include<stdio.h>#i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 班主任工作范文七年级一班工作计划
- 城市轨道交通电气集中进路办理方法培训课件
- 新郎婚礼致辞10篇
- 高一政治:6.2中国共产党:立党为公 执政为民
- 二建法规真题和答案
- 临床试验合同保险条款
- 房租租赁合同的特殊内容
- 合同试运行条款
- 昭苏课件教学课件
- 《动漫形象设计》课件
- 生物质固体成型燃料试验方法
- 海南省建筑施工现场安全生产管理资料(一册和二册)
- 2023年中国铁路南宁局招聘笔试参考题库附带答案详解
- 解、续聘物业服务意见单 选聘物业服务企业选票
- 李孟潮个体心理咨询的操作
- 人工智能课题研究报告PPT模板
- 概率期末考试试题答案《概率论与数理统计B》
- 大学校园交通规划以南京林业大学为例
- 山东2023泰安银行春季校园招聘25人上岸提分题库3套【500题带答案含详解】
- GB/T 11446.9-2013电子级水中微粒的仪器测试方法
- GB 8537-2018食品安全国家标准饮用天然矿泉水
评论
0/150
提交评论