




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
嵌入式課程設計報告一、課程設計目的1.1掌握linux開發(fā)環(huán)境的搭建;1.2鞏固嵌入式交叉編譯的開發(fā)思想;1.3掌握嵌入式GUI軟件設計技。,.
課程設計規(guī)定輸入信號為1路AV視頻信號,規(guī)定系統(tǒng)能對1路輸入信號進行實時采集,數(shù)字化解決,壓縮,存儲,要保證一定的錄像質(zhì)量.根據(jù)設計題目的規(guī)定,選擇擬定ARM芯片型號,視頻采集芯片型號,完畢系統(tǒng)硬件設計和程序設計.課程設計內(nèi)容
設計原理ARM10系列微解決器為低功耗的32位RISC解決器,最適合用于對價位和功耗要求較高的消費類應用.ARM10系列微解決器的重要應用領(lǐng)域為:工業(yè)控制,Internet設備,調(diào)制解調(diào)器設備,移動電話等多種多媒體和嵌入式應用.視頻監(jiān)控系統(tǒng)總體設計一方面需要對系統(tǒng)進行總體規(guī)劃,將系統(tǒng)劃提成幾個功能模塊,擬定各個模塊的實現(xiàn)方法.整個視頻監(jiān)控系統(tǒng)采用C/S結(jié)構(gòu),從主體上分為兩部分:服務器端和客戶端.服務器端重要涉及S3C4510平臺上運營的采集,壓縮,傳輸程序,客戶端是PC機上運營的接受,解壓,回放程序.視頻監(jiān)控終端從攝像頭捕獲實時的視頻信息,壓縮之后通過以太網(wǎng)傳輸?shù)揭曨l監(jiān)控服務器上.視頻圖像采集和打包發(fā)送在服務器端完畢,圖像的接受解包和回放將在客戶端完畢.采集圖像數(shù)據(jù)壓縮打包發(fā)送接受系統(tǒng)的硬件設計系統(tǒng)采用模塊化設計方案,重要涉及以下幾個模塊:主控制器模塊,儲存電路模塊,外圍接口電路模塊,電源和復位電路,S3C4510主控器模塊主控器模塊是整個系統(tǒng)的核心,采用的S3C4510B解決器.Samsung公司的S3C4510B是基于以太網(wǎng)應用系統(tǒng)的高性價比16/32位RISC微控制器,內(nèi)含一個由ARM公司設計的16/32位ARM7TDMIRISC解決器核,ARM7TDMI為低功耗,高性能的16/32核,系統(tǒng)存儲電路模塊主控器還需一些外圍存儲單元如NandFlash,和SDRAM.NandFlash中包含Linux的Bootloader,系統(tǒng)內(nèi)核,文獻系統(tǒng),應用程序以及環(huán)境變量和系統(tǒng)配置文獻等;SDRAM讀寫速度快,系統(tǒng)運營時把它作為內(nèi)存單元使用.外圍電路模塊外圍電路重要是以下幾個電路,復位電路圖,電源電路圖以及JTAG電路,三、課程設計設備及工具硬件:UP-NETARM2410-S嵌入式實驗儀、PC機、ov511攝像頭;軟件:PC機操作系統(tǒng)REDHATLINUX9.0、MINICOM、AMR-LINUX開發(fā)環(huán)境。四、設計方案本次課程設計采用arm10開發(fā)平臺。該平臺采用Samsung公司的解決器S3C2410。該解決器內(nèi)部集成了ARM公司ARM920T解決器核的32位微控制器,資源豐富,帶獨立的16KB的指令Cache和16KB數(shù)據(jù)Cache、LCD控制器、RAM控制器、NAND閃存控制器、3路UART、4路DMA、4路帶PWM的Timer、并行I/O口、8路10位ADC、TouchScreen接口、I2C接口、I2S接口、2個USB接口控制器、2路SPI,主頻最高可達203MHz。在解決器豐富資源的基礎上,還進行了相關(guān)的配置和擴展,平臺配置了16MB16位的Flash和64MB32位的SDRAM。通過以太網(wǎng)控制器芯片DM9000E擴展了一個網(wǎng)口,此外引出了一個HOSTUSB接口。通過在USB接口上外接一個帶USB口的攝像頭,將采集到的視頻圖像數(shù)據(jù)放入輸入緩沖區(qū)中。然后,對緩沖區(qū)中的視頻數(shù)據(jù)進行壓縮成幀,并把每一幀圖片在網(wǎng)頁中顯示出來,每秒鐘刷新兩次,得到一個動態(tài)的視頻界面,然后通過局域網(wǎng)訪問該主機的網(wǎng)頁,得到網(wǎng)絡視頻信息。本次課程設計重要是完畢得到視頻圖片及網(wǎng)頁刷新的過程。本次設計規(guī)定在局域網(wǎng)環(huán)境中進行。五、開發(fā)環(huán)境配置5.1攝像頭驅(qū)動加載在Linux下,設備驅(qū)動程序可以當作Linux內(nèi)核與外部設備之間的接口。設備驅(qū)動程序向應用程序屏蔽了硬件實現(xiàn)了的細節(jié),使得應用程序可以像操作普通文獻同樣來操作外部設備,可以使用和操作文獻中相同的、標準的系統(tǒng)調(diào)用接口函數(shù)來完畢對硬件設備的打開、關(guān)閉、讀寫和I/O控制操作,而驅(qū)動程序的重要任務也就是要實現(xiàn)這些系統(tǒng)調(diào)用函數(shù)。本系統(tǒng)平臺使用的嵌入式arm-Linux系統(tǒng)在內(nèi)核重要功能上與Linux操作系統(tǒng)沒本質(zhì)區(qū)別。Video4Linux(簡V4L)是Linux中關(guān)于視頻設備的內(nèi)核驅(qū)動,它為針對視頻設備的應用程序編程提供一系列接口函數(shù),這些視頻設備涉及現(xiàn)今市場上流行的TV卡、視頻捕獲卡和USB攝像頭等。ov511的驅(qū)動,2.4的內(nèi)核中就有,所以我們只需重新編譯內(nèi)核,將下邊的選項都選上,然后重新燒寫內(nèi)核就可以了。也就是直接靜態(tài)加載。
(1)在armlinux的kernel目錄下makemenuconfig。
(2)一方面(*)選擇Multimediadevice->下的Videoforlinux。加載video4linux模塊,為視頻采集設備提供編程接口;
(3)然后在usbsupport->目錄下(*)選擇supportforusb和usbcameraov511support。這使得在內(nèi)核中加入了對采用OV511接口芯片的USB數(shù)字攝像頭的驅(qū)動支持。
(4)保存配置退出。
(5)makedep;makezImage就生成了帶有ov511驅(qū)動的內(nèi)核。
接下來就通過uboot將內(nèi)核燒到flash里去。這時你將攝像頭插上,系統(tǒng)就會提醒發(fā)現(xiàn)攝像頭-ov511+,這說明驅(qū)動正常。:-),驅(qū)動加載就成功了。5.2安裝jpeg庫在地址/graphics/jpeg/jpegsrc.v6b.tar.gz中下載jpeg庫的壓縮包。
#tar-zxvfjpegsrc.v6b.tar.gz//解壓庫文獻
#cdjpeg-6b
#./configure--prefix=/usr/local/jpeg6--enable-shared//生成MAKEFILE文獻#make//編譯安裝文獻#mkdir/usr/local/jpeg6#mkdir/usr/local/jpeg6/include#mkdir/usr/local/jpeg#mkdir/usr/local/jpeg/lib#mkdir/usr/local/jpeg/bin#mkdir/usr/local/jpeg/man#mkdir/usr/local/jpeg/man/man1//建立生成安裝文獻的目錄#makeinstall-lib/生成安裝文獻#makeinstall//開始安裝文獻設計過程6.1硬件設計系統(tǒng)的主體設計思想是將視頻前端和嵌入式Web服務器整合在一起,攝像頭通過USB接口和嵌入式系統(tǒng)板的USBHOST相連,攝像頭采集來的視頻信號通過壓縮后,通過內(nèi)部總線傳送到內(nèi)置的Web服務器,客戶端采用瀏覽器/服務器結(jié)構(gòu)(即B/S結(jié)構(gòu)),可以通過IE瀏覽器訪問視頻Web服務器,以便查看所監(jiān)控的視頻畫面,并且,用戶還可以控制平臺對鏡頭的動作或?qū)ο到y(tǒng)進行配置控制。網(wǎng)絡視頻采集系統(tǒng)是由視頻監(jiān)控終端和視頻監(jiān)控中心組成,終端使用嵌入式系統(tǒng)加上USB攝像頭,在Linux操作系統(tǒng)上運營USB攝像頭的驅(qū)動和相應的視頻采集解決傳輸程序,得到視頻監(jiān)控畫面,并畫面通過網(wǎng)絡傳輸,監(jiān)控中心運營監(jiān)控軟件端,通過Internet瀏覽器來瀏覽終端送來的監(jiān)控畫面,其硬件連接圖如下所示:網(wǎng)絡視頻采集硬件連接圖從圖中可以看出,PC機部分可以直接采用IE瀏覽器,不需要在PC機上運營其他的軟件,重要設計工作是開發(fā)板端的設計。視頻監(jiān)控終端重要有兩個部分組成,硬件部分涉及攝像頭和開發(fā)平臺的選擇;軟件部分涉及系統(tǒng)級軟件(BootLoader,嵌入式操作系統(tǒng),USB驅(qū)動程序)與用戶級軟件(應用程序)。6.2軟件設計Video4linux為應用程序提供了一系列的接口函數(shù),通過這些函數(shù),可以執(zhí)行打開、讀寫、關(guān)閉等基本操作。設備驅(qū)動提供了read、write、open、close等函數(shù)的具體實現(xiàn),在內(nèi)核這些函數(shù)都可以調(diào)用。視頻采集流程圖如下所示:視頻采集流程圖運用V4L編寫的視頻采集程序重要代碼如下,下列代碼包含采集編碼程序一些關(guān)鍵函數(shù)。程序中定義的數(shù)據(jù)結(jié)構(gòu)struct_v4l_struct{intfd;//保存打開視頻文獻的設備描述符structvideo_capabilitycapability;structvideo_picturepicture;structvideo_mmapmmap;structvideo_mbufmbuf;unsignedchar*map;//用于指向圖像數(shù)據(jù)的指針intframe_current;intframe_using[VIDEO_MAX_FRAME];//這兩個變量用于雙緩沖};typedefstruct_v4l_structv4l_device;這些數(shù)據(jù)結(jié)構(gòu)都是由Video4Linux支持的,它們的用途如下:*video_capability包含攝像頭的基本信息,例如設備名稱、支持的最大最小分辨率、信號源信息等;*voide_picture包含設備采集圖像的各種屬性,如brightness(亮度)、hue(色調(diào))、contrast(對比度)、whiteness(色度)、color(深度)等;*video_mmap用于內(nèi)存映射;*voido_mbuf運用mmap進行映射的幀信息,事實上是輸入到攝像頭存儲器緩沖中的幀信息,涉及size(幀的大小)、frames(最多支持的幀數(shù))、offsets(每幀相對基址的偏移)。程序中用到的重要系統(tǒng)調(diào)用函數(shù)有:open("/dev/voideo0",intflags)、close(fd)、mmap(void*start,size_tlength,intprot,intflags,intfd,off_toffset)、munmap(void*start,size_tlength)和ioctl(intfd,intcmd,…)。前面提到Linux系統(tǒng)中把設備當作設備文獻,在用戶空間可以通過標準的I/O系統(tǒng)調(diào)用函數(shù)操作設備文獻,從而達成與設備通信交互的目的。當然,在設備驅(qū)動中要提供對這些函數(shù)的相應支持。這里說明一下ioctl(intfd,intcmd,…)函數(shù),它在用戶程序中用來控制I/O通道,其中,fd代表設備文獻描述符,cmd代表用戶程序?qū)υO備的控制命令,省略號一般是一個表達類型長度的參數(shù),也可沒有。(2)采集程序?qū)崿F(xiàn)過程一方面打開視頻設備,攝像頭在系統(tǒng)中相應的設備文獻為/dev/video0,采用系統(tǒng)調(diào)用函數(shù)grab_fd=open("/dev/video0",O_RDWR),grab_fd是設備打開后返回的文獻描述符(打開錯誤返回-1),以后的系統(tǒng)調(diào)用函數(shù)就可使用它來對設備文獻進行操作了。接著,運用ioct1(grab_fd,VIDIOCGCAP,&grab_cap)函數(shù)讀取structvideo_capability中有關(guān)攝像頭的信息。該函數(shù)成功返回后,這些信息從內(nèi)核空間拷貝到用戶程序空間grab_cap各成員分量中,使用printf函數(shù)就可得到各成員分量信息,例如printf("maxheight=%d",grab_fd.maxheight)獲得最大垂直分辨率的大小。不規(guī)則用ioct1(grab_fd,VIDIOCGPICT,&grab_pic)函數(shù)讀取攝像頭緩沖中voideo_picture信息。在用戶空間程序中可以改變這些信息,具體方法為先給分量賦新值,再調(diào)用VIDIOCSPICTioct1函數(shù),例如:grab_fd.depth=3;if(ioct1(grab_fd,VIDIOCSPICT,&grab_pic)<0){perror("VIDIOCSPICT");return-1;};完畢以上初始化設備工作后,就可以對視頻圖像截取了,有兩種方法:一種是read()直接讀取;此外一種mmap()內(nèi)存映射。Read()通過內(nèi)核緩沖區(qū)來讀取數(shù)據(jù);而mmap()通過把設備文獻映射到內(nèi)存中,繞過了內(nèi)核緩沖區(qū),最快的磁盤訪問往往還是慢于最慢的內(nèi)存訪問,所以mmap()方式加速了I/O訪問。此外,mmap()系統(tǒng)調(diào)用使得進程之間通過映射同一文獻實現(xiàn)共享內(nèi)存,各進程可以像訪問普通內(nèi)存同樣對文獻進行訪問,訪問時只需要使用指針而不用調(diào)用文獻操作函數(shù)。由于mmap()的以上優(yōu)點,所以在程序?qū)崿F(xiàn)中采用了內(nèi)存映射方式,即mmap()方式。運用mmap()方式視頻裁取具體進行操作如下。①先使用ioct1(grab_fd,VIDIOCGMBUF,&grab_vm)函數(shù)獲得攝像頭存儲緩沖區(qū)的幀信息,之后修改voideo_mmap中的設立,例如重新設立圖像幀的垂直及水平分辨率、彩色顯示格式。可運用如下語句grab_buf.height=240;grab_buf.width=320;字串8grab_buf.format=VIDEO_PALETTE_RGB24;②接著把攝像頭相應的設備文獻映射到內(nèi)存區(qū),具體使用grab_data=(unsignedchar*)mmap(0,grab_vm.size,PROT_READ|PROT_WRITE,MAP_SHARED,grad_fd,0)操作。這樣設備文獻的內(nèi)容就映射到內(nèi)存區(qū),該映射內(nèi)容區(qū)可讀可寫并且不同進程間可共享。該函數(shù)成功時返回映像內(nèi)存區(qū)的指針,挫敗時返回值為-1。下面對單幀采集和連續(xù)幀采集進行說明:*單幀采集。在上面獲取的攝像頭存儲緩沖區(qū)幀信息中,最多可支持的幀數(shù)(frames的值)一般為兩幀。對于單幀采集只需設立grab_buf.frame=0,即采集其中的第一幀,使用ioctl(grab_fd,VIDIOCMCAPTURE,&grab_buf)函數(shù),若調(diào)用成功,則激活設備真正開始一幀圖像的截取,是非阻塞的。接著使用ioct1(grab_fd,VIDIOCSYNC,&frame)函數(shù)鑒定該幀圖像是否截取完畢,成功返回表達截取完畢,之后就可把圖像數(shù)據(jù)保存成文獻的形式。測試與實現(xiàn)(1)仔細檢查設備的連接,打開電源;(2)在PC機上的瀏覽器中地址欄輸入開發(fā)板地址,網(wǎng)頁自動跳到開發(fā)板的首頁;(3)在頁面上可見攝像頭采集到的視頻信息。經(jīng)驗證,本次設計基本達成設計規(guī)定。設計心得本次課程設計通過運用嵌入式技術(shù),圖形解決技術(shù)等,完畢了網(wǎng)絡視頻的采集過程,進一步熟悉了交叉編譯的開發(fā)方法,在開發(fā)的過程中,碰到很多問題,如驅(qū)動無法加載,程序調(diào)試犯錯等,通過重新編譯開發(fā)板內(nèi)核、安裝圖形解決庫等,解決了多個問題,在解決問題的過程中,我們對嵌入式的開發(fā)過程多了一些細節(jié)的結(jié)識,為以后的連續(xù)學習鞏固了基礎。在設計過程中,我們分工合作,一起進步,不只從理論上對嵌入式有了更深的結(jié)識,同時從實踐中驗證了學習的理論知識,對嵌入式有了更深一步的結(jié)識。源程序清單#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<sys/ioctl.h>#include<sys/mman.h>#include<errno.h>#include<linux/videodev.h>#include<jpeglib.h>#include<unistd.h>#include<math.h>#include<errno.h>#include<string.h>#include<signal.h>#include<pthread.h>#include<sys/time.h>#include<sys/mman.h>#include<getopt.h>#defineWIDTH640#defineHEIGHT480#defineDEFAULT_DEVICE"/dev/v4l/video1"intwrite_jpeg(char*filename,unsignedchar*buf,intquality,intwidth,intheight,intgray){structjpeg_compress_structcinfo;structjpeg_error_mgrjerr;FILE*fp;inti;unsignedchar*line;intline_length;if(NULL==(fp=fopen(filename,"w"))){fprintf(stderr,"grab:can'topen%s:%s\n",filename,strerror(errno));return-1;}cinfo.err=jpeg_std_error(&jerr);jpeg_create_compress(&cinfo);jpeg_stdio_dest(&cinfo,fp);cinfo.image_width=width;cinfo.image_height=height;cinfo.input_components=gray?1:3;cinfo.in_color_space=gray?JCS_GRAYSCALE:JCS_RGB;jpeg_set_defaults(&cinfo);jpeg_set_quality(&cinfo,quality,TRUE);jpeg_start_compress(&cinfo,TRUE);line_length=gray?width:width*3;for(i=0,line=buf;i<height;i++,line+=line_length)jpeg_write_scanlines(&cinfo,&line,1);jpeg_finish_compress(&(cinfo));jpeg_destroy_compress(&(cinfo));fclose(fp);/////////////////////////////////////////////////////////////////////charfn1[30]="/var/www/pic001.jpg";charfn2[30]="/var/www/pic002.jpg";if(NULL==(fp=fopen(fn1,"r"))){fclose(fp);remove(fn1);}rename(fn2,fn1);/////////////////////////////////////////////////////////////////////return0;}//這個函數(shù)很通用,它的作用是把buf中的數(shù)據(jù)壓縮成jpeg格式。struct_v4l_struct{intfd;//保存打開視頻文獻的設備描述符structvideo_capabilitycapability;structvideo_picturepicture;structvideo_mmapmmap;structvideo_mbufmbuf;unsignedchar*map;//用于指向圖像數(shù)據(jù)的指針intframe_current;intframe_using[VIDEO_MAX_FRAME];//這兩個變量用于雙緩沖};typedefstruct_v4l_structv4l_device;externintv4l_open(char*,v4l_device*);externintv4l_close(v4l_device*);externintv4l_get_capability(v4l_device*);externintv4l_get_picture(v4l_device*);externintv4l_get_mbuf(v4l_device*);externintv4l_set_picture(v4l_device*,int,int,int,int,int);externintv4l_grab_picture(v4l_device*,unsignedint);externintv4l_mmap_init(v4l_device*);externintv4l_grab_init(v4l_device*,int,int,int);externintv4l_grab_frame(v4l_device*,int);externintv4l_grab_sync(v4l_device*);intv4l_open(char*dev,v4l_device*vd){dev=DEFAULT_DEVICE;if((vd->fd=open(dev,O_RDWR))<0){perror("v4l_open");return-1;}if(v4l_get_capability(vd))return-1;if(v4l_get_picture(vd))return-1;//這兩個函數(shù)就是即將要完畢的獲取設備信息的函數(shù)return0;}intv4l_get_capability(v4l_device*vd){if(ioctl(vd->fd,VIDIOCGCAP,&(vd->capability))<0){perror("v4l_get_capability:");return-1;}return0;}intv4l_get_picture(v4l_device*vd){if(ioctl(vd->fd,VIDIOCGPICT,&(vd->picture))<0){perror("v4l_get_picture:");return-1;}return0;}intv4l_get_mbuf(v4l_device*vd){if(ioctl(vd->fd,VIDIOCGMBUF,&(vd->mbuf))<0){perror("v4l_get_mbuf:");return-1;}return0;}intv4l_set_picture(v4l_device*vd,intbr,inthue,intcol,intcont,intwhite){/*if(br)*/vd->picture.brightness=25000;/*if(hue)*/vd->picture.hue=25000;/*if(col)*/vd->picture.colour=65535;/*if(cont)*/vd->picture.contrast=30000;/*if(white)*/vd->picture.whiteness=25000;if(ioctl(vd->fd,VIDIOCSPICT,&(vd->picture))<0){perror("v4l_set_picture:");return-1;}return0;}intv4l_grab_picture(v4l_device*vd,unsignedintsize){if(read(vd->fd,&(vd->map),size)==0)return-1;return0;}intv4l_mmap_init(v4l_device*vd){if(v4l_get_mbuf(vd)<0)return-1;if((vd->map=mmap(0,vd->mbuf.size,PROT_READ|PROT_WRITE,MAP_SHARED,vd->fd,0))<0){perror("v4l_mmap_init:mmap");return-1;}return0;}intv4l_grab_init(v4l_device*vd,intwidth,intheight,intpal){vd->mmap.width=width;vd->mmap.height=height;pal=vd->picture.palette;vd->mmap.format=pal;vd->frame_current=0;vd->frame_using[0]=FALSE;vd->frame_using[1]=FALSE;returnv4l_grab_frame(vd,0);}//真正獲得圖像的函數(shù)externintv4l_grab_frame(v4l_device*,int);intv4l_grab_frame(v4l_device*vd,intframe){if(vd->frame_using[frame]){fprintf(stderr,"v4l_grab_frame:frame%disalreadyused.\n",frame);return-1;}vd->mmap.frame=frame;if(ioctl(vd->fd,VIDIOCMCAPTURE,&(vd->mmap))<0){perror("v4l_grab_frame");return-1;}vd->frame_using[frame]=TRUE;vd->frame_current=frame;return0;}//在截取圖像后還要進行同步操作,就是調(diào)用externintv4l_grab_sync(v4l_device*);該函數(shù)如下intv4l_grab_sync(v4l_device*vd){if(ioctl(vd->fd,VIDIOCSYNC,&(vd->frame_current))<0){perror("v4l_grab_sync")
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)內(nèi)部節(jié)能管理制度
- 企業(yè)外協(xié)班組管理制度
- 企業(yè)供水設備管理制度
- 倉庫整排看板管理制度
- 書法教室臺賬管理制度
- 企業(yè)用電規(guī)范管理制度
- 會展公司規(guī)章管理制度
- 進出口商品質(zhì)量管理制度
- 嚴格單位資產(chǎn)管理制度
- 企業(yè)輻射臺賬管理制度
- 九師聯(lián)盟2024-2025學年高二下學期6月摸底聯(lián)考語文試題(含答案)
- 非遺文化掐絲琺瑯景泰藍
- 2025年幼兒園教師招聘考試試題及答案
- 電動葫蘆考試題及答案
- 2025廣東省勞動合同樣本
- 2025餐飲兼職合同樣本
- 農(nóng)資安全宣傳課件
- 2025年甘肅電投集團公司招聘筆試參考題庫含答案解析
- 國家開放大學《Web開發(fā)基礎》形考任務實驗1-5參考答案
- 中外美術(shù)評析與欣賞智慧樹知到期末考試答案章節(jié)答案2024年湖南大學
- 固體火箭發(fā)動機制造工藝
評論
0/150
提交評論