




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 學(xué)號: 畢業(yè)設(shè)計說明書 題 目 基于arm+linux的lcd驅(qū)動設(shè)計英文并列題目 lcd driver design on arm + linux廣東石油化工學(xué)院本科畢業(yè)設(shè)計(論文)誠信承諾保證書本人鄭重承諾:基于arm+linux的lcd驅(qū)動設(shè)計畢業(yè)設(shè)計(論文)的內(nèi)容真實、可靠,是本人在 指導(dǎo)教師的指導(dǎo)下,獨立進行研究所完成。畢業(yè)設(shè)計(論文)中引用他人已經(jīng)發(fā)表或未發(fā)表的成果、數(shù)據(jù)、觀點等,均已明確注明出處,如果存在弄虛作假、抄襲、剽竊的情況,本人愿承擔全部責任。 學(xué)生簽名: 年 月 日系主任批準日期 畢 業(yè) 設(shè) 計(論 文)任 務(wù) 書計算機科學(xué)與技術(shù) 系 計算機科學(xué)與技術(shù) 專業(yè) 計算機
2、班 學(xué)生 一、畢業(yè)設(shè)計(論文)課題 基于arm+linux的lcd驅(qū)動設(shè)計 二、畢業(yè)設(shè)計(論文)工作自 2012 年 3 月 11 日起至 2012 年 6 月 15 日止三、畢業(yè)設(shè)計(論文)進行地點 廣東石油化工學(xué)院 四、畢業(yè)設(shè)計(論文)的內(nèi)容要求 1、基于arm+linux的lcd驅(qū)動設(shè)計是在arm9平臺上移植linux系統(tǒng),然后基于linux系統(tǒng)內(nèi)核進行l(wèi)cd驅(qū)動實現(xiàn)的設(shè)計,最終在lcd液晶顯示器上顯示圖片。該設(shè)計可以分為三個部分,即lcd驅(qū)動層實現(xiàn)、圖片解碼實現(xiàn)和lcd應(yīng)用程序?qū)崿F(xiàn)。其中在lcd驅(qū)動層的實現(xiàn)中,必須對arm9 s3c2410的硬件結(jié)構(gòu)進行分析,雖然在linux內(nèi)核中已經(jīng)
3、對該芯片提供的支持,但要設(shè)置芯片的相應(yīng)輸出引腳為lcd引腳;其次要對lcd液晶顯示器進行分析,參考該lcd的手冊進行時序的分析,并進行相應(yīng)的硬件編程;最后也是最為重要的就是要了解在linux內(nèi)核中l(wèi)cd驅(qū)動是如何實現(xiàn)的,當然可以參考內(nèi)核中其他類型lcd的實現(xiàn),對在linux內(nèi)核中是如何進行l(wèi)cd驅(qū)動實現(xiàn)的層次化結(jié)構(gòu)必須要了解清楚。在圖片解碼中,對于要顯示到lcd液晶顯示器上的圖片,首先必須對圖片進行解碼分析,然后得到圖片的像素值,將這些像素值存儲到lcd的緩存中,然后lcd控制器就會將這些像素值打印到lcd液晶顯示器上,從而實現(xiàn)了對圖片的顯示,其中對于圖片解碼,用到了圖片的解碼庫。在lcd應(yīng)用
4、程序?qū)崿F(xiàn)上,在lcd驅(qū)動程序?qū)崿F(xiàn)了并創(chuàng)建了設(shè)備節(jié)點時,在應(yīng)用程序中就可以直接open該設(shè)備節(jié)點,得到lcd驅(qū)動層實現(xiàn)的buffer后,從而可以相應(yīng)的write和read操作,實現(xiàn)將圖片顯示到lcd液晶顯示器上。 2、基于arm+linux的lcd驅(qū)動設(shè)計采用了arm+linux的實現(xiàn)平臺,體現(xiàn)了高端性能上的lcd驅(qū)動的實現(xiàn)。在lcd驅(qū)動層的實現(xiàn)中,本設(shè)計采用三個步驟進行;步驟一是設(shè)置fb_info結(jié)構(gòu)體,fb_info結(jié)構(gòu)體中的成員元素包含了對要實現(xiàn)的lcd的硬件信息和對lcd操作的函數(shù),所以直接根據(jù)lcd硬件信息進行設(shè)置fb_info結(jié)構(gòu)體成員元素,然后實現(xiàn)對lcd操作的函數(shù)即可。步驟二是要
5、設(shè)置arm s3c2410平臺的硬件,設(shè)置芯片的相應(yīng)輸出引腳為lcd輸入引腳,如何根據(jù)lcd手冊進行arm lcd寄存器的設(shè)置,設(shè)置好lcd的時序。步驟三是在上面兩個步驟都實現(xiàn)了之后,就可以向內(nèi)核注冊lcd驅(qū)動,同時向linux內(nèi)核上層提交設(shè)置的fb_info結(jié)構(gòu)體對象。這樣就實現(xiàn)了對lcd驅(qū)動的設(shè)計。在圖片解碼實現(xiàn)中,本設(shè)計只實現(xiàn)對jpg格式圖片的顯示,對于輸入的jpg格式的圖片,由于對于jpg格式的圖片的數(shù)據(jù)格式排列不了解,所以首先將通過圖片庫將該格式的圖片轉(zhuǎn)換成pmb格式的圖片,而對于pmb格式的圖片可以直接知道數(shù)據(jù)格式的排列信息,首先開始的56個字節(jié)為信息頭和數(shù)據(jù)頭,然后接下來的才是位
6、圖信息,所以就可以直接讀取位圖信息進行顯示到lcd上,實現(xiàn)對lcd圖片的動態(tài)顯示。在lcd應(yīng)用程序?qū)崿F(xiàn)上,關(guān)鍵的是要獲得lcd驅(qū)動層申請的buffer空間,然后通過mmap進行映射到用戶空間進行直接的操作,通過往該buffer中寫入位圖數(shù)據(jù)后,lcd控制器就會根據(jù)時序的設(shè)置將該位圖打印到lcd液晶顯示器上。 2、基于arm+linux的lcd驅(qū)動設(shè)計實現(xiàn)在arm的硬件平臺和linux軟件平臺上顯示圖片,使得我對lcd實現(xiàn)的過程的硬件部分、圖片解碼和lcd應(yīng)用程序的實現(xiàn)都有了深刻的理解,也進一步加深了對linux下驅(qū)動實現(xiàn)原理的理解,對圖片的解碼有了更深一步的認識,同時也對于linux用戶層的應(yīng)
7、用程序如何調(diào)用到驅(qū)動層的實現(xiàn)有了深刻的理解。通過本次的設(shè)計,對于在lcd上如何進行視頻的播放和其他用戶空間界面的操作都有了一定的理解,對于以后進行相應(yīng)的實現(xiàn)起到了最為關(guān)鍵的作用。教研室負責人 指導(dǎo)教師 接受設(shè)計論文任務(wù)開始執(zhí)行日期 年 月 日學(xué)生簽名 摘要摘 要 近年來,隨著計算機技術(shù)及集成電路技術(shù)的發(fā)展,嵌入式技術(shù)日漸普及,在通訊、網(wǎng)絡(luò)、工控、醫(yī)療、電子等領(lǐng)域發(fā)揮著越來越重要的作用。信息時代,數(shù)字時代使得嵌入式產(chǎn)品獲得了巨大的發(fā)展契機,為嵌入式市場展現(xiàn)了美好的前景,同時也對嵌入式提出了新的挑戰(zhàn)。在本設(shè)計中硬件平臺采用arm9些列,屬于中高端性能的芯片。arm9系列處理器是英國arm公司設(shè)計的
8、主流嵌入式處理器,通過全新的設(shè)計,采用了更多的晶體管,能夠達到兩倍以上于arm7處理器的處理能力。而這種處理能力的提高是通過增加時鐘頻率和減少指令執(zhí)行周期實現(xiàn)的。同時采用型號為wxcat35-tg3的lcd液晶顯示器,該液晶顯示器的尺寸為3.5寸,分辨率為320240,可以實現(xiàn)觸摸屏的相應(yīng)時間小于10ms。軟件平臺采用linux內(nèi)核,版本為。linux系統(tǒng)在嵌入式領(lǐng)域應(yīng)用越來越廣,與其自身的模塊化程度高、源碼公開、廣泛的硬件支持、安全性及可靠性好、具有優(yōu)秀的開發(fā)工具、有很好的網(wǎng)絡(luò)支持利文件系統(tǒng)支持和與unix完全兼容的自身特性是分不開的,所以本設(shè)計中采用linux作為軟件的實現(xiàn)
9、平臺。本設(shè)計的最終目的是在lcd液晶顯示器上動態(tài)顯示多張圖片,涉及到了從lcd驅(qū)動層到應(yīng)用層的實現(xiàn),關(guān)鍵技術(shù)為lcd驅(qū)動實現(xiàn)、圖片解碼、lcd應(yīng)用程序?qū)崿F(xiàn)。關(guān)鍵詞:嵌入式 arm9系列 lcd linux內(nèi)核 動態(tài)顯示 關(guān)鍵技術(shù) abstract in recent years, with the development of computer technology and integrated circuit technology, embedded technology is the growing popularity of playing an increasingly importa
10、nt role in communications, networking, industrial, medical, electronics and other fields. information age, the digital age makes embedded products was a great opportunity for development, show a bright future for the embedded market, but also new challenges for embedded.in this design, hardware plat
11、form of arm9 more columns, the performance of high-end chip. the arm9 family processors mainstream british company arm embedded processors, new design, the more transistors can be achieved more than twice the processing capabilities of the arm7 processor. this processing capability is achieved by in
12、creasing the clock frequency and reduce the cycle of instruction execution. using model wxcat35-tg3 lcd display, the size of the lcd display is 3.5 inch with a resolution of 320 240 touch screen response time less than 10ms.the software platform uses the linux kernel version . linux system m
13、ore widely in the embedded field, with its own high degree of modular, open source, a wide range of hardware support, security and reliability, with excellent development tool, have a good network to support the lee file system support and is fully compatible with unix features are inseparable, so t
14、he design of linux as a software platform.the ultimate goal of this design is a dynamic display on the lcd display multiple pictures related to the lcd driver layer to the application layer, key technologies, lcd driver, the picture decoding, lcd applications to achieve.keywords: embedded arm9 serie
15、s lcd linux kernel dynamic display key technologiesi目錄目 錄摘 要iabstractii引 言- 1 -第一章 arm9 s3c2410簡介- 2 -1.1 arm技術(shù)- 2 -1.2 s3c2410處理器介紹- 2 - 1.2.1 amba、ahb、apb 總線特點- 3 - 1.2.2 s3c2410處理器體系結(jié)構(gòu)- 4 - 1.2.3 s3c2410處理器體系結(jié)構(gòu)- 4 - 1.2.4 s3c2410處理器存儲器映射- 4 - 1.2.5 s3c2410處理器時鐘和電源管理- 4 -第二章 嵌入式linux簡介- 6 -2.1嵌入式l
16、inux系統(tǒng)概述- 6 -2.2嵌入式linux系統(tǒng)的優(yōu)勢- 6 -2.3 構(gòu)建嵌入式linux- 7 - 2.3.1 精簡內(nèi)核- 7 - 2.3.2 系統(tǒng)啟動- 8 - 2.3.3 設(shè)備驅(qū)動程序- 9 -第三章 開發(fā)工具- 11 -3.1 開發(fā)環(huán)境- 11 - 3.1.1 虛擬機中安裝ubuntu10.10- 11 - 3.1.2 配置網(wǎng)絡(luò)- 13 - 3.1.3 配置samba服務(wù)器- 14 -3.2 交叉編譯工具- 15 -3.3 安裝tftp和nfs服務(wù)- 15 - 3.3.1 安裝tftp服務(wù)- 16 - 3.3.2 安裝nfs服務(wù)- 17 -3.4 系統(tǒng)啟動環(huán)境搭建- 18 - 3
17、.4.1 uboot啟動搭建- 18 - 3.4.2 linux內(nèi)核啟動搭建- 19 - 3.4.3 文件系統(tǒng)搭建- 21 -第四章 lcd驅(qū)動實現(xiàn)- 22 -4.1 s3c2410 lcd控制器分析- 22 - 4.1.1 tft屏時序分析- 23 - 4.1.2 lcd控制器主要寄存器介紹- 24 -4.2 lcd驅(qū)動內(nèi)核層次分析- 26 - 4.2.1 framebuffer的介紹- 27 - 4.2.2 framebuffer的數(shù)據(jù)結(jié)構(gòu)- 27 - 4.2.3 framebuffer對驅(qū)動的統(tǒng)一管理- 30 - 4.2.4 實現(xiàn)消息分派- 31 -4.3 lcd驅(qū)動實現(xiàn)代碼分析- 32
18、 - 4.3.1 設(shè)置fb_info- 32 - 4.3.2 設(shè)置lcd硬件- 38 - 4.3.3 注冊fb_info- 50 -4.4 添加驅(qū)動到內(nèi)核- 51 - 4.4.1 修改內(nèi)核makefile- 51 - 4.4.2 支持啟動lcd顯示- 51 -第五章 lcd應(yīng)用程序?qū)崿F(xiàn)- 53 -5.1 在lcd上顯示jpg格式圖片的主流程圖- 53 -5.2 bmp圖片格式分析- 53 - 5.2.1 文件頭- 54 - 5.2.2 信息頭- 55 - 5.2.3 顏色數(shù)據(jù)結(jié)構(gòu)- 56 - 5.2.4 提取圖像數(shù)據(jù)- 56 -5.3 應(yīng)用程序代碼實現(xiàn)分析- 57 - 5.3.1 獲取顯存地址
19、- 58 - 5.3.2 讀取jpg格式圖片- 59 - 5.3.3 用位圖數(shù)據(jù)填充lcd顯存- 59 - 5.3.4 main函數(shù)實現(xiàn)- 60 - 5.3.5 編譯- 61 -第六章 程序運行測試- 62 -6.1 啟動uboot- 62 -6.2 裝載內(nèi)核與文件系統(tǒng)- 63 -6.3 運行應(yīng)用程序- 63 -結(jié)論- 65 -致謝- 66 -參考文獻- 67 -引言引 言嵌入式技術(shù)是將計算機作為一個信息處理部件,嵌入到應(yīng)用系統(tǒng)中的一種技術(shù),也就是說,它將軟件固化集成到硬件系統(tǒng)中,將硬件系統(tǒng)與軟件系統(tǒng)一體化。嵌入式具有軟件代碼小、高度自動化和響應(yīng)速度快等特點,因而進入21世紀后其應(yīng)用越來越廣泛
20、,例如,各種家用電器如電冰箱、自動洗衣機、數(shù)字點電視機、數(shù)碼相機等廣泛應(yīng)用這種技術(shù)。隨著計算機技術(shù)的飛速發(fā)展,尤其是嵌入式系統(tǒng)的發(fā)展,嵌入式linux系統(tǒng)和液晶顯示器優(yōu)點就越顯突出。正是由于嵌入式linux 系統(tǒng)具有低成本、多種硬件平臺支持、優(yōu)異的性能和良好的網(wǎng)絡(luò)支持的優(yōu)點,而且液晶顯示器作為輸出設(shè)備具有體積小,耗電省的優(yōu)點,讓它們在各類儀器設(shè)備的控制過程中占據(jù)著越來越重要的角色。 本設(shè)計通過利用基于linux的arm9系統(tǒng)開發(fā)平臺和嵌入式系統(tǒng)開發(fā)常用的“宿主機/目標機”開發(fā)模式,使用嵌入式linux系統(tǒng)下的各類編輯編譯程序的工具,改寫linux內(nèi)核驅(qū)動程序,通過編譯內(nèi)核,更新內(nèi)核程序,利用幀
21、緩沖的方式,實現(xiàn)了液晶顯示器的驅(qū)動,同時實現(xiàn)在lcd液晶顯示屏上動態(tài)顯示多張圖片。此設(shè)計是為了在arm9硬件平臺上,通過linux系統(tǒng)實現(xiàn)lcd液晶顯示器的驅(qū)動,并通過lcd應(yīng)用程序?qū)崿F(xiàn)圖片在該lcd液晶顯示器上進行動態(tài)顯示。該lcd驅(qū)動只是在linux-內(nèi)核的基礎(chǔ)上實現(xiàn),對于不同版本的內(nèi)核,可能需要進行相應(yīng)的修改變動;同時設(shè)置的lcd的時序要根據(jù)不同的lcd顯示器說明書進行設(shè)置。對于在linux內(nèi)核中實現(xiàn)lcd液晶顯示器的驅(qū)動,內(nèi)核中本身有相應(yīng)的實現(xiàn),可以進行參考實現(xiàn),但是本項目實現(xiàn)中,不采用內(nèi)核中的定義實現(xiàn)方法,而是采用獨立對相關(guān)變量進行定義和賦值,最終向linux內(nèi)核的上
22、層進行提交fb_info結(jié)構(gòu)體實現(xiàn)對lcd硬件的向上層注冊。而對于lcd應(yīng)用程序的實現(xiàn)將會是本項目的一個難點,在應(yīng)用程序上通過向lcd驅(qū)動設(shè)置buffer數(shù)據(jù)區(qū)獲得映射后,可以直接往該lcd的buffer里面直接寫要顯示的位圖的值,然后lcd控制器會自動將該buffer中的位圖數(shù)值進行顯示到lcd液晶顯示器中。而對于要寫入的buffer的位圖信息,必須要對圖片進行解碼,從而獲得要現(xiàn)實的圖片的位圖數(shù)值,從而進行寫入。該lcd驅(qū)動模塊以“-y”的編譯選項編譯到linux內(nèi)核中,從而可以實現(xiàn)在linux內(nèi)核啟動的過程中,可以從lcd上打印出相應(yīng)的啟動信息,并在內(nèi)核啟動后顯示登陸窗口。該項目的實現(xiàn)是在
23、ubuntu 10.10環(huán)境下進行實現(xiàn)的,通過交叉編譯工具鏈arm-linux-gcc進行編譯內(nèi)核、lcd應(yīng)用程序,通過網(wǎng)絡(luò)的形式將linux內(nèi)核燒入到norflash中,然后在內(nèi)核啟動后通過網(wǎng)絡(luò)進行掛載文件系統(tǒng)。- 1 -第一章 arm9 s3c2410簡介第一章 arm9 s3c2410簡介在嵌入式領(lǐng)域中,為了開發(fā)更為高效的嵌入式設(shè)備,arm由于其自身的高效特性成為很多開發(fā)者的首選,即使相對于mips架構(gòu)的cpu來說,它的價格更高,但它帶來的收益也會更多。1.1 arm技術(shù)arm體系結(jié)構(gòu)是業(yè)界領(lǐng)先的微處理器體系結(jié)構(gòu),為系統(tǒng)和軟件工程師提供了開發(fā)低能耗、高性能消費類和工業(yè)產(chǎn)品的硅驗證解決方案
24、。這些終端產(chǎn)品涵蓋了從汽車和工業(yè)監(jiān)視器到家庭娛樂和移動設(shè)備的各個領(lǐng)域。 arm 完整產(chǎn)品線包括微控制器、微處理器、圖形處理器、實現(xiàn)軟件、單元庫、嵌入式內(nèi)存、高速連接產(chǎn)品、外設(shè)以及開發(fā)工具。借助于完善的設(shè)計服務(wù)、培訓(xùn)、支持和維護以及公司的龐大合作伙伴社區(qū),我們提供了一個全面的系統(tǒng)解決方案,為主要電子設(shè)備公司提供一條快速可靠的途徑將產(chǎn)品推向市場。arm 是 32 位嵌入式微處理器的行業(yè)領(lǐng)先提供商,已推出各種各樣基于通用體系結(jié)構(gòu)的處理器,這些處理器具有高性能和行業(yè)領(lǐng)先的功效,而且系統(tǒng)成本也有所降低。1.2 s3c2410處理器介紹s3c2410微處理器是一款由samsung公司為手持設(shè)備設(shè)計的低功耗
25、、高度集成的基于arm920t核的微處理器。為了降低系統(tǒng)總成本和減少外圍器件,這款芯片中還集成了下列部件:16kb指令cache、16kb數(shù)據(jù)cache、mmu、外部存儲器控制器、lcd控制器(stn和tft)、nand flash控制器、4個dma通道、3個uart通道、1個i2c總線控制器、1個i2s總線控制器,以及4個pwm定時器和一個內(nèi)部定時器、通用i/o口、實時時鐘、8通道10位adc和觸摸屏接口、usb主、usb從、sd/mmc卡接口等?,F(xiàn)在它廣泛應(yīng)用于pda(personal digital assistant,個人數(shù)碼助理,一般指掌上電腦)、移動通訊、路由器、工業(yè)控制等領(lǐng)域,其
26、內(nèi)部結(jié)構(gòu)如圖1-1所示。為了提高系統(tǒng)運行速度,減少能量損失,arm920t核微處理器把片上器件按器件工作頻率,使用頻度分成三個模塊,各個模塊通過各自總線連接,模塊之間采用一種叫總線橋的結(jié)構(gòu)過度。下面簡單介紹一下各總線特點。 圖1-1 s3c2410芯片內(nèi)部結(jié)構(gòu)1.2.1 amba、ahb、apb 總線特點ahb總線上最多可以有16個主模塊和任意多個從模塊,如果主模塊數(shù)目大于16,則需再加一層結(jié)構(gòu)(具體參閱arm公司推出的multi-layer ahb規(guī)范)。apb 橋既是apb總線上唯一的主模塊,也是ahb系統(tǒng)總線上的從模塊。其主要功能是鎖存來自ahb系統(tǒng)總線的地址、數(shù)據(jù)和控制信號,并提供二級
27、譯碼以產(chǎn)生apb外圍設(shè)備的選擇信號,從而實現(xiàn)ahb協(xié)議到apb協(xié)議的轉(zhuǎn)換。ahb主要用于高性能模塊(如cpu、dma和dsp等)之間的連接,作為soc的片上系統(tǒng)總線,它包括以下一些特性:單個時鐘邊沿操作;非三態(tài)的實現(xiàn)方式;支持突發(fā)傳輸;支持分段傳輸;支持多個主控制器;可配置32位128位總線寬度;支持字節(jié)、半字節(jié)和字的傳輸。apb主要用于低帶寬的周邊外設(shè)之間的連接,例如uart等,它的總線架構(gòu)不像ahb支持多個主模塊,在apb里面唯一的主模塊就是apb 橋。其特性包括:兩個時鐘周期傳輸;無需等待周期和回應(yīng)信號;控制邏輯簡單,只有四個控制信號。1.2.2 s3c2410處理器體系結(jié)構(gòu)arm920
28、t核,16位/32位risc(精簡指令系統(tǒng))結(jié)構(gòu)和arm精簡指令集;arm mmu,支持windows ce, linux等操作系統(tǒng);指令cache、數(shù)據(jù)cache、寫緩沖;支持arm調(diào)試結(jié)構(gòu),片上ice支持jtag調(diào)試方式;內(nèi)置先進微控制器總線接口(amba)。1.2.3 s3c2410處理器體系結(jié)構(gòu)支持大端(big endian)/小端(little endian)模式;地址空間為每個內(nèi)存塊128mb(一共1gb),每個內(nèi)存塊支持8/16/32位數(shù)據(jù)總線編程;8個內(nèi)存塊,6個用于rom、sram和其它,2個用于rom/sram/sdram;1個起始地址和大小可編程的內(nèi)存塊 (bank7);
29、7個起始地址固定的內(nèi)存塊(bank0bank6);所有內(nèi)存塊可編程尋址周期;支持sdram自動刷新模式;支持多種類型rom啟動,包括nor/nand flash、eeprom等。1.2.4 s3c2410處理器存儲器映射s3c2410的存儲空間映射如圖1-2所示:1.2.5 s3c2410處理器時鐘和電源管理(1)時鐘s3c2410的主時鐘由外部晶振或者外部時鐘提供,選擇后可以產(chǎn)生3種時鐘信號,分別是cpu使用的fclk、ahb總線使用的hclk和apb總線使用的fckl。時鐘管理模塊同時擁有兩個鎖相環(huán),一個稱為mpll,擁于fclk、hclk和pclk;另一個稱為upll,用于usb設(shè)備。圖
30、1-2 s3c2410的存儲空間映射(2)時鐘控制邏輯時鐘控制邏輯決定了所使用的時鐘源,是采用mpll作為fclk,還是采用外部時鐘。復(fù)位后,即使不想改變默認的pllcon值,也需要重新寫一遍。fclk由arm920t核使用,hclk提供給ahb總線,pclk提供給了apb總線。s3c2410支持hclk、fclk和pclk的分頻選擇,其比率是通過clkdiv寄存器中的hdivn和pdivn控制的.(3)電源管理s3c2410電源管理模塊通過4種模式有效地控制功耗,即正常(normal)模式、省電(slow)模式、空閑(idle)模式和斷電(power-off)模式。normal模式:為cpu
31、和所有的外設(shè)提供時鐘,所有的外設(shè)開啟,該模式下的功耗最大。這種模式允許用戶通過軟件控制外設(shè),可以斷開提供給外設(shè)的時鐘以降低功耗。slow模式:采用外部時鐘生產(chǎn)fclk的方式,此時電源的功耗取決于外部時鐘。idle模式:斷開fclk與cpu核的連接,外設(shè)保持正常,該模式下的任何中斷都可喚醒cpu。power-off模式:斷開內(nèi)部電源,只給內(nèi)部的喚醒邏輯供電。一般模式下需要兩個電源,一個提供給喚醒邏輯,另外一個提供給cpu和內(nèi)部邏輯,在power-off模式下,后一個電源關(guān)閉。- 5 -第二章 嵌入式linux簡介第二章 嵌入式linux簡介隨著計算機技術(shù)、通信技術(shù)的飛速發(fā)展,特別是互聯(lián)網(wǎng)的迅速普
32、及和3c(computer、communication、consume)合一的加速,微型化和專業(yè)化成為信息產(chǎn)品發(fā)展的新趨勢,嵌入式產(chǎn)品成為信息產(chǎn)業(yè)的主流。目前,市場上有很多商業(yè)性嵌入式系統(tǒng)都在努力的為自己爭取著嵌入式市場的份額,linux以其內(nèi)核可裁剪、移植性好、源代碼開放等優(yōu)點受到越來越多的企業(yè)和研發(fā)機構(gòu)的關(guān)注。當今信息化的高速發(fā)展,使linux成為當前最流行的嵌入式操作系統(tǒng)之一,這為linux的發(fā)展注入了強大生命力。2.1嵌入式linux系統(tǒng)概述linux最初是一個遵循posix標準的由一名芬蘭學(xué)生編寫源代碼完全開放的免費操作系統(tǒng)。經(jīng)過短短的十幾年時間已經(jīng)發(fā)展成為功能強大、設(shè)計完善的操作系
33、統(tǒng)之一,不僅可以與各種傳統(tǒng)的商業(yè)操作系統(tǒng)分庭抗爭在新興的嵌入式操作系統(tǒng)領(lǐng)域內(nèi)也獲得了飛速發(fā)展。目前正在開發(fā)的嵌入式系統(tǒng)中,49的項目選擇linux作為嵌入式操作系統(tǒng)。嵌入式linux是指對標準linux經(jīng)過小型化裁剪處理之后,能夠固化在容量只有幾k或者幾m字節(jié)的存儲器芯片或者單片機中,適合于特定嵌入式應(yīng)用場合的專用linux操作系統(tǒng)。主流嵌入式linux產(chǎn)品有:美國墨西哥理工學(xué)院開發(fā)的嵌入式linux操作系統(tǒng)rt一linux;lineo公司的主打產(chǎn)品uclinux;北京中科院紅旗軟件公司推出的紅旗嵌入式linux等。2.2嵌入式linux系統(tǒng)的優(yōu)勢嵌入式操作系統(tǒng)作為嵌入式系統(tǒng)的核心部分,與桌面
34、系統(tǒng)由很大不同受到嵌入式系統(tǒng)資源有限的影響,它要求代碼小,速度快,可靠性高移植性好。與其它專用嵌入式操作系統(tǒng)相比(如下表1所示),linux具有很多優(yōu)點。 表1 嵌入式linux與專用嵌入式實時操作系統(tǒng)比較比較嵌入式linux操作系統(tǒng)專用嵌入式實時操作系統(tǒng)購買費用免費數(shù)十萬版權(quán)費免費一份產(chǎn)品交一份版權(quán)費穩(wěn)定性較好,但高性能系統(tǒng)中需改進較好實時性需改進好網(wǎng)絡(luò)特性免費且性能優(yōu)越另加數(shù)十萬購買移植性容易難動態(tài)擴展性較好差技術(shù)支持全世界自由軟件開發(fā)者提供支持由開發(fā)商獨自提供有限的技術(shù)支持第一,linux系統(tǒng)是層次結(jié)構(gòu)且內(nèi)核完全開放的。linux代碼完全開放不同領(lǐng)域和不同層次的用戶可以根據(jù)自己的應(yīng)用需要
35、方便地對內(nèi)核進行修改。這樣可以低成本地設(shè)計和開發(fā)出滿足自己需要的嵌入式系統(tǒng)。第二,嵌入式linux移植性好。由于linux的大部分內(nèi)核代碼與微處理器無關(guān)。將linux移植到新的微處理器時。移植工作主要集中在一些存儲器管理及中斷處理程序上。移植性非常好,并且一旦完成移植,性能非常穩(wěn)定。第三,linux的內(nèi)核小、效率高。傳統(tǒng)嵌人式操作系統(tǒng)在這方面是笨拙的,占用過多的內(nèi)存,應(yīng)用程序龐大。linux有裝載和卸載程序的能力所有應(yīng)用程序以文件的形式被存放在內(nèi)存文件系統(tǒng)中并在必要的時候被裝載到內(nèi)存中,這樣可以節(jié)省內(nèi)存。第四,強大的網(wǎng)絡(luò)支持功能。linux誕生于因特網(wǎng)時代并具有unix的特性保證了它支持所有標
36、準因特網(wǎng)協(xié)議,并且可以利用linux的網(wǎng)絡(luò)協(xié)議棧將其開發(fā)成為嵌人式的tcp,ip網(wǎng)絡(luò)協(xié)議棧。第五,linux具有廣泛的硬件支持特性。無論是risc還是cisc、32位還是“位等各種處理器,linux都能運行,甚至可以在沒有存儲管理單元(mmu)的處理器上運行。這意味著嵌入式linux將具有更廣泛的應(yīng)用前景。第六,linux具備一整套工具鏈。linux為開發(fā)者提供了一套完整的工具鏈(toolchain),在linux下開發(fā)者容易自行建立嵌入式系統(tǒng)的開發(fā)環(huán)境和交叉運行環(huán)境可以跨越嵌入式系統(tǒng)開發(fā)中仿真工具的障礙。2.3 構(gòu)建嵌入式linux由于嵌入式設(shè)備的特殊要求嵌入式linux解決方案中的內(nèi)核、環(huán)
37、境、gui等都與標準bnux有很大不同,其主要原因在于嵌入式系統(tǒng)中資源有限,在設(shè)計嵌入式系統(tǒng)時要充分考慮如何在狹小的fiash、rom和內(nèi)存中實現(xiàn)高質(zhì)量的任務(wù)實時調(diào)度、網(wǎng)絡(luò)通信等功能。這就需要對標準linux做出修改。2.3.1 精簡內(nèi)核linux內(nèi)核有自己的結(jié)構(gòu)體系,其中進程管理、內(nèi)存管理和文件系統(tǒng)是其最基本的3個子系統(tǒng)。圖2-1簡單表示了它的框架。用戶進程可直接通過系統(tǒng)調(diào)用或函數(shù)庫來訪問內(nèi)核資源。正因為linux內(nèi)核具有這樣的結(jié)構(gòu),修改內(nèi)核時必須注意各個子系統(tǒng)之間的協(xié)調(diào)。用戶進程函數(shù)庫系統(tǒng)調(diào)用進程管理文件系統(tǒng)內(nèi)存管理圖2-1 linux內(nèi)核架構(gòu)構(gòu)造內(nèi)核常用命令包括:make config,
38、clean,zimage,bzimage,modules,modules_install等。(1)make config 核心配置,命令執(zhí)行完后產(chǎn)生的.config文件,其總保存著配置信息。(2)make clean清除以前構(gòu)核所產(chǎn)生的所有目標文件、模塊文件、核心以節(jié)一些臨時文件等,不產(chǎn)生任何文件。(3)make,make zimage,make bzimagemake:構(gòu)核。若核心代碼沒有錯誤,將產(chǎn)生文件vmliflux,這就是所構(gòu)的核心。make zimage:在make的基礎(chǔ)上產(chǎn)生壓縮的核心映像文件。make bzimag:在make的基礎(chǔ)上產(chǎn)生壓縮比例更大的核心映像文件。(4)make
39、 modules編譯模塊文件,你在make config時所配置的所有模塊將在這時編譯,形成模塊目標文件,并把這些目標文件存放在modules目錄中。2.3.2 系統(tǒng)啟動嵌入式linux系統(tǒng)的啟動是通過bootloader進行引導(dǎo)的,bootloader就是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準備好正確的環(huán)境。同時本設(shè)計中bootloader最后還會將linux內(nèi)核拷貝到0x3000000的地址空間(即sdram)去,然后跳到該地址去執(zhí)行,從而實現(xiàn)了對linux系統(tǒng)
40、的啟動。2.3.3 設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序即添加到操作系統(tǒng)中的一小塊代碼其中包含有關(guān)硬件設(shè)備的信息。有了此信息,計算機就可以與設(shè)備進行通信。驅(qū)動程序是硬件廠商根據(jù)操作系統(tǒng)編寫的配置文件,沒有驅(qū)動程序,計算機中的硬件就無法工作。在嵌入式linux里,除了直接修改系統(tǒng)核心的源代碼把設(shè)備驅(qū)動程序加進核心里外還可以把驅(qū)動程序作為可加載的模塊,由系統(tǒng)管理員動態(tài)的加載它,使之成為核心的一部分。硬件設(shè)備只是一個設(shè)備文件,應(yīng)用程序可以像操作普通文件一樣對硬件設(shè)備進行操作。設(shè)備驅(qū)動程序是內(nèi)核的一部分,它實現(xiàn)以下功能:對設(shè)備初始化和釋放。 把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù)。 讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)
41、據(jù)和回送應(yīng)用程序請求的數(shù)據(jù)。檢測和處理設(shè)備出現(xiàn)的錯誤。 可以把設(shè)備驅(qū)動作為內(nèi)核的一部分直接編譯到內(nèi)核中(即靜態(tài)編譯),也可以單獨作為一個模塊編譯,在需要的時候動態(tài)地插入到內(nèi)核中,在不需要的時候可把它從內(nèi)核中刪除(即動態(tài)鏈接)。目前l(fā)inux支持的設(shè)備驅(qū)動可以分為3種:字符設(shè)備 (character device)、塊設(shè)備(block device)、網(wǎng)絡(luò)接口設(shè)備(network device)。當然它們之間也并不是嚴格地加以區(qū)分。字符設(shè)備是所有能夠像字節(jié)流一樣被訪問的設(shè)備(如文件等),在linux中通過字符設(shè)備驅(qū)動程序來實現(xiàn)。在linux中它們也被映射為文件系統(tǒng)的1個節(jié)點,通常在dev目錄下。
42、字符設(shè)備驅(qū)動程序一般要包含open、close、 read、write等幾個系統(tǒng)調(diào)用。塊設(shè)備將信息存儲在固定大小的塊中,每個塊都有自己的地址。數(shù)據(jù)塊的大小通常在512字節(jié)到32768字節(jié)之間。塊設(shè)備的基本特征是每個塊都能獨立于其它塊而讀寫。磁盤是最常見的塊設(shè)備。任何網(wǎng)絡(luò)事務(wù)都經(jīng)過一個網(wǎng)絡(luò)接口形成,即一個能夠和其他主機交換數(shù)據(jù)的設(shè)備。網(wǎng)絡(luò)接口由內(nèi)核中的網(wǎng)絡(luò)子系統(tǒng)驅(qū)動,負責發(fā)送和接收數(shù)據(jù)包,許多網(wǎng)絡(luò)連接是面向流的,但網(wǎng)絡(luò)設(shè)備卻圍繞數(shù)據(jù)包的傳輸和接收而設(shè)計。網(wǎng)絡(luò)驅(qū)動程序不需要指導(dǎo)各個連接的相關(guān)信息,它只是處理數(shù)據(jù)包即可。本設(shè)計中的lcd為字符設(shè)備,所以重點理解字符設(shè)備的驅(qū)動實現(xiàn)。linux 為所有的
43、字符設(shè)備都提供了統(tǒng)一的操作函數(shù)接口。具體通過使用數(shù)據(jù)結(jié)構(gòu) struct file_operations來實現(xiàn),該數(shù)據(jù)結(jié)構(gòu)中包括許多操作函數(shù)的指針,如 open (),close(),read(),write()等。由于 file_operations 結(jié)構(gòu)中包含了所有可能對設(shè)備操作的函數(shù),如果這些函數(shù)全部由驅(qū)動開發(fā)人員編寫實現(xiàn),其工作量會非常龐大。為了解決這個問題,linux 設(shè)計者采用更高一層的封裝方法,為同一類設(shè)備定義了文件層次file_operations結(jié)構(gòu)中的接口函數(shù),這些函數(shù)對同一類設(shè)備來說實現(xiàn)方式相同(如申請緩沖區(qū)空間,讀取緩沖區(qū)數(shù)據(jù)等操作),只將一小部分硬件設(shè)備寄存器相關(guān)的操作
44、函數(shù)留給驅(qū)動開發(fā)人員實現(xiàn)。即 linux 內(nèi)核提供了一個文件操作層到底層設(shè)備驅(qū)動層的接口。linux 為lcd 顯示設(shè)備提供的幀緩沖驅(qū)動就是這種分層驅(qū)動方式。事實上,linux 內(nèi)核在fbmem.c (/drivers/video/fbmem.c )文件中實現(xiàn)了幾乎所有 file_operations結(jié)構(gòu)中的操作函數(shù),它將 lcd 顯示設(shè)備抽象成幀緩沖區(qū)(framebuffer),幀緩沖區(qū)可作為出現(xiàn)在 linux 內(nèi)核中的一種驅(qū)動程序接口,用戶可以將它看成是顯示內(nèi)存的一個映像。它對應(yīng)設(shè)備目錄下的/dev/fb 設(shè)備節(jié)點。每一個注冊進 linux內(nèi)核的lcd設(shè)備對應(yīng)一個fb節(jié)點,如/dev/fb
45、0 ,/dev/fb1等。/dev/fb 是對實際使用的lcd設(shè)備節(jié)點的符號鏈接。在使用幀緩沖區(qū)時,linux 將顯卡置于圖形模式下。- 11 -第三章 開發(fā)工具第三章 開發(fā)工具為了更好地進行嵌入式產(chǎn)品的開發(fā),產(chǎn)生了很多基于不同嵌入式產(chǎn)品的開發(fā)工具,一般采用典型的“主機/宿主機”開發(fā)模式。3.1 開發(fā)環(huán)境本設(shè)計采用在xp中的虛擬機中安裝ubuntu10.10,在ubuntu下進行全部的開發(fā)和環(huán)境搭建開發(fā)。通過配置好ubuntu與xp的ip后,使兩者處于同一個網(wǎng)段中,并保持網(wǎng)絡(luò)的暢通,然后就可以通過配置samba服務(wù)器實現(xiàn)xp能夠訪問到ubuntu中的共享目錄,從而方便講要不編譯的內(nèi)核代碼放到u
46、buntu中,用交叉編譯工具進行編譯。3.1.1 虛擬機中安裝ubuntu10.10一般推薦vmware軟件使用6.x及以上版本,因為vmware workstation5.x中支持的操作系統(tǒng)比較少,畢竟版本有點老,對一些高版本的操作系統(tǒng)支持也不太好。本設(shè)計中使用的vmware版本為vmware workstation7。步驟1,啟動vmware后,選擇新建virtual machine(虛擬機)然后點擊next根據(jù)提示一步一步往下進行將ubuntu10.10進行導(dǎo)入到虛擬機中,設(shè)置操作系統(tǒng)的類型為linux,同時為要在虛擬機中使用的ubuntu分配一定的磁盤空間。在導(dǎo)入完成后,非常重要的一點
47、是要在虛擬機中設(shè)置ubuntu系統(tǒng)使用網(wǎng)絡(luò)的方法,本設(shè)計中使用橋接的方式。點擊network adapter,網(wǎng)絡(luò)連接方式改為:brigted,表示主機xp與ubuntu使用的ip都是獨立的,而且在同一個網(wǎng)段:基本配置完成后,就可以安裝ubuntu操作系統(tǒng),點擊運行按鈕,啟動虛擬機進入ubuntu的安裝界面。像平常安裝系統(tǒng)一樣根據(jù)提示進行一步一步往下進行安裝。在提示下載安裝包更新第三方軟件時,由于更新比較費時,為了更快進行安裝,這里建議兩個復(fù)選框都不要選。根據(jù)提示進行余下的操作,直到系統(tǒng)安裝完成,即完成了在虛擬機中對ubuntu系統(tǒng)的安裝。3.1.2 配置網(wǎng)絡(luò)要使主機xp可以同虛擬機中的ubu
48、ntu進行在局域網(wǎng)中的通信,必須要根據(jù)主機xp的網(wǎng)絡(luò)信息對ubuntu進行設(shè)置,使xp和ubuntu處于同一個網(wǎng)段,網(wǎng)關(guān)一致,使用的dns服務(wù)器一致。查看主機xp的網(wǎng)絡(luò)信息如下: ip: 49 子網(wǎng)掩碼:255.255.2555.0 默認網(wǎng)關(guān): dns服務(wù)器:6(可以使用默認網(wǎng)關(guān))然后根據(jù)xp的網(wǎng)絡(luò)信息進行配置ubuntu的網(wǎng)絡(luò)信息,用vi進行在ubuntu下的網(wǎng)絡(luò)信息的編輯更改如下: 在/etc/network/interfaces中配置ip等信息如下: auto eth0 iface eth0 inet static ad
49、dress 15 gateway netmask 在/etc/resolv.conf設(shè)置dns服務(wù)器如下: generated by networkmanager nameserver 6在配置好ubuntu的網(wǎng)絡(luò)信息后,必須要重啟一下網(wǎng)絡(luò),設(shè)置才有效。使用下面的命令進行重啟網(wǎng)絡(luò):$sudo /etc/init.d/networking restart然后,可以使用ifconfig命令查看配置的網(wǎng)絡(luò)是否生效,同時可以使用ping命令進行與xp進行ping,如何可以ping通,則表示設(shè)置成功;否則要
50、仔細檢查出錯的原因,一般較常出錯是在虛擬機中沒有設(shè)置ubuntu的網(wǎng)絡(luò)連接方式為橋接方式。3.1.3 配置samba服務(wù)器在局域網(wǎng)中共享ubuntu中的目錄一般用samba服務(wù)器的方式進行共享,對于samba服務(wù)器的配置,在ubuntu系統(tǒng)中進行配置如下:在ubuntu中安裝軟件之前,一般采用下面的命令進行更新軟件包數(shù)據(jù)源:$sudo apt-get update接著安裝samba軟件包,如下:$sudo apt-get install samba smbfs samba-common smbclient然后進行samba的配置:$ sudo vim /etc/samba/smb.conf在s
51、mb.conf最后添加:username path = /home/username available = yesbrowseable = yes public = yeswritable = yes接著創(chuàng)建samba帳戶:$ sudo smbpasswd -a username (username換成你的用戶名)會要求你輸入samba帳戶的密碼最后,重啟samba服務(wù)器:$ sudo /etc/init.d/samba reload (修改過smb.conf的話要執(zhí)行一次)$ sudo /etc/init.d/samba restart 重啟后,在xp中測試一下創(chuàng)建的samba服務(wù)器是否有
52、效:在文件夾處或運行處輸入: + ubuntu機器的ip 或主機名3.2 交叉編譯工具在ubuntu中進行編譯在arm平臺上運行的程序時,不能使用ubuntu本身的gcc編譯工具進行編譯了,要使用針對于arm的交叉編譯工具進行編譯適合于arm平臺上運行的程序。本設(shè)計中,對于linux內(nèi)核的編譯,lcd驅(qū)動模塊的編譯和lcd應(yīng)用程序的編譯使用的都是交叉編譯工具鏈進行編譯。本設(shè)計使用的交叉編譯工具鏈版本為arm-linux-gcc-4.4.3。使用下面的步驟將該交叉編譯工具鏈安裝到ubuntu中:(1),通過samba將交叉編譯工具鏈壓縮包arm-linux-gcc-4.4.3.tar.gz拷貝到
53、/opt目錄下(2),解壓arm-linux-gcc-4.4.3.tar.gz: $tar jxvf toolchains_for_s3c2410.tar.bz2(3), cd toolschain/4.4.3/arm-none-linux-gnueabi/bin(4),pwd命令獲取交叉工具鏈可執(zhí)行文件存放的絕對路徑/opt/toolschain/4.4.3/arm-none-linux-gnueabi/bin(5),修改環(huán)境變量path的值$cd $vim .bashrc在最后一行中添加:export path=$path:/opt/toolschain/4.4.3/arm-none-li
54、nux-gnueabi/bin保存退出執(zhí)行命令:$source /.bashrc(6),測試,使用交叉工具鏈編譯c代碼比如有test.carm-linux-gnu-gcc test.c o test_arm用file命令查看編譯后產(chǎn)生的可執(zhí)行文件的類型,可知該可執(zhí)行文件適合于arm平臺運行:csmcsm:/tmp$ file test_arm test_arm: elf 32-bit lsb executable, arm, version 1, dynamically linked (uses shared libs), for gnu/linux 2.4.3, not stripped3.3 安裝tftp和nfs服務(wù)使用uboot引導(dǎo)linux內(nèi)核啟動時,在uboot中可以設(shè)置相關(guān)的參數(shù),使其可以通過網(wǎng)絡(luò),使用tftp服務(wù)下載linux內(nèi)核或文件系統(tǒng)到nandflash中,然后進行引導(dǎo)啟動。通過這樣的方式進行下載內(nèi)核到nandflash中,方便對于修改后的內(nèi)核的調(diào)試,直到最后要做成產(chǎn)品之后,才沒必要每次都通過tftp服務(wù)進行到nandflash中。同樣對于文件系
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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è)技術(shù)學(xué)院《航線設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 南溪縣2024-2025學(xué)年四年級數(shù)學(xué)第二學(xué)期期末監(jiān)測試題含解析
- 清遠職業(yè)技術(shù)學(xué)院《圖文信息處理與再現(xiàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江交通職業(yè)技術(shù)學(xué)院《藥劑學(xué)實驗仿真》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東農(nóng)業(yè)工程學(xué)院《生物技術(shù)制藥雙語》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東省濰坊市臨朐縣2024-2025學(xué)年高考全真模擬考卷物理試題含解析
- 四川省巴中學(xué)市恩陽區(qū)實驗中學(xué)2025屆初三第二次校模擬考試英語試題含答案
- 吉林省吉林市吉化九中學(xué)2025屆初三下學(xué)期暑假聯(lián)考化學(xué)試題含解析
- 江蘇省徐州市邳州市運河中學(xué)2025屆初三下學(xué)期期末教學(xué)質(zhì)量檢測試題(一模)數(shù)學(xué)試題含解析
- 長春工業(yè)大學(xué)《放射生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年山東省東營市廣饒縣一中中考一模英語試題(原卷版+解析版)
- 工貿(mào)行業(yè)隱患排查指導(dǎo)手冊
- 形勢與政策(貴州財經(jīng)大學(xué))知到智慧樹章節(jié)答案
- GB/T 36187-2024冷凍魚糜
- 2023年江蘇省五年制專轉(zhuǎn)本英語統(tǒng)考真題(試卷+答案)
- 20S805-1 雨水調(diào)蓄設(shè)施-鋼筋混凝土雨水調(diào)蓄池
- GB3469-83《文獻類型與文獻載體代碼》
- 互聯(lián)網(wǎng)大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽培訓(xùn)
- 3號鋼筋加工場桁吊安裝方案
- 部編版(統(tǒng)編)六年級語文下冊文學(xué)常識及文化常識(共4頁)
- 世界500強企業(yè)企業(yè)文化(企業(yè)使命、愿景、核心價值觀)集錦
評論
0/150
提交評論