版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于 Linux 下智能手機(jī)的制作與設(shè)計(jì)學(xué)生姓名:指導(dǎo)教師:所在院系:工程學(xué)院電氣工程系ID: A07060348所學(xué)專(zhuān)業(yè):農(nóng)業(yè)電氣化與自動(dòng)化 研究方向:地方電力系統(tǒng)自動(dòng)化方向Northeast Agriculture University bachelor dissertationLinux based smartphone and under thedesignStudent:Supervison:Department:Engineering collegeSpecialty:Production prosess control automation DirrectionDirrectio
2、n:Local electric power system automationHarbin ChinaJune 2010基于Linux下智能手機(jī)的制作與設(shè)計(jì) 基于Linux下智能手機(jī)的制作與設(shè)計(jì) 摘要隨著現(xiàn)代計(jì)算機(jī)技術(shù)的飛速發(fā)展和互聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,從PC時(shí)代過(guò)渡到了以個(gè)人數(shù)字處理、手持個(gè)人電腦和信息家電為代表的3C (計(jì)算機(jī)、通信、消費(fèi)電子)一體的后PC時(shí)代。后PC時(shí)代里,32位系統(tǒng)扮演了越來(lái)越重要的角色,32為在市場(chǎng)上將逐漸代替8位和16位市場(chǎng),它將被廣泛應(yīng)用于信息電器、移動(dòng)設(shè)備、網(wǎng)絡(luò)設(shè)備和和消費(fèi)電子等領(lǐng)域當(dāng)中,移動(dòng)設(shè)備逐漸深入到我們的生活當(dāng)中。本設(shè)計(jì)是以三星公司32位處理器S3C24
3、40控制的基于Linux下的智能手機(jī)。擁有液晶觸摸屏顯示,可實(shí)現(xiàn)顯示網(wǎng)絡(luò)運(yùn)營(yíng)商、接收短信、接打電話、存儲(chǔ)短信,信號(hào)強(qiáng)度等 功能,通過(guò)觸摸屏完成對(duì)信息輸入輸出的控制。短信漢字輸入采用T9輸入法,T9輸入法是高效快速的、聰明的輸入法。論文部分主要包括各個(gè)模塊硬件電路的詳細(xì)設(shè)計(jì)以及 各個(gè)模塊軟件的具體實(shí)現(xiàn)。關(guān)鍵詞:智能手機(jī);Linux ; GPRS ; s3c2440平臺(tái)AbstractAlo ng with the rapid developme nt of moder n computer tech no logy and Internet tech no logy of wide applic
4、ati on, from the PC era in tran siti on to the pers onal digital process ing, han d-held PCS and information home appliances as a representative of the 3C (computer, com muni cati on, and con sumer electro nics) after a PC era. After the PC era, 32-bit system plays a more and more importa nt role in
5、 the market, and will gradually replaced for eight and16 market, it will be widely used in mobile devices, electrical appliances, information and n etwork equipme nt and con sumer electr oni cs, etc, mobile equipme nt gradually to our life.This desig n is sams ung 32 bit microprocessor based on s3c2
6、440 con trol un der the Linux smartph one. With LCD display scree n, can realize n etwork operators, receive SMS messages, answering phone calls, storage, signal strength, complete function of information through touch scree n con trol of the in put and output. Chin ese character in put text in put,
7、 using T9 T9 in put method is quick and efficie nt, in tellige nt in put method. Each module mainly in cludes paper part of the hardware circuit and software modules detailed design of concrete realizati on.Key words: smart pho nes; L in u x; GPRS;s3c2440 platform目錄 TOC o 1-5 h z HYPERLINK l bookmar
8、k2 o Current Document 摘要IAbstract II HYPERLINK l bookmark8 o Current Document 前言1 HYPERLINK l bookmark10 o Current Document 研究的目的和意義 1 HYPERLINK l bookmark12 o Current Document 國(guó)內(nèi)外研究動(dòng)態(tài) 1 HYPERLINK l bookmark14 o Current Document 研究的主要內(nèi)容 2 HYPERLINK l bookmark16 o Current Document 設(shè)計(jì)研究的預(yù)期效果 2 HYPERLI
9、NK l bookmark18 o Current Document 平臺(tái)的選擇3 HYPERLINK l bookmark20 o Current Document 軟件平臺(tái) 3 HYPERLINK l bookmark22 o Current Document 硬件平臺(tái) 4 HYPERLINK l bookmark24 o Current Document 系統(tǒng)設(shè)計(jì)7 HYPERLINK l bookmark26 o Current Document 總體設(shè)計(jì) 7 HYPERLINK l bookmark28 o Current Document 系統(tǒng)方案設(shè)計(jì) 7 HYPERLINK l
10、bookmark30 o Current Document 功能模塊設(shè)計(jì) 7軟件設(shè)計(jì)10 HYPERLINK l bookmark34 o Current Document 主體程序結(jié)構(gòu)設(shè)計(jì) 10 HYPERLINK l bookmark36 o Current Document 各模塊程序結(jié)構(gòu)設(shè)計(jì) 11 HYPERLINK l bookmark38 o Current Document 系統(tǒng)引導(dǎo)程序 vivi 11Linux 內(nèi)核移植13 HYPERLINK l bookmark44 o Current Document root根文件系統(tǒng) 13 HYPERLINK l bookmark46
11、 o Current Document 主界面菜單程序設(shè)計(jì) 16 HYPERLINK l bookmark48 o Current Document 電話和短信模塊 17輸入法簡(jiǎn)介21常用輸入法 21T9輸入法22結(jié)論24本設(shè)計(jì)的結(jié)論 24本設(shè)計(jì)的創(chuàng)新點(diǎn) 24參考文獻(xiàn)25致謝26附錄一錯(cuò)誤!未定義書(shū)簽。附錄二錯(cuò)誤!未定義書(shū)簽。/、八1 前言研究的目的和意義隨著多種技術(shù)的不斷融合,移動(dòng)娛樂(lè)市場(chǎng)的日益擴(kuò)大,以掌上電腦著稱(chēng)的智能手機(jī) 的誕生了。最早的掌上電腦是不具備手機(jī)的通話功能,但是隨著用戶對(duì)于掌上電腦的個(gè) 人信息處理方面功能的依賴(lài)的提升,但由不習(xí)慣于隨時(shí)都攜帶手機(jī)和 PC 兩個(gè)設(shè)備,所 以廠商將
12、掌上電腦的系統(tǒng)移植到了手機(jī)中,于是才出現(xiàn)了智能手機(jī)這個(gè)概念。既然智能 手機(jī)的誕生和掌上電腦有關(guān),那它的操作系統(tǒng)也肯定會(huì)與掌上電腦有關(guān)。目前的智能手 機(jī)系統(tǒng)主要包括 Symbian , WindowsMobile 的 Smart Phone 和 Pocket PC Phone, Palm , Linux 五種。其中 Linux 具有源代碼開(kāi)放、軟件授權(quán)費(fèi)用低、應(yīng)用開(kāi)發(fā)人才資源豐富等 優(yōu)點(diǎn),便于開(kāi)發(fā)個(gè)人和行業(yè)應(yīng)用,在市場(chǎng)上占據(jù)比較重要的地位。國(guó)內(nèi)外研究動(dòng)態(tài)隨著通信科技的日新月異,人們對(duì)3G、智能手機(jī)、上網(wǎng)本等詞匯不再陌生。但若真正清楚每項(xiàng)技術(shù)發(fā)展到何種地步,不花費(fèi)一番功夫怕是不行。提及智能手機(jī),很
13、多人會(huì) 第一時(shí)間想到 iphone 不可否認(rèn), 蘋(píng)果公司在該款手機(jī)上體現(xiàn)的杰出設(shè)計(jì)理念征服了眾多 手機(jī)用戶的心。不過(guò),在廠商眼中,智能手機(jī)的世界并非一片平和氣象,此乃“兵家必 爭(zhēng)之地”,拉鋸戰(zhàn)早已開(kāi)打。目前在全球范圍內(nèi)使用最廣是所謂的第二代手機(jī),以GSM制式和 CDMA 為主。它們都是數(shù)字制式的,除了可以進(jìn)行語(yǔ)音通信以外,還可以收發(fā)短 信、彩信、多媒體短信、無(wú)線應(yīng)用協(xié)議等。在中國(guó)大陸及臺(tái)灣以GSM 最為普及, CDMA和小靈通手機(jī)也很流行。目前整個(gè)行業(yè)正在向第三代手機(jī)遷移過(guò)程中。第一代手機(jī)是指模擬的移動(dòng)電話, 也就是在 20 世紀(jì)八九十年代香港美國(guó)等影視作品 中出現(xiàn)的大哥大。最先研制出大哥大的
14、是美國(guó)摩托羅拉公司的Cooper 博士。由于當(dāng)時(shí)的電池容量限制和模擬調(diào)制技術(shù)需要碩大的天線和集成電路的發(fā)展?fàn)顩r等等制約,這種 手機(jī)外表四四方方,只能成為可移動(dòng)算不上便攜。很多人稱(chēng)呼這種手機(jī)為“磚頭 ”或是黑金剛等。這種手機(jī)有多種制式,如 NMT , AMPS , TACS ,但是基本上使用頻分復(fù)用方式只 能進(jìn)行語(yǔ)音通信,收訊效果不穩(wěn)定,且保密性不足,無(wú)線帶寬利用不充分。此種手機(jī)類(lèi) 似于簡(jiǎn)單的無(wú)線電雙工電臺(tái),通話是鎖定在一定頻率,所以使用可調(diào)頻電臺(tái)就可以竊聽(tīng) 通話。第二代手機(jī)也是最常見(jiàn)的手機(jī)。通常這些手機(jī)使用PHS, GSM 或者 CDMA 這些十分成熟的標(biāo)準(zhǔn),具有穩(wěn)定的通話質(zhì)量和合適的待機(jī)時(shí)間
15、。在第二代中為了適應(yīng)數(shù)據(jù)通訊 的需求,一些中間標(biāo)準(zhǔn)也在手機(jī)上得到支持,例如支持彩信業(yè)務(wù)的GPRS 和上網(wǎng)業(yè)務(wù)的WAP 服務(wù),以及各式各樣的Java 程序等。3G 是英文 3rdGeneration 的縮寫(xiě),指第三代移動(dòng)通信技術(shù)。相對(duì)第一代模擬制式手機(jī)和第二代 GSM 、CDMA 等數(shù)字手機(jī),第三代手機(jī)一般地講,是指將無(wú)線通信與國(guó)際互聯(lián)網(wǎng)等多媒體通信結(jié)合的新一代移動(dòng)通信系統(tǒng)。它能夠處理圖像、音樂(lè)、視頻流等多種媒體形式,提供包括網(wǎng)頁(yè)瀏覽、電話會(huì)議、電子商務(wù)等多種信息服務(wù)。為了提供這種服務(wù),無(wú)線網(wǎng)絡(luò)必須能夠支持不同的數(shù)據(jù)傳輸速度,也就是說(shuō)在室內(nèi)、室外和行車(chē)的環(huán)境中能夠分別支持至少 2Mbps (兆比
16、特/每秒)、384kbps (千比特/每秒)以及 144kbps 的傳輸速度。研究的主要內(nèi)容本設(shè)計(jì)基于 s3c2440 微處理器和嵌入式操作系統(tǒng) Linux 建立的平臺(tái), 設(shè)計(jì)內(nèi)容如下: ( 1 )嵌入式引導(dǎo)程序 vivi 、嵌入式 Linux 內(nèi)核的下載;( 2)嵌入式 root 根文件系統(tǒng)的制作與下載;( 3)對(duì)觸摸屏硬件結(jié)構(gòu)進(jìn)行分析,實(shí)現(xiàn)觸摸屏信號(hào)采集處理,編寫(xiě)觸摸屏驅(qū)動(dòng);( 4) s3c2440 處理器與 GPRS 模塊通信;( 5)在 Linux 內(nèi)核下,多線程程序的編寫(xiě)以及線程之間的通信。設(shè)計(jì)研究的預(yù)期效果( 1 )采用 GPRS 模塊 SIM300 ,實(shí)現(xiàn)顯示網(wǎng)絡(luò)運(yùn)營(yíng)商、短信的收
17、發(fā)、電話的接打、 存儲(chǔ)短信、信號(hào)強(qiáng)度等功能;( 2)觸摸屏輸入功能,可輸入數(shù)字,字母,漢字等信息;( 3)短信息支持中英文接收和發(fā)送;( 4)具有菜單控制功能,使用觸摸屏控制菜單的選擇。實(shí)現(xiàn)多級(jí)菜單控制,觸摸 屏單擊菜單圖標(biāo)直接完成各種要求的功能;( 5)支持中國(guó)移動(dòng)和中國(guó)聯(lián)通兩個(gè)運(yùn)營(yíng)商。2平臺(tái)的選擇軟件平臺(tái)( 1)方案一: WinCE 解決方案Windows CE 并不是代表一個(gè)標(biāo)準(zhǔn)的相同的對(duì)所有平臺(tái)適用的軟件。為了足夠靈活 以達(dá)到適應(yīng)廣泛產(chǎn)品需求 , Windows CE 采用標(biāo)準(zhǔn)模式,這就意味著,它能夠由一系列 軟件模式做出選擇,從而使產(chǎn)品定制。另外,一些可利用模式也可作為其組成部分,這
18、 意味著這些模式能夠通過(guò)從一套可利用的組份做出選擇, 從而成為標(biāo)準(zhǔn)模式, 通過(guò)選擇, 能夠達(dá)到系統(tǒng)要求的最小模式, OEM 能夠減少存儲(chǔ)腳本和操作系統(tǒng)的運(yùn)行。在 Windo ws CE 2 版( Beta 版)測(cè)試響應(yīng), Intertime 應(yīng)用軟件在 odoSH3 參考平臺(tái)上運(yùn)行 1000 次中斷測(cè)試,內(nèi)部運(yùn)行 58.98Mhz ,外部為 14.745Mhz 外部頻率,這個(gè)測(cè)試在一個(gè)標(biāo)準(zhǔn)的 H/PC 配置,它包括 Windows CE 所有模式和組合。僅有主操作系統(tǒng)進(jìn)程進(jìn)行( NK.exe, Filesys.exe, Gwes.exe, Device. EXE, Shell.EXE 和 Ex
19、plover.EXE ),在測(cè)試中無(wú)用戶初 始中斷(觸摸屏、鍵盤(pán)或其它應(yīng)用),應(yīng)用軟件可報(bào)告下面的 ISR 和 IST 開(kāi)始、最小和 最大時(shí)間: 響應(yīng) 最大、最小值 ,ISR 開(kāi)始 1.3-7.5 微秒; IST 開(kāi)始 93-275 微秒。但是 W indows CE 不想 Linux 那樣代碼開(kāi)源和使用免費(fèi),這使得它的使用沒(méi)有 Linux 普及。( 2)方案二: Linux 解決方案Linux 以它的高效性和靈活性著稱(chēng)。它能夠在 PC 計(jì)算機(jī)上實(shí)現(xiàn)全部的 Unix 特性, 具有多任務(wù)、多用戶的能力。 Linux 是在 GNU 公共許可權(quán)限下免費(fèi)獲得的,是一個(gè)符合 POSIX 標(biāo)準(zhǔn)的操作系統(tǒng)。
20、 Linux 操作系統(tǒng)軟件包不僅包括完整的 Linux 操作系統(tǒng),而且 還包括了文本編輯器、高級(jí)語(yǔ)言編譯器等應(yīng)用軟件。它還包括帶有多個(gè)窗口管理器的 X-Window 圖形用戶界面,如同我們使用 WinCE 一樣,允許我們使用窗口、圖標(biāo)和菜單 對(duì)系統(tǒng)進(jìn)行操作。 Linux 與其它操作系統(tǒng)相比是個(gè)后來(lái)者,但 Linux 具有二個(gè)其它操作 系統(tǒng)無(wú)法比擬的優(yōu)勢(shì)。其一, Linux 具有開(kāi)放的源代碼,能夠大大降低成本。其二,既 滿足了手機(jī)制造商根據(jù)實(shí)際情況有針對(duì)性地開(kāi)發(fā)自己的 Linux 手機(jī)操作系統(tǒng)的要求,又 吸引了眾多軟件開(kāi)發(fā)商對(duì)內(nèi)容應(yīng)用軟件的開(kāi)發(fā),豐富了第三方應(yīng)用。(3)方案對(duì)比與選取Linux
21、是開(kāi)放源代碼, 遍布全球的眾多 Linux 愛(ài)好者都是 Linux 開(kāi)發(fā)者的強(qiáng)大技術(shù)支 持者;Windows CE目前6.0內(nèi)核全部開(kāi)放,GUI不開(kāi)放。Linux的內(nèi)核小、效率高;Windows CE相比,占用過(guò)多的RAM。 Linux是開(kāi)放源代碼的 OS,在價(jià)格上極具競(jìng)爭(zhēng)力,適合中國(guó)國(guó)情。 Windows CE 需要版權(quán)費(fèi)用。 Linux 不僅支持 x86 芯片, 還是一個(gè)跨平臺(tái)的系統(tǒng)。 更換 CPU 時(shí)就不會(huì)遇到更換平臺(tái)的困擾。 Linux 內(nèi)核的結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的, 它提供了對(duì)包括十兆位、百兆位及千兆位的以太網(wǎng)絡(luò),還有無(wú)線網(wǎng)絡(luò)、Token ring (令牌環(huán))和光纖甚至衛(wèi)星的支持
22、,目前 WINCE 的網(wǎng)絡(luò)功能也比較強(qiáng)大。由于硬件平臺(tái)以確 定為S3C2440,而且綜合價(jià)格、開(kāi)源,硬件平臺(tái)支持等方面的因素,我們選擇Linux為智能手機(jī)設(shè)計(jì)的軟件平臺(tái)。在處理速度上S3C2440更能體現(xiàn)出自己的優(yōu)勢(shì),最高以533MHz 的速度超過(guò)了硬件平臺(tái)( 1)方案一: SPCE3200 解決方案S+core7 內(nèi)核是由臺(tái)灣凌陽(yáng)科技公司自行設(shè)計(jì)、并且是臺(tái)灣第一個(gè)擁有獨(dú)立知識(shí)產(chǎn) 權(quán)的 32 位 RISC CPU 內(nèi)核。該處理器在一個(gè)芯片上集成了像手機(jī)、數(shù)碼相機(jī)、電子游 戲機(jī)、 MP3 播放器、 PMP 等多媒體系統(tǒng)所需的功能。 S+core7 是一個(gè)單任務(wù)、具有 7 級(jí) 流水線的高性能、高
23、速 32 位 RISC 處理器 ,采用了 Sunplus ISA ( Instruction Set Architecture )指令集。SPCE3200 內(nèi)置 MPEG4 硬件編解碼模塊,并可外擴(kuò)其它用于多媒體、機(jī)器人領(lǐng)域的 功能模塊。芯片提供 32768Hz 實(shí)時(shí)時(shí)鐘、低電壓檢測(cè)、低電壓復(fù)位、 12 位模數(shù)轉(zhuǎn)換器 (ADC) 、 UART 接口、 SPI 接口、 SIO 接口、 I2C 主設(shè)備接口以及其它 I/O 設(shè)備接口,專(zhuān) 長(zhǎng)于圖像、視頻處理,可以輸出圖像、聲音到電視機(jī)及 LCD 上顯示,并可與外部存儲(chǔ)器 通信, 但是在裸機(jī)下或加載一個(gè)實(shí)時(shí)的操作系統(tǒng)uCos 來(lái)實(shí)現(xiàn) MPEG 的編解碼
24、和 MP3 的解碼,加之硬件驅(qū)動(dòng)都是一個(gè)很大的工程。價(jià)格也比較貴,在市場(chǎng)上特別是手機(jī)行業(yè)很 少使用。( 2)方案二: ARM 處理器 +SIM300 目前,全世界有幾十家著名的半導(dǎo)體公司都使用 ARM 公司的授權(quán),其中包括摩托 羅拉 IBMIntel 、SONY 、 NEC 、 LG 、ATMEL 等,從而保證了大量的開(kāi)發(fā)工具和豐富的 第三方資源, 它們共同保證了基于 ARM 處理器核的設(shè)計(jì)可以很快投入市場(chǎng)可以說(shuō), ARM 不僅僅代表一個(gè)公司,代表了一類(lèi)微處理器,代表了一種技術(shù),還代表了一種新型的產(chǎn) 業(yè)發(fā)展模式。ARM9 系 列 : 包 括 ARM9TDMI 、 ARM920T 和 帶 有 高
25、 速 緩 存 處 理 器 宏 單 元 的 ARM940T 。該系列主要應(yīng)用于引擎管理、儀器儀表、安全系統(tǒng)、機(jī)頂盒、高端打印機(jī)、 PDA 、網(wǎng)絡(luò)電腦以及帶有 MP3 音頻和 MPEG4 視頻多媒體格式的智能電話中。圖2.1S3C2440方案結(jié)構(gòu)框圖圖2.1為S3C2440方案結(jié)構(gòu)框圖,S3C2440是三星公司設(shè)計(jì)的32位RISC(精簡(jiǎn)指令集計(jì)算機(jī))嵌入式處理器。該芯片基于ARM920T內(nèi)核,具有5級(jí)流水線,集成了如LCD控制器、SDRAM控制器、1個(gè)觸摸屏接口、 2個(gè)SPI接口等,內(nèi)核最高工作頻率可達(dá)266MHz。S3C2440的處理速度和性能價(jià)格比都是很高的,針對(duì)要求我們第一個(gè)想到的方案就是用
26、s3c2440處理器去做拍照,音、視頻的播放,假如加載Linux或 WindowsCE4.2這樣強(qiáng)大的操作系統(tǒng)顯然是能解決很多問(wèn)題的。例如三星公司提供在微軟Platform Builder下的板級(jí)支持 BSP。實(shí)際測(cè)試我們用vivi弓I導(dǎo)了 Linux和 WindowsCE4.2分別測(cè)試,在兩個(gè)平臺(tái)下面跑 Mp3速度十分理想,尤其在Linux下播放視頻文件更是質(zhì)量客觀。鍵盤(pán)輸入和顯示輸出功能,對(duì)于S3C2440來(lái)說(shuō)可以說(shuō)是輕而易舉的事情,觸摸屏接口便解決了為題,這樣不僅沒(méi)有增加了硬件的體積,增加了可靠性、穩(wěn)定性以及集成度,同時(shí)也降低了系統(tǒng)功耗。(3 )方案對(duì)比與選取我們測(cè)試了 S3C2440嵌
27、入式系統(tǒng)的圖像和視頻播放能力。在主頻400MHz下播放一個(gè)視頻,其播放幀率完全達(dá)到24幀以上,完全符合電影播放要求。Mp3文件播放使用凌陽(yáng)公司的解碼庫(kù)文件進(jìn)行測(cè)試,通過(guò)S3C2440處理器內(nèi)部的音頻輸出效果非常理想。我們現(xiàn)有的 S3C2410嵌入式開(kāi)發(fā)系統(tǒng)采用的是IIS的音頻控制器 UDA1341,而凌陽(yáng)采用內(nèi)置DAC作為輸出,兩者都是16位精度。解壓Mp3文件對(duì)比兩者并沒(méi)有區(qū)別。兩個(gè)處 理器都能很好的支持電阻式觸摸屏幕,對(duì)操控上有很大提升。SPCE3200 。操作系統(tǒng)的選擇上 s3c2440 更能輕易的選擇出適合任何一款產(chǎn)品的操作系統(tǒng), 而且技術(shù)非常成熟。在更少的外圍電路,更少的程序代碼上,
28、 s3c2440 嵌入式開(kāi)發(fā)系統(tǒng)更容易實(shí)現(xiàn)基本 要求。整個(gè)系統(tǒng)應(yīng)用起來(lái)非常方便。由于實(shí)現(xiàn)的大部分功能都是由硬件完成,所以實(shí)現(xiàn) 功能時(shí)軟件需要較少的工序, 這樣不僅降低了軟件的編寫(xiě)工作, 提高了實(shí)際應(yīng)用的品質(zhì), 而且價(jià)格上比 SPCE3200 更占優(yōu)勢(shì),所以我們最終選擇了 s3c2440 的系統(tǒng)方案。3系統(tǒng)設(shè)計(jì)總體設(shè)計(jì)系統(tǒng)方案設(shè)計(jì)選用S3C2440,因其具有豐富的硬件資源及多媒體特性,內(nèi)嵌16位DAC ;具有I2C,USB等標(biāo)準(zhǔn)硬件控制器接口;具有 SD卡控制器、TFT型LCD控制器。使本系統(tǒng)大 部分的功能由硬件完成,并且S3C2440各個(gè)基礎(chǔ)功能模塊的底層代碼基本開(kāi)發(fā)完成,使軟件開(kāi)發(fā)的工作量很
29、大的降低,系統(tǒng)方案設(shè)計(jì)框圖如圖3.1。統(tǒng)圖3.1系統(tǒng)結(jié)構(gòu)框圖功能模塊設(shè)計(jì)(1)ROOT根文件系統(tǒng)模塊在計(jì)算機(jī)系統(tǒng)中,要用到大量的程序和數(shù)據(jù),它們以文件的形式存放在外存中,需要時(shí) 可隨時(shí)將它們調(diào)入內(nèi)存。如果由用戶直接管理外存上的文件,不僅要求用戶熟悉外存特性, 了解各種文件的屬性,以及它們?cè)谕獯嫔系奈恢?,而且在多用戶環(huán)境下,還必須能保證數(shù)據(jù) 的安全性和一致性。類(lèi)似于windows下的C、D、E等各個(gè)盤(pán),linux系統(tǒng)也可以將磁盤(pán)、FLASH 等存儲(chǔ)設(shè)備等劃分為若干個(gè)分區(qū),在不同的分區(qū)存放不同類(lèi)別的文件。首先:linux 一樣要在一個(gè)分區(qū)上存放系統(tǒng)啟動(dòng)所必需的文件,比如內(nèi)核鏡像文件、內(nèi)核啟動(dòng)后運(yùn)行
30、的第一個(gè)程序(init )、給用戶提供操作界面的 shell程序,應(yīng)用程序所依賴(lài)的庫(kù)等。這些必需、基本的文件合稱(chēng)為根文件系統(tǒng),Linux系統(tǒng)啟動(dòng)后首先掛載這個(gè)分區(qū)。Linux引導(dǎo)啟動(dòng)時(shí),默認(rèn)使用的文件系統(tǒng)是根文件系統(tǒng),其中一般都包括這樣一些子目錄:/etc/,/dev/,/usr/,/bin/, /var/等。一個(gè)最基本的根文件系統(tǒng)由以下幾個(gè)目錄構(gòu)成,我們制作根文件系統(tǒng)的過(guò)程,其實(shí)也就是構(gòu)造以下目 錄的過(guò)程:/bi n /sbi n /dev /etc /lib /usr /var /proc /tmp /home /root /mnt。(2)Linux 內(nèi)核Linux是一類(lèi) Unix計(jì)算機(jī)操
31、作系統(tǒng)的統(tǒng)稱(chēng)。Linux操作系統(tǒng)的內(nèi)核的名字也是“ Linux?!?Linux操作系統(tǒng)也是自由軟件和開(kāi)放源代碼發(fā)展中最著名的例子。嚴(yán)格來(lái)講, Linux這個(gè)詞本身只表示Linux內(nèi)核,但在實(shí)際上人們已經(jīng)習(xí)慣了用Linux來(lái)形容整個(gè)基于Linux內(nèi)核,并且使用GNU工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)。Linux得名于計(jì)算機(jī)業(yè)余愛(ài)好者 Linus Torvalds 。(3)TFT LCD 觸摸屏模塊Liquid Crystal Display的縮寫(xiě),一種顯示器件液晶是一種規(guī)則性排列的有機(jī)化合物,它是一種介于固體和液體之間的物質(zhì)。液晶本身并不能構(gòu)發(fā)光,它主要是通過(guò)因?yàn)殡妷?的更改產(chǎn)生電場(chǎng)而使液晶分子排列
32、產(chǎn)生變化來(lái)顯示圖像目前主流的液晶顯示器件,色彩、響應(yīng)速率大大提升,多用于mp4、PDA等手持設(shè)備、電腦顯示器等。液晶面板主要由兩塊無(wú)鈉玻璃夾著一個(gè)由偏光板、液晶層和彩色濾 光片構(gòu)成的夾層組成。偏光板、彩色濾光片決定了有多少光可以通過(guò)以及生成何種顏色 的光線。觸摸屏作為輸入設(shè)備,所需的儲(chǔ)存空間不大,移動(dòng)部分少,便于封裝,在使用時(shí)比 鍵盤(pán)和鼠標(biāo)更為直觀。根據(jù)所用的介質(zhì)以及工作原理,觸摸屏可分為:電阻式、電容式、 紅外線式、聲表面波式。本設(shè)計(jì)采用四線電阻式觸摸屏,分為由觸摸檢測(cè)部件和觸摸屏 控制器兩部分。觸摸檢測(cè)部件安裝在顯示器屏幕前面,用于檢測(cè)用戶觸摸位置;觸摸屏 控制器從觸摸點(diǎn)檢測(cè)裝置上接收觸摸
33、信息,將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo)后送給CPU。如圖3.2所示為電阻式觸摸屏。圖3.2觸摸屏ADC連接電路電阻式觸摸屏在強(qiáng)化玻璃表面分別涂上兩層OTI透明氧化金屬導(dǎo)電層,兩層OTI之間以細(xì)小的透明隔離點(diǎn)隔開(kāi)。手指接觸屏幕時(shí),兩層OTI導(dǎo)電層出現(xiàn)一個(gè)接觸點(diǎn),電阻發(fā)生變化,在 X和Y兩個(gè)方向上產(chǎn)生信號(hào),送觸摸屏控制器,同時(shí)主芯檢測(cè)電壓及電 流,計(jì)算出觸摸的位置,反應(yīng)速度1020ms。四路AD通道直接處理觸摸屏輸出的電壓轉(zhuǎn)化為數(shù)字信號(hào),然后得到觸點(diǎn)的位置。(4)SIM300芯片特性GPRS就好比移動(dòng)通信設(shè)備的ADSL,而GSM就是普通固定電話線。GSM采用的是電路交換技術(shù)。但GPRS就不同了,它采用的是封包交
34、換(Packet Switch)技術(shù)。理論上,封包交換技術(shù)最大的資料傳輸速率可達(dá)171.2Kbps。 GPRS對(duì)原有GSM網(wǎng)絡(luò)改動(dòng)很少,投資省。新增分組域設(shè)備。GSM設(shè)備軟件升級(jí)。GPRS采用信道捆綁和增強(qiáng)數(shù)據(jù)速率改進(jìn)實(shí)現(xiàn)高速接入,GPRS設(shè)計(jì)可以與 8個(gè)信道實(shí)現(xiàn)捆綁,每個(gè)信道的傳輸速率提高到 14.4kbp。最高速率為:14.4kbps*8=115.2kbps。第二代 GPRS(EDGA)會(huì)提高到48kbps*8=384kbps。高速數(shù)據(jù)傳輸。速度10倍于GSM,更可滿足用戶的理想需求,還可以穩(wěn)定地傳送大容量的高質(zhì)量音頻與視頻文件,可謂不一般的巨大進(jìn)步,GPRS工作原理如圖3.3所示:PLM
35、NPSTN| PDNryLRMSCXHLRACGRGGSNSGSNATMSLRTCETCEPCUBSCSoftware updateGPRS enabled terminal equipmentGateway GPRS support node (GGSN) for transition to the InternetServing GPRS support node(SGSN) for serving usersGPRS register (GR) as an HLR extension for data service specific informationSGSN location r
36、egister (SLR) like VLR but for data servicesPacket control unit (PCU) for the discrimination of packet and speech data圖3.3 GPRS工作原理建立新的連接需要的時(shí)間比傳統(tǒng)的wap短的多,(每次數(shù)據(jù)的訪問(wèn)無(wú)需長(zhǎng)時(shí)間等待建立呼叫連接),您隨時(shí)都可與網(wǎng)絡(luò)保持聯(lián)系,即使在通話過(guò)程中數(shù)據(jù)傳輸暫停,通話結(jié)束 后也會(huì)在極短的時(shí)間內(nèi)切換回來(lái)。做個(gè) 打電話”的比方,在使用GSM+WAP手機(jī)上網(wǎng)時(shí),就好比電話接通便開(kāi)始計(jì)費(fèi); 而使用 GPRS+WAP上網(wǎng)則要合理得多,就像電話接通并不收費(fèi),只有對(duì)
37、話時(shí)才計(jì)算費(fèi) 用。總之,它真正體現(xiàn)了少用少付費(fèi)的原則GPRS應(yīng)用于以下領(lǐng)域:In ternet業(yè)務(wù)。VPN業(yè)務(wù)/移動(dòng)辦公室。不間斷的WAP接入業(yè)務(wù)。野外銷(xiāo)售 /業(yè)務(wù)、商船管理。移動(dòng)商務(wù)、移動(dòng)銀行。結(jié)合定位技術(shù),提供個(gè)性化移動(dòng)定位服務(wù)。信息點(diǎn)播:新聞、證券消息、天氣 預(yù)報(bào)、生活信息。控制家庭設(shè)備。模組使用標(biāo)準(zhǔn)的UART串行通信接口與主芯片進(jìn)行通信,可以與任何帶有通用UART串行通信接口的控制器進(jìn)行連接。 該項(xiàng)目要求我們采用 S3C244作為主控芯片(MCU) 控制GPRS模組,用AT指令集實(shí)現(xiàn)手機(jī)功能, 下面重點(diǎn)介紹一下 GPRS模組與MCU連 接特點(diǎn)。4軟件設(shè)計(jì) 如果把硬件比作系統(tǒng)的軀體,那么
38、軟件編程就是它的靈魂。失去靈魂的軀體只能是 個(gè)擺設(shè),沒(méi)有多大的價(jià)值而言,軟件設(shè)計(jì)是本系統(tǒng)制作的關(guān)鍵點(diǎn)之一,軟件設(shè)計(jì)主要分 為主體系統(tǒng)結(jié)構(gòu)設(shè)計(jì)和各個(gè)模塊但系統(tǒng)設(shè)計(jì)。主體程序結(jié)構(gòu)設(shè)計(jì)系統(tǒng)在開(kāi)機(jī)時(shí)會(huì)進(jìn)行的系統(tǒng)的初始化設(shè)置,顯示的界面為主菜單界面,在程序中四 個(gè)線程來(lái)分別處理不同功能模塊。主線程:初始化觸摸屏,初始化串口,負(fù)責(zé)創(chuàng)建其余 三個(gè)線程,并等待其返回。msg_prompt_pthread 線程:主要是對(duì)隊(duì)列里的數(shù)據(jù)進(jìn)行分析處理找出主要信息并進(jìn) 行相應(yīng)的操作。rec_signal_pthread 線程:主要接收 GPRS 的數(shù)據(jù),進(jìn)行簡(jiǎn)單的處理后放入隊(duì)列,等 待其余線程進(jìn)行接收。main_pth
39、read 線程: 對(duì)按鍵, 顯示, 和短信 str Unicode ,Unicode str 的轉(zhuǎn)換, 菜單顯示。圖 4.1 為主體程序控制流程圖。圖4.1程序控制流程圖各模塊程序結(jié)構(gòu)設(shè)計(jì)421系統(tǒng)引導(dǎo)程序vivi在專(zhuān)用的嵌入式板子運(yùn)行GNU/L inux系統(tǒng)已經(jīng)變得越來(lái)越流行。引導(dǎo)加載程序是系統(tǒng)加電后運(yùn)行的第一段軟件代碼。PC機(jī)中的引導(dǎo)加載程序由BIOS(其本質(zhì)就是一段固件程序)和位于硬盤(pán) MBR中的OS BootLoader (比如,LILO 和GRUB等)一起組成。BIOS 在完成硬件檢測(cè)和資源分配后,將硬盤(pán) MBR中的BootLoader讀到系統(tǒng)的 RAM中,然 后將控制權(quán)交給OS B
40、ootLoader。BootLoader的主要運(yùn)行任務(wù)就是將內(nèi)核映象從硬盤(pán)上圖4.2 vivi流程圖讀到RAM中,然后跳轉(zhuǎn)到內(nèi)核的入口點(diǎn)去運(yùn)行,也即開(kāi)始啟動(dòng)操作系統(tǒng)。在嵌入式系統(tǒng)中,通常并沒(méi)有像BIOS那樣的固件程序(注,有的嵌入式 CPU也會(huì)內(nèi)嵌一段短小的啟動(dòng)程序),因此整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由BootLoader來(lái)完成。比如在一個(gè)基于ARM7TDMI core的嵌入式系統(tǒng)中,系統(tǒng)在上電或復(fù)位時(shí)通常都從地址0 x00000000處開(kāi)始執(zhí)行,而在這個(gè)地址處安排的通常就是系統(tǒng)的BootLoader程序。簡(jiǎn)單地說(shuō),BootLoader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過(guò)這段小程序
41、,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。BootLoader是嚴(yán)重地依賴(lài)于硬件而實(shí)現(xiàn)的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個(gè)通用的BootLoader幾乎是不可能的。盡管如此,我們?nèi)匀豢梢詫?duì)BootLoader歸納出一些通用的概念來(lái),以指導(dǎo)用戶特定的BootLoader設(shè)計(jì)與實(shí)現(xiàn)。vivi是韓國(guó)mizi公司開(kāi)發(fā)的 Bootloader,適用于ARM9處理器,vivi有兩種工作模 式:?jiǎn)?dòng)加載模式和下載模式。啟動(dòng)加載模式可以在一段時(shí)間后(這個(gè)時(shí)間可更改)自 行啟動(dòng)linux內(nèi)核,這時(shí)vivi
42、的默認(rèn)模式。在下載模式下,vivi為用戶提供一個(gè)命令行接 口,通過(guò)接口可以使用vivi提供的一些命令,如圖4.2 vivi的啟動(dòng)流程圖。開(kāi)始禁止看門(mén)狗關(guān)閉中斷初始化系統(tǒng)時(shí)鐘存儲(chǔ)器設(shè)置UART初始化輸出VI號(hào)!版本1開(kāi)發(fā)板初始化T內(nèi)存映身寸1F初始化MTD初始化私有數(shù)據(jù)4初始化內(nèi)置命令1F啟動(dòng) vivi-shell 或 boot1:結(jié)束4.2.2Linux 內(nèi)核移植對(duì)以 ARM 為基礎(chǔ)的目標(biāo)系統(tǒng),可從 HYPERLINK / / 下載 Linux-2.4.18 版本的內(nèi)核,從 ARMLinux 的官方站點(diǎn) HYPERLINK .uk .uk 下載 2.4.18-rmk5 補(bǔ)丁。 打上補(bǔ)丁后的內(nèi)
43、核就是 Linux-2.4.18-rmk5 ,這個(gè) Linux 內(nèi)核包含了對(duì)大多數(shù)以 ARM 為基礎(chǔ)的嵌入式系 統(tǒng)的支持。一個(gè)嵌入式 Linux 系統(tǒng)從軟件的角度看通??梢苑譃樗膫€(gè)層次:( 1)引導(dǎo)加載程序:包括固化在固件 (firmware) 中的 boot 代碼 ( 可選 )和 BootLoader 兩大部分;(2) Linux 內(nèi)核:特定于嵌入式系統(tǒng)的定制內(nèi)核以及內(nèi)核啟動(dòng)參數(shù);( 3)文件系統(tǒng):根文件系統(tǒng)和建立于 Flash 設(shè)備上的文件系統(tǒng);( 4)用戶應(yīng)用程序:特定于用戶的應(yīng)用程序。Linux 內(nèi)核是 Linux 系統(tǒng)軟件的核心, 它的性能對(duì)整個(gè)系統(tǒng)的性能起決定作用, 如果 內(nèi)核不支
44、持某個(gè)硬件,那么在基于該內(nèi)核的系統(tǒng)中,這個(gè)硬件將不能使用,內(nèi)核移植一 般包括內(nèi)核配置、內(nèi)核編譯、內(nèi)核下載三部分。4.2.3 root 根文件系統(tǒng)Linux 支持多種文件系統(tǒng),包括ext2 、 ext3 、 vfat 、 ntfs 、 iso9660 、jffs 、 romfs 和 nfs等,為了對(duì)各類(lèi)文件系統(tǒng)進(jìn)行統(tǒng)一管理, Linux 引入了虛擬文件系統(tǒng) VFS(Virtual File System),為各類(lèi)文件系統(tǒng)提供一個(gè)統(tǒng)一的操作界面和應(yīng)用編程接口。Linux 下的文件系統(tǒng)結(jié)構(gòu)如圖4.3 。圖4.3 Linux文件系統(tǒng)結(jié)構(gòu)前面介紹過(guò),Linux和UNIX的文件系統(tǒng)是一個(gè)以“/為根的階層式
45、的樹(shù)狀文件結(jié)構(gòu),“/因此被稱(chēng)為根目錄。所有的文件和目錄都置于根目錄“/之下。根目錄“/下面有/bin,/home, /usr等子目錄。在早期的UNIX系統(tǒng)中,各個(gè)廠家各自定義了自己的UNIX系統(tǒng)的文件系統(tǒng)構(gòu)成,比較混亂。為了避免在Linux也產(chǎn)生同樣的問(wèn)題,在Linux面世不久,就開(kāi)始了對(duì)Linux文件系統(tǒng)進(jìn)行標(biāo)準(zhǔn)化的活動(dòng),于1994年推出了名為 FSSTND(FilesystemStandard)的Linux文件系統(tǒng)層次結(jié)構(gòu)標(biāo)準(zhǔn)。之后, FSSTND標(biāo)準(zhǔn)吸引了 UNIX 社團(tuán)的開(kāi) 發(fā)人員,他們把FSSTND擴(kuò)大到UNIX系統(tǒng),F(xiàn)SSTND就變?yōu)镕HS (Filesystem Hierarch
46、y Standard)。FHS標(biāo)準(zhǔn)使得眾多的Linux發(fā)布包有了可以遵循的標(biāo)準(zhǔn),使得軟件和用戶可以預(yù)測(cè)已經(jīng)安裝了的文件和目錄的位置。下面依次講述這幾個(gè)目錄的作用。根目錄:Linux中所有的目錄及文件都位于根目錄下,可以說(shuō)是所有目錄的父目錄。home :用戶目錄,所有的用戶都是用此空間,對(duì)于每一個(gè)普通用戶,都有一個(gè)以用 戶名命名的子目錄,里面存放相關(guān)的配置文件。bin :該目錄下存放所有用戶(包括系統(tǒng)管理員和一般用戶)都可以使用的、基本的 命令,這些命令在掛載其他文件系統(tǒng)之前就可以使用,所以/bin目錄必須和根文件系統(tǒng)在同一個(gè)分區(qū)中,不是急迫需要的系統(tǒng)命令可以放在/usr/bin目錄下,由用戶后
47、來(lái)安裝的系統(tǒng)命令存放在 /usr/local/bin 目錄下。bin 目錄下存放常用的命令有:cat、chgrp、chmod、cp、ls、sh、kill、mount、umount、mkdir等,在嵌入式系統(tǒng)中通常由busybox生成,其中/usr/bin可選。sbin :存放系統(tǒng)管理所需要的命令,只有系統(tǒng)管理員能夠使用,不是急迫需要的系 統(tǒng)命令可以放在/usr/sbin目錄下,由用戶后來(lái)安裝的系統(tǒng)命令存放在/usr/local/sbin目錄下。dev:該目錄下存放的是設(shè)備文件,在linux下以文件的方式訪問(wèn)各種外設(shè),即通過(guò)讀寫(xiě)某個(gè)設(shè)備文件操作某個(gè)具體硬件。etc目錄系統(tǒng)的所有配置文件都存放在此
48、目錄中,啟動(dòng)或改變運(yùn)行級(jí)時(shí)運(yùn)行的腳本 或腳本目錄。lib :該目錄下存放共享庫(kù)和可加載模塊,共享庫(kù)用于啟動(dòng)系統(tǒng)、運(yùn)行根文件系統(tǒng)中 的可執(zhí)行程序,比如/bin、/sbin下的程序,不是根文件系統(tǒng)所必需的庫(kù)文件放在/usr/lib,/var/lib等。其中的文件主要有:共享連接庫(kù)、動(dòng)態(tài)連接庫(kù)(libc.so.*),連接器、加載器(ld*),內(nèi)核可加載模塊存放存放的目錄等。mnt:用于臨時(shí)掛接某個(gè)文件系統(tǒng)的掛接點(diǎn),通常是空目錄,可以在里面建一些子 文件夾,用來(lái)臨時(shí)掛接光盤(pán)、硬盤(pán)、nfs、sd卡、U盤(pán)等。tmp :臨時(shí)文件目錄,重新啟動(dòng)時(shí)被清除,一些需要生成臨時(shí)文件的程序要用到/tmp目錄,為減少對(duì)
49、FLASH的操作,一般掛載一個(gè)虛擬的文件系統(tǒng)。usr目錄:存放一些共享、只讀的程序和數(shù)據(jù)、所有命令、庫(kù)、man等,/usr目錄的內(nèi)容可以在另一個(gè)分區(qū)中,在系統(tǒng)啟動(dòng)后再掛載到根文件系統(tǒng)中的/usr目錄下,/usr目錄下的內(nèi)容可以在多個(gè)主機(jī)間共享,如表4.1所示。表4.1 usr 目錄結(jié)構(gòu)/usr/usr/usr/bin用戶和管理員的標(biāo)準(zhǔn)命令/usr/sbin用戶和管理員的標(biāo)準(zhǔn)命令/usr/local/系統(tǒng)管理員安裝的應(yīng)用程序目錄/usr/lib應(yīng)用程序及程序包的連接庫(kù)/usr/includeC/C+等各種開(kāi)發(fā)語(yǔ)言環(huán)境的標(biāo)準(zhǔn)include 文件/usr/local/share系統(tǒng)管理員安裝的共享文
50、件/usr/share存放使用手冊(cè)等共享文件的目錄/usr/X11R6Xwindows桌面系統(tǒng)/usr/share/man系統(tǒng)使用手冊(cè)var與/usr目錄相反,/var目錄中存放可變的數(shù)據(jù),比如:spool 目錄(mail、news、打印機(jī)等)log文件,臨時(shí)文件等,如表4.2所示。表4.2 var 目錄結(jié)構(gòu)/var/var/var/lib各種狀態(tài)數(shù)據(jù)/var/log日志記錄/var/mail電子郵件/var/run進(jìn)程的標(biāo)示數(shù)據(jù)/var/mail電子郵件/var/tmp臨時(shí)文件目錄proc :空目錄,常作為 proc文件系統(tǒng)的掛載點(diǎn)。proc文件系統(tǒng)是個(gè)虛擬文件系統(tǒng),它沒(méi)有實(shí)際的存儲(chǔ)設(shè)備,里
51、面的目錄、文件都是由內(nèi)核臨時(shí)生成的,用來(lái)表示系統(tǒng)的運(yùn) 行狀態(tài),也可以在操作其中的文件控制系統(tǒng)。系統(tǒng)啟動(dòng)后,使用以下命令掛載proc文件系統(tǒng)(常在/etc/fstab進(jìn)行設(shè)置以自動(dòng)連接),其具體內(nèi)容可參見(jiàn)表4.3。表4.3 proc目錄結(jié)構(gòu)目錄內(nèi)容和用途/proc/1 關(guān)于進(jìn)程1的信息目錄。每個(gè)進(jìn)程在/proc下有一個(gè)名為其進(jìn)程號(hào)的目錄。/proc/cpuinfo處理器信息,如類(lèi)型、制造商、型號(hào)和性能/proc/devices/proc/dma/proc/filesystems當(dāng)前運(yùn)行的核心配置的設(shè)備驅(qū)動(dòng)的列表顯示當(dāng)前使用的 DMA通道核心配置的文件系統(tǒng)/proc/interrupts/proc
52、/ioports顯示使用的中斷當(dāng)前使用的I/O端口/proc/ksyms/proc/loadavg/proc/meminfo核心符號(hào)表系統(tǒng)-平均負(fù)載”;3個(gè)指示器指岀系統(tǒng)當(dāng)前的工作量存儲(chǔ)器使用信息,包括物理內(nèi)存和swap/proc/modules/proc/net當(dāng)前加載了哪些核心模塊網(wǎng)絡(luò)協(xié)議狀態(tài)信息/proc/uptime/proc/version系統(tǒng)啟動(dòng)的時(shí)間長(zhǎng)度核心版本主界面菜單程序設(shè)計(jì)主界面程序包含了對(duì)應(yīng)的圖像文件和源代碼。主要功能是提供主菜單的顯示和觸摸 屏數(shù)據(jù)的讀取。初期這個(gè)程序里還包含了觸摸屏數(shù)據(jù)識(shí)別函數(shù),用于把相應(yīng)的位置翻譯 成對(duì)應(yīng)的控制信息。void TFT_i nit(vo
53、id)char *fbn ame = /dev/fb/0; getFBP(fb name);TFT_I ni t();MainFrame = TFT_CreateWindowEx(0,0,320,240,COLOR_YELLOW); TFT_File_Picture(MainFrame,0,0,./Screen/happy4.bmp,1);Menu = TFT_CreateWindowEx(106, 60, 105, 15, RGB24(66, 187, 250); Msg = TFT_CreateWindowEx(106, 60, 105, 110, COLOR_YELLOW); Signb
54、ox = TFT_CreateWindowEx(106, 60, 105, 26, COLOR_YELLOW); Numdis = TFT_CreateWindowEx(106, 120, 105, 50, COLOR_CYAN); TFT_SetColor(Signbox, COLOR_BLUE);TFT_SetColor(MainFrame, COLOR_BLACK); TFT_SetColor(Msg, COLOR_BLACK); TFT_SetColor(Numdis, COLOR_BLACK);TFT_ClearWindow(Msg);TFT_SetTextPos(MainFrame
55、, 125, 80);void *msg_prompt_pthread(void *arg) ;void *main_pthread(void *arg) ;void *rec_signal_pthread(void *arg) ;int main(int argc, char *argv)TFT_init();fd_uart = Uart_Init(1);while(1) pthread_create(&tid2,NULL,msg_prompt_pthread,NULL); pthread_create(&tid3,NULL,main_pthread,NULL); pthread_create(&tid4,NULL,rec_signal_pthread,NULL); pthread_join(tid2,NULL);pthread_join(tid3,NULL); pthread_join(tid4,NULL);return 0;電話和短信模塊AT(Data(Data電話和短信的實(shí)現(xiàn)是微處理器通過(guò)串口向 GPRS 按順序發(fā)送 AT 指令集實(shí)現(xiàn)的。 即 Attention , AT 指令集是從終端設(shè)備 (Terminal Equipment , TE) 或數(shù)據(jù)終端設(shè)備 Terminal Equipment ,DTE) 向終端適配器 (Terminal Adapter ,TA)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025下半年四川自貢市屬事業(yè)單位考試聘用人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年北京市延慶縣事業(yè)單位招聘39人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上海地鐵第一運(yùn)營(yíng)限公司多職能隊(duì)員(巡視)(儲(chǔ)備)招聘50人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年貴州六盤(pán)水市事業(yè)單位及國(guó)企業(yè)招聘應(yīng)征入伍大學(xué)畢業(yè)生【92】人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川省江油市事業(yè)單位招聘95人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 農(nóng)村建設(shè)誠(chéng)信承諾書(shū)模板
- 銀行網(wǎng)點(diǎn)智能系統(tǒng)布線合同
- 商場(chǎng)屋面瓦安裝合同
- 2024年租房合同終止協(xié)議3篇
- 2024年物業(yè)中介服務(wù)定金協(xié)議
- 2024年不銹鋼門(mén)安裝協(xié)議
- 放飛心靈 激揚(yáng)青春-中職生心理健康學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 基于OBE理念的課程目標(biāo)、畢業(yè)要求及培養(yǎng)目標(biāo)達(dá)成度評(píng)價(jià)
- 2024年6月浙江高考?xì)v史試卷(含答案解析)
- 2024年知識(shí)競(jìng)賽-少先隊(duì)知識(shí)競(jìng)賽考試近5年真題附答案
- 勞動(dòng)合同(模版)4篇
- 保密工作會(huì)議領(lǐng)導(dǎo)講話稿
- 四年級(jí)數(shù)學(xué)上冊(cè)計(jì)算題過(guò)關(guān)訓(xùn)練共20天
- 貨物采購(gòu)供貨方案(技術(shù)方案)
- 安全生產(chǎn)積分制管理制度
- 蘇教版小學(xué)三年級(jí)科學(xué)上冊(cè)單元測(cè)試題附答案(全冊(cè))
評(píng)論
0/150
提交評(píng)論