<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM9芯片S3C2410a的GPRS數據終端設計

基于A(yíng)RM9芯片S3C2410a的GPRS數據終端設計

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

2 嵌入式系統
2.1 系統硬件結構
2.1.1 系統硬件結構
系統硬件結構見(jiàn)圖1。

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

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

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

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


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>