<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM9芯片S3C2410a的GPRS數(shù)據(jù)終端設(shè)計

          基于ARM9芯片S3C2410a的GPRS數(shù)據(jù)終端設(shè)計

          作者: 時間:2010-04-08 來源:網(wǎng)絡(luò) 收藏

          2 嵌入式系統(tǒng)
          2.1 系統(tǒng)硬件結(jié)構(gòu)
          2.1.1 系統(tǒng)硬件結(jié)構(gòu)
          系統(tǒng)硬件結(jié)構(gòu)見圖1。

          2.1.2 傳輸設(shè)備
          本文使用的傳輸設(shè)備是北京華榮匯通信設(shè)備有限公司開發(fā)的GR100型 MODEM,采用了高性能內(nèi)嵌TCP/IP協(xié)議棧GPRS模塊。
          2.2 系統(tǒng)運(yùn)作過程
          (1)物理過程。ARM利用AT指令通過GPRSModem撥號,正確反饋及應(yīng)答后,一條物理通道即GPRS信道就在系統(tǒng)中的GPRS Modem和GPRS網(wǎng)絡(luò)之間建立起來。
          (2)數(shù)據(jù)過程。PPP協(xié)議將原始的GPRS物理層連接改造成無差錯的數(shù)據(jù)鏈路,系統(tǒng)將遠(yuǎn)程登錄Internet,并得到GPRS網(wǎng)關(guān)分配的IP地址。
          (3)網(wǎng)絡(luò)過程。采用IP協(xié)議作為網(wǎng)絡(luò)層協(xié)議。IP協(xié)議將接人Internet的具有不同IP地址的終端都聯(lián)系起來。經(jīng)過IP路由選擇,可以實現(xiàn)系統(tǒng)與連在Internet上的任一IP終端進(jìn)行數(shù)據(jù)交互。
          (4)傳輸過程。選擇TCP作為傳輸層協(xié)議,為數(shù)據(jù)傳輸提供面向連接,可靠服務(wù)。

          3 軟件
          3.1 嵌入式系統(tǒng)的引導(dǎo)代碼Bootloader
          Bootloader(引導(dǎo)加載程序)是嵌入式系統(tǒng)加電后運(yùn)行的第一段代碼,在PC中,引導(dǎo)加載程序由BIOS和位于硬盤MBR中的操作系統(tǒng)引導(dǎo)加載程序一起組成的。
          Bootloader啟動大多數(shù)分為2個階段。第一階段主要包含依賴于CPU的體系結(jié)構(gòu)硬件初始化的代碼,通常都用匯編語言來實現(xiàn)。這個階段任務(wù)有:基本的硬件設(shè)備初始化(屏蔽所有的中斷、關(guān)閉處理器內(nèi)部指令,數(shù)據(jù)Cache等);為第二階段準(zhǔn)備RAM空間;如果是從某個固態(tài)存儲媒質(zhì)中,則復(fù)制Bootloader的第二階段代碼到RAM中;設(shè)置堆棧;跳轉(zhuǎn)到第二階段的C程序入口點(diǎn)。
          第二階段通常用c語言完成,以便實現(xiàn)更復(fù)雜的功能。這個階段任務(wù)有:初始化本階段要使用到的硬件設(shè)備;檢測系統(tǒng)內(nèi)存映射;將內(nèi)核映像和根文件系統(tǒng)映像從Flash讀到RAM 為內(nèi)核設(shè)置啟動參數(shù);調(diào)用內(nèi)核。
          在U-BOOT(在PPC-BOOT的基礎(chǔ)上進(jìn)化而來的一個開放源碼的嵌入式BOOTROM程序)中通過下面兩行代碼進(jìn)行兩個階段的工作交換:
          Ldr pc,_start_armboot
          _start_armboot:.word staxt_armboot
          Bootloader調(diào)用Linux內(nèi)核的方法是直接跳轉(zhuǎn)到內(nèi)核的第一指令處,在跳轉(zhuǎn)時必須滿足下列條件:CPU寄存器設(shè)置。R0為O;R1為機(jī)器類型ID;R2為啟動參數(shù),標(biāo)記列表在RAM中的起始基地址,CPU模式。必須禁止中斷(IRQs和VlQs);CPU必須設(shè)置為SVC模式。Cache和MMU的設(shè)置。MMU必須關(guān)閉;指令Cache可以打開也可以關(guān)閉;數(shù)據(jù)Cache必須關(guān)閉。在編寫完Bootloader后,利用JTAG下載電纜.燒寫到Nor Flash中即可。

          3.2 配置和編譯Linux內(nèi)核
          Linux內(nèi)核主要由5個子系統(tǒng)組成:進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口、進(jìn)程間通信。
          3.2.1 配置內(nèi)核
          配置內(nèi)核的命令有make config;make oldcoafig;make menucoafig;make xconfig。無論哪個命令都將產(chǎn)生config文件,并在每一個c源文件中加上Linux/config.h>,使define的宏起全局性的作用。
          3.2.2 編譯內(nèi)核
          編譯內(nèi)核需要3個步驟,分別是創(chuàng)建內(nèi)核依賴關(guān)系、創(chuàng)建內(nèi)核鏡像文件和創(chuàng)建內(nèi)核模塊。執(zhí)行make up命令進(jìn)行編譯。
          生成內(nèi)核以后,接下來要做的是安裝它。對每一個內(nèi)核配置來說。要復(fù)制4個丈件:沒有壓縮的內(nèi)核鏡像(zlmage和bzlmage)、壓縮的內(nèi)核鏡像(vmlinux)、內(nèi)核符號映射文件(System.map)以及配置文件(config)。
          最后用loader.exe燒寫zlmage 或bzImage 到Nor Flash 的0x00010000地址。

          4 GPRS實現(xiàn)
          GR100通過RS232接口與系統(tǒng)連接,最終實現(xiàn)了ARM9S3c2410a的GPRS。該終端內(nèi)部已移植了Linux操作系統(tǒng),可在該系統(tǒng)下自主開發(fā)軟件,使其功能更加強(qiáng)大,例如連接LCD,實現(xiàn)可視化操作等。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();