在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 采用嵌入式S3C2410芯片的電話短信模塊設(shè)計

            采用嵌入式S3C2410芯片的電話短信模塊設(shè)計

            作者: 時間:2013-02-19 來源:網(wǎng)絡(luò) 收藏

              1.2.1

              是系統(tǒng)上電后運行的第一段代碼,主要工作是完成硬件的初始化和為加載操作系統(tǒng)準(zhǔn)備好條件。它的實現(xiàn)是依賴于硬件的,不同體系結(jié)構(gòu)開發(fā)板的變化很大。為了更好地支持目標(biāo)板的硬件設(shè)備,該系統(tǒng)選擇在ADS1.2集成開發(fā)環(huán)境下開發(fā)自己的Bootloa-der. Bootloader的實現(xiàn)過程主要分為以下2個階段:

             ?。?)主要進行與CPU內(nèi)核以及存儲設(shè)備密切相關(guān)的初始化處理工作,這部分的代碼通常用ARM匯編指令編寫,包含在start.S文件中。通常包括一些步驟:

              ①硬件初始化工作。包括關(guān)閉看門狗;屏蔽所有中斷;設(shè)置處理器時鐘和工作頻率;初始化外部寄存器;初始化堆棧指針。

             ?、跒殡A段(2)準(zhǔn)備RAM空間,并把階段(2)的代碼拷貝倒RAM,跳轉(zhuǎn)倒階段(2)的入口點。

             ?。?)完成一般的啟動流程以及提供目標(biāo)板設(shè)備的驅(qū)動支持,這部分會被拷貝倒RAM中執(zhí)行,這段代碼通常由C語言來實現(xiàn),具有較強的可讀性和移植性。

              通常包括一下步驟:

             ?、偻ㄟ^set_gpios()函數(shù)完成通用I/0設(shè)置;

             ?、谕ㄟ^mere_map_init(),mmu_init()函數(shù)完成內(nèi)存映射和內(nèi)存管理單元初始化;

             ?、鄢跏蓟疢TD設(shè)備,使用mtd_dev_init()函數(shù);

             ?、芸截怤AND FLASH中的Kernel映像文件和根文件系統(tǒng)映像到RAM空間中;

             ?、萏D(zhuǎn)到內(nèi)核的第一條指令處。

              至此,Bootloader的任務(wù)結(jié)束,接下來的任務(wù)由操作系統(tǒng)完成。

            1.2.2 操作系統(tǒng)的剪裁、移植

              操作系統(tǒng)負責(zé)對整個的外圍設(shè)備進行管理和對各個軟件任務(wù)進行調(diào)度。這對于智能手機而言是非常重要的。操作系統(tǒng)采用開源、免費的Linux,基于嵌入式Linux 2.6版本進行移植,主要移植過程包括建立開發(fā)環(huán)境、下載內(nèi)核源碼、修改配置文件、配置內(nèi)核、編譯內(nèi)核、編譯模塊幾個步驟,因為移植的過程大致相同,這里只做簡單介紹:

             ?。?)宿主機上的交叉編譯工具采用arm-linux-gcc-3.4.1 ;

             ?。?)修改commom-smdk.c文件,為NANDFLASH設(shè)置分區(qū);

             ?。?)修改配置文件fs/Kconfig,使內(nèi)核支持啟動時掛載devfs;

             ?。?)配置內(nèi)核;

             ?。?)編譯內(nèi)核與模塊,用Busy-box工具制作yaffs文件系統(tǒng)。

              1.2.3 嵌入武GUI Qtopia的移植

              嵌入式GUI用于開發(fā)短信、電話應(yīng)用程序圖形界面,本文采用Trolltech公司的Qtopia作為圖形界面庫,采用版本是Qtopia-core-opensou rce-src-4.4.3.移植的主要工作有:

              (1)修改qmouselinuxtp_qws.h文件,使Qtopia支持觸摸屏;

             ?。?)配置、編譯、安裝;

             ?。?)拷貝相關(guān)的庫文件到開發(fā)板,并設(shè)置環(huán)境變量。

              2 應(yīng)用程序設(shè)計

              電話和短信應(yīng)用程序是智能手機最基本也是最核心的應(yīng)用。電話短信應(yīng)用程序設(shè)計的主要工作包括:電話短信應(yīng)用程序的流程設(shè)計、通信模塊和應(yīng)用處理器的串口通信以及電話和短消息應(yīng)用程序界面開發(fā)。

              2.1 電話/短信應(yīng)用程序流程

              應(yīng)用程序采用定時器函數(shù)來控制整個程序的流程。定時器每200 ms觸發(fā)1次。

              新電話、新短信的檢測流程如圖3所示,應(yīng)用程序初始化需要對GSM/GPRS通信模塊與應(yīng)用處理器之間的接口進行初始化,此外還要定義1個200 ms觸發(fā)的定時器。系統(tǒng)初始化完畢之后,定時器觸發(fā)開始讀串口數(shù)據(jù)進行判斷。當(dāng)串口無數(shù)據(jù)時,等待下一次定時器出發(fā);當(dāng)串口有數(shù)據(jù)時,將串口的數(shù)據(jù)進行判斷;當(dāng)數(shù)據(jù)中有新短信提示符時,按照PDU短信的解碼格式對該短信進行解碼,并調(diào)用UI界面提示用戶新短信到達,詢問用戶是否閱讀;當(dāng)數(shù)據(jù)中有新電話提示符時,調(diào)用UI界面,詢問用戶是否接聽。

            采用嵌入式S3C2410芯片的電話短信模塊設(shè)計

              當(dāng)需要發(fā)送短信或撥號時,應(yīng)用程序流程如圖4所示。當(dāng)用戶調(diào)用發(fā)信界面編輯好短信,并輸入完收信方,點擊發(fā)送鈕時,應(yīng)用程序首先判斷短信中心號碼和接收信息號碼是否正確,若不正確,提示用戶錯誤;若號碼和號碼格式均正確,便對要發(fā)送的短信內(nèi)容按照進行PDU短信格式進行編碼,并向串口寫AT命令以便將該短信發(fā)送出去。撥號和掛斷電話的流程很簡單,只需要向串口寫入ATD+所撥號碼以及ATH就可,當(dāng)撥號錯誤時,提示用戶撥號錯誤。


            上一頁 1 2 下一頁

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉