鹽城工學(xué)院嵌入式系統(tǒng)課程設(shè)計報告_第1頁
鹽城工學(xué)院嵌入式系統(tǒng)課程設(shè)計報告_第2頁
鹽城工學(xué)院嵌入式系統(tǒng)課程設(shè)計報告_第3頁
鹽城工學(xué)院嵌入式系統(tǒng)課程設(shè)計報告_第4頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、.課程設(shè)計說明書基于 ARM 的 GPRS模塊的設(shè)計專業(yè)學(xué)生姓名專業(yè) .專注.班級學(xué)號指導(dǎo)教師完成日期2017年月日專業(yè) .專注.目錄摘要.11 緒論 .11.1嵌入式系統(tǒng) .11.1.1嵌入式系統(tǒng)概述 .11.1.2嵌入式處理器 .21.2 ARM 處理器 .21.3 GPRS 無線通訊 .21.3.1 GPRS 定義 .21.3.2 GPRS 的技術(shù)特點 .22 系統(tǒng)選型及設(shè)計 .32.1硬件選型 .32.2模塊總體框圖 .33 系統(tǒng)硬件設(shè)計 .43.1 ARM 硬件結(jié)構(gòu)及電路概述 .43.1.1 SANSUNG S3C2410 概述 .43.1.2ST2410 硬件資源分配 .53.1.

2、3ST2410 接口資源 .73.1.4ST2410 的串口通訊 .83.2 M22 通訊電路板的設(shè)計 .113.2.1 BENQ 電源部分設(shè)計 .123.2.2BENQ M22 與 SIM 卡的接口 .133.2.3 BENQ M22 在語音通訊設(shè)計方面的問題.133.2.4 BENQ M22 通訊板的串口 .144 系統(tǒng)軟件設(shè)計 .15專業(yè) .專注.4.1 引導(dǎo)加載程序的設(shè)計16的基本概念16的 BOOTLOADER 功能說明184.2 串口通訊程序的設(shè)計194.3 BENQ M22模塊內(nèi)部的軟件特性195 模塊軟件運行流程圖206 模塊設(shè)計總結(jié)22專業(yè) .專注.基于 ARM 與嵌入式 L

3、inux 的 GPRS 模塊摘要隨著科技的高速發(fā)展 ,嵌入式系統(tǒng)已經(jīng)進入32 位時代 。在當(dāng)前數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)的高速發(fā)展的后PC 時代,嵌入式系統(tǒng)已經(jīng)廣泛地應(yīng)用于各類產(chǎn)業(yè)。 隨著國內(nèi)外嵌入式產(chǎn)品地進一步開發(fā)和推廣,嵌入式技術(shù)和人類生活的聯(lián)系越發(fā)緊密 。本文介紹了在SAMSUNG ARM9 和嵌入式Linux 平臺上的 ,基于BenQ M22 模塊的GPRS 無線通訊模塊的軟硬件設(shè)計。主要內(nèi)容包括 :M22通訊電路板的PCB 設(shè)計;ARM9 中 Bootloader編程與 FLASH 燒寫;M22和 ARM9 的外圍與內(nèi)部硬件電路的設(shè)計 ;串口通訊的編程 ; AT 指令的收發(fā)等等 。 該系

4、統(tǒng)能夠?qū)崿F(xiàn)語音通訊、短信服務(wù) 、來電查詢 、來電顯示等功能關(guān)鍵詞:嵌入式;ARM ;Linux ;GPRS1 緒論1.1 嵌入式系統(tǒng)嵌入式系統(tǒng)概述嵌入式系統(tǒng) (Embedded System),是一種嵌入機械或電氣系統(tǒng)內(nèi)部 、具有專一功能和實時計算性能的計算機系統(tǒng) 。 嵌入式系統(tǒng)常被用于高效控制許多常見設(shè)備 ,被嵌入的系統(tǒng)通常是包含數(shù)字硬件和機械部件的完整設(shè)備,例如汽車的防鎖死剎車系統(tǒng)。相反,通用計算機如個人電腦則設(shè)計靈活,可以智能處理各式各樣的運算情況 ,以滿足廣大終端用戶不同的需要。現(xiàn)代嵌入式系統(tǒng)通常是基于微控制器 (如含集成內(nèi)存和 / 或外設(shè)接口的中央處理單元 )的,但在較復(fù)雜的系統(tǒng)中普

5、通微處理器 (使用外部存儲芯片和外設(shè)接口電路 )也很常見 。 通用型處理器 、專門進行某類計算的處理器 、為手持應(yīng)用訂制設(shè)計的處理器等 ,都可能應(yīng)用到嵌入式系統(tǒng) 。 常見的專用處理器有數(shù)字信號處理器 。專業(yè) .專注.嵌入式處理器嵌入式處理器是嵌入式系統(tǒng)的核心,是控制 、輔助系統(tǒng)運行的硬件單元??梢苑譃?:嵌入式微處理器 、嵌入式微控制器 、嵌入式 DSP 處理器等 。嵌入式處理器是嵌入式系統(tǒng)的核心 ,是控制 、輔助系統(tǒng)運行的硬件單元 。范圍極其廣闊 ,從最初的 位處理器 ,目前仍在大規(guī)模應(yīng)用的 位單片機 ,到最新的受到廣泛青睞的 32 位,64 位嵌入式 CPU。1.2 ARM處理器ARM 處

6、理器是一種 32 位嵌入式 RISC 處理器。ARM( AdvancedRISCMachines ),既可以認為是一個公司的名字 ,也可以認為是對微處理器的通稱 ,還可以認為是一種技術(shù)的名字 。ARM 處理器是一個 32 位元精簡指令集 (RISC)處理器架構(gòu) ,其廣泛地使用在許多嵌入式系統(tǒng)設(shè)計 。Thumb指令集為 ARM 指令集的功能子集 ,但與等價的 ARM 代碼相比較 ,可節(jié)省30%40% 以上的存儲空間 ,同時具備 32 位代碼的所有優(yōu)點 。 大量使用寄存器 ,數(shù)據(jù)處理指令只對寄存器進行操作 ,只有加載 / 存儲指令可以訪問存儲器 ,以提高指令的執(zhí)行效率 。1.3 GPRS 無線通訊

7、定義通用分組無線服務(wù) (英語: General Packet Radio Service ,縮寫:GPRS)是 GSM 移動電話用戶可以使用的一種移動數(shù)據(jù)業(yè)務(wù) / 技術(shù) 。 它經(jīng)常被描述成 “ 2.5G 意”指,這項技術(shù)介于第二代 (2G)與第三代 ( 3G)移動通訊技術(shù)之間 。它是利用 GSM 網(wǎng)絡(luò)中未使用的 TDMA 信道,提供中速的數(shù)據(jù)傳輸服務(wù) 。 起初有人想通過擴展 GPRS來覆蓋其他標準 ,只是這些網(wǎng)絡(luò)都正在轉(zhuǎn)而使用 GSM 標準,這樣 GSM 就成了 GPRS唯一能夠使用的網(wǎng)絡(luò) 。GPRS在 Release 97 之后被集成進 GSM 標準,起先它是由 ETSI標準化,但是現(xiàn)在已經(jīng)

8、移交 3GPP 負責(zé) 。的技術(shù)特點數(shù)據(jù)實現(xiàn)分組發(fā)送和接收,按流量計費 ; 56115Kbps 的傳輸速度 .GPRS 的應(yīng)用 ,遲些還會配合 Bluetooth( 藍牙技術(shù) )的發(fā)展 。 到時,數(shù)碼相機加了 bluetooth ,就可以馬上通過手機 ,把像片傳送到遙遠的地方 ,也不過一刻鐘的時間 。相對于 GSM 的 9.6kbps 的訪問速度而言 ,GPRS 擁有 171.2kbps 的訪問速專業(yè) .專注.度;在連接建立時間方面 ,GSM 需要 10-30 秒,而 GPRS只需要極短的時間就可以訪問到相關(guān)請求 ;而對于費用而言 ,GSM 是按連接時間計費的 ,而 GPRS 只需要按數(shù)據(jù)流量計

9、費 ; GPRS對于網(wǎng)絡(luò)資源的利用率而相對遠遠高于 GSM。2 系統(tǒng)選型及設(shè)計2.1 硬件選型由于 ARM 系列處理器中 ARM9 對于 Linux 操作系統(tǒng)的支持性明顯強于 ARM7 。 因此 , 本模塊采用的核心微處理器是屬于 ARM9 系列微處理器的 SAMSUNG S3C2410出于成本和功能的考慮 ,本模塊中選用的GPRS/GSM 選用的 BenQ的 M22 無線模塊 。主要儀器設(shè)備如下 :SAMSUNG ST2410 ARM9開發(fā)板SHARP TFT_LCD 液晶屏BenQ M22 GPRS模塊SIM 卡GSM 900/1800 MHz吸盤天線BenQ M22電路板2.2 模塊總體

10、框圖專業(yè) .專注.3 系統(tǒng)硬件設(shè)計3.1 ARM硬件結(jié)構(gòu)及電路概述3.1.1 SANSUNG S3C2410概述S3C2410A 采用了 ARM920T 內(nèi)核 ,0.18um 工藝的 CMOS 標準宏單元和存儲單元 。 它的低功耗 、精簡和出色的全靜態(tài)設(shè)計特別適用于對成本和功耗敏感的應(yīng)用 。 同樣它還采用了一種叫做AdvancedMicrocontrollerBusArchitecture(AMBA) 新型總線結(jié)構(gòu) 。S3C2410 的顯著特性是它的CPU 核心 , 是一個由AdvancedRISCMachines(ARM) 有限 公 司 設(shè) 計 的 16/32位 ARM920TRISC 處理

11、器。ARM920T 核由 ARM9TDMI 、存儲管理單元 ( MMU )和高速緩存三部分組成 。其中, MMU 可以管理虛擬內(nèi)存。 ARM920T 實現(xiàn)了 MMU , AMBA BUS 和Harvard 高速緩沖體系結(jié)構(gòu) 。 這一結(jié)構(gòu)具有獨立的16KB指令 Cache 和16KB 數(shù)據(jù) Cache,每個都是由8 字長的行構(gòu)成 。ARM920T有兩個內(nèi)部協(xié)處理器:CP14 和 CP15。 CP14 用于調(diào)試控制 ,CP15 用于存儲系統(tǒng)控制以及測試控制。S3C2410 的內(nèi)部結(jié)構(gòu)圖如圖 3.1所示.圖 3.1 S3C2410內(nèi)部結(jié)構(gòu)圖硬件資源分配S3C2410 將系統(tǒng)的存儲空間分成8 組(Ba

12、nk ), 每組的大小是128MB ,共 1GB。 Bank0 到 Bank5 的開始地址是固定的 ,用于 ROM 或 SRAM。Bank6 和 Bank7 用于 ROM 、 SRAM 或 SDRAM ,這兩個組可編程且大小相同 。Bank7 的開始地址是Bank6 的結(jié)束地址,靈活可變 。 所有內(nèi)存塊的訪問周期都是可編程的。 S3C2410 采用nGCS7:08 個通用片選信號選擇這些組。因此, S3C2410 支持兩種啟動模式 :從 NAND FLASH 啟動和從外部 nGCS0 片選的 NOR FLASH 啟動 。所以在這兩種啟動模式下 , 各片選的存儲空間分配是不同的 , 這兩種啟動模

13、式的存儲分配如圖3.3 所示 :專業(yè) .專注.圖 3.3 存儲空間分配圖a)圖是 nGCS0 片選的 Nor Flash 啟動模式下的存儲分配圖 ; b) 圖是 NAND FLASH 啟動模式下的存儲分配圖 ;說明:SFR Area 為特殊寄存器地址空間。在進行器件地址說明之前,有一個點需要注意 , nGCS0 片選的空間在不同的。啟動模式下 ,映射的器件是不一樣的 。由下表可以知道:在 NANDFLASH 啟動模式下 ,內(nèi)部的4K BytesBootSRAM被映射到nGCS0 片選的空間 。 在 NorFlash 啟動模式 (非NAND FLASH啟動模式)下,與 nGCS0 相連的外部存儲

14、器Nor Flash就被映射到nGCS0 片選的空間 。地址范圍說明片選信號SFR(特殊寄存器)地址0x4800_00000x6000_0000空間NANDFLASH 啟動模式0x4000_00000x4000_0FFF下,該空間沒有被使用非NANDFLASH啟動模式下 ,該 空間為BootSRam0x3000_00000x3400_0000SDRAM空間nGCS60x1900_0300CS8900的 IO基址nGCS30x0000_00000x0020_0NANDFLASH 啟動模式000下,nGCS0專業(yè) .專注.BootRam的有效地址 :0x0000_00000x0000_0FFF非N

15、ANDFLASH啟動模式下, Nor Flash的有效地址空間為 :0x0000_00000x0020_0000表 3.1 硬件地址分配表接口資源跳線名稱說明JP1(核心板 )決定S3C2410的啟動模式插上短路塊從Nand Flash中啟動 ,默認不插上短路塊從Nor Flash中啟動表 3.2 跳線分配表按鍵名稱說明S1( Reset )( 核心板 )復(fù)位按鍵 ,小按鍵K1K4按鍵4 鍵盤表 3.3 核心板按鍵說明接口名稱說明T1(RJ45)以太網(wǎng)接口 ( RJ45, 帶隔離器的 )UART1(J8), UART3(J7)串行口1 ,2U10紅外線IrDASD_CARD(J1)SD 卡接口

16、J17USB HOST 接口專業(yè) .專注.USB_DEVICE(J15)USB DEVICE 接口J2音頻輸出接口J27CCFL 背光電源輸出接口J6板子的電源接口JP2一些擴展口JP1(LCD INTERFACE)LCD 和觸摸屏接口表 3.4底板接口說明的串口通訊由于在本系統(tǒng)中 ARM 與 PC 機和 M22 模塊都是通過串口進行通訊 。在此 ,我詳細介紹一下 S3C2410 的串口資源 。串行通信是微計算機之間一種常見的近距離通信手段,因使用方便 ,編程簡單而廣泛使用 ,幾乎所有的微控制器 , PC 都提供串行通信接口。(1)串行通訊傳輸格式圖 3.4 串口的幀數(shù)據(jù)傳輸格式開始前 ,線路

17、處于空閑狀態(tài) ,送出連續(xù) “1”傳。送開始時首先發(fā)一個 “0作”為起始位 ,然后出現(xiàn)在通信線上的是字符的二進制編碼數(shù)據(jù) 。每個字符的數(shù)據(jù)位長可以約定為 5 位、 6 位、 7 位或 8 位,一般采用 ASCII 編碼 。后面是奇偶校驗位 ,根據(jù)約定 ,用奇偶校驗位將所傳字符中為“ 1的”位數(shù)湊成奇數(shù)個或偶數(shù)個 。 也可以約定不要奇偶校驗 ,這樣就取消奇偶校驗位 。最后是表示停止位的 “1信”號,這個停止位可以約定持續(xù) 1 位、 1.5 位或 2 位的時間寬度 。專業(yè) .專注.至此一個字符傳送完畢 ,線路又進入空閑 ,持續(xù)為 “1”經(jīng)。過一段隨機的時間后 ,下一個字符開始傳送才又發(fā)出起始位 。每

18、一個數(shù)據(jù)位的寬度等于傳送波特率的倒數(shù) 。微機異步串行通信中 ,常用的波特率為 110 ,150,300 ,600 ,1200 , 2400, 4800 ,9600 等 。( 2) 電氣特性RS-232 標準采用的接口是 9 芯或 25 芯的 D 型插頭,常用的一般是 9 針插頭( DB-9),表 3.5 是 DB9 引腳說明 :引腳名稱全稱說明FGFrame Ground連到及其的接地線TXDTransmitted Data數(shù)據(jù)輸出線RXDReceived Data數(shù)據(jù)輸入線RTSRequest to Send要求發(fā)送數(shù)據(jù)CTSClear to Send回應(yīng)對方發(fā)送的RTS 的發(fā)送許可 ,告訴

19、對方可以發(fā)送DSRData Set Ready告知本機在待命狀態(tài)DataTerminalDTRReady告知數(shù)據(jù)終端處于待命狀態(tài)CDCarrier Detect載波檢出 ,用以確認是否收到Modem 的載波信號線的接地線(嚴格的說是信號線的零標準SGSignal Ground線)表 3.5 DB9 引腳說明圖 3.5 DB9 引腳實物圖要完成基本的通信功能 ,實際上只需要 RXD,TXD,GND 即可,但是由于專業(yè) .專注.BenQ 的 M22 通訊模塊需要握手信號 (RTS 和 CTS),所以在本系統(tǒng)中至少要接 5 根線 。 同時又由于 RS-232-C 標準所定義的高 ,低電平信號與 S3

20、C210X 系統(tǒng)的 LVTTL 電路定義的高 ,低電平信號完全不同 ,LVTTL 的標準邏輯 “1對”應(yīng)2V3.3V 電平,標準邏輯 “ 0對”應(yīng) 0V0.4V 電平,而 RS-232-C 標準采用負邏輯方式,標準邏輯 “1對”應(yīng) -5V-15V 電平,標準邏輯 “0對”應(yīng) +5V+15V 。顯然 ,兩者間要進行通信 ,必須經(jīng)過電平的轉(zhuǎn)換 ,轉(zhuǎn)換芯片采用的 MAX232 。 電路原理圖見圖 3.6:圖 3.6 串口連接電路圖其中 J8 串口負責(zé)與BenQ M22通訊,J7 串口負責(zé)與PC 機通訊 。( 3) S3C2410 的 UART 操作S3C2410 的 UART(通用異步串行口 )單元

21、提供三個獨立的異步串行 I/O 端口,每個都可以在中斷和 DMA 兩種模式下進行 。它們支持最高波特率 115.2Kbps 。 每個 UART 通道包含 2 個 16 位 FIFO 分別提供給接收和發(fā)送。S3C2410X 的 UART 可以進行以下參數(shù)的設(shè)置 :可編程的波特率 ,紅外收 / 發(fā)模式,1 或 2 個停止位 ,5 位,6 位,7 位或 8 位數(shù)據(jù)寬度和奇偶位校驗 。1)發(fā)送數(shù)據(jù)數(shù)據(jù)發(fā)送幀的格式是可編程的 ,它包含一個開始位 ,5 到 8 個數(shù)據(jù)位,一個可選的奇偶位和一個或兩個停止位 ,這些可以通過線性控制器 UCONn) 來設(shè)置 。 發(fā)送器也能夠產(chǎn)生發(fā)送中止條件 。中止條件迫使串口

22、輸出保持在邏輯 0 狀態(tài),這種狀態(tài)保持一個傳輸幀的時間長度 。 通常在一幀傳輸數(shù)據(jù)完整地傳輸完之后 ,在通過這個全 0 狀態(tài)將中止信號發(fā)送專業(yè).給對方 。 中止信號發(fā)送之后,傳送數(shù)據(jù)連續(xù)放到FIFO 中(在不使用FIFO 模式下,將被放到輸出保持寄存器)。2)接收數(shù)據(jù)與數(shù)據(jù)發(fā)送一樣 ,數(shù)據(jù)接收的幀也是可以編程的 ,它包含一個開始位,5 到 8 個數(shù)據(jù),一個可選的奇偶位和一位或兩位停止位 ,它們都是通過線性控制器 ( ULCONn )來設(shè)置的 。接收器能夠檢測溢出錯誤 ,奇偶校驗錯誤 ,幀錯誤和中止?fàn)顩r ,每種情況下都將會將一個錯誤標志置位。3)波特率的設(shè)置每個 UART 的波特率發(fā)生器為傳輸提

23、供了串行移位時鐘 。波特率產(chǎn)生器的時鐘源可以 C、從 S3C2410X 的內(nèi)部系統(tǒng)時鐘或 UCLK 中來選擇 。波特率由時鐘源( PCLK 或 UCLK) 16 分頻和UART 波特率除數(shù)寄存器 ( UBRDIVn )指定的 16 位除數(shù)決定 。 UBRDIVn 的值可以按照下式確定 : UBRDIVn = (int) (PCLK/(bps*16 ) -1例如 ,如果波特率為115200bps且 PCLK 或 UCLK 為 40MHz,則UBRDIVn 為:UBRDIVn = (int )(40000000)(115200*16)-1= (int)(21.7)-1= 21-1 = 203.2

24、M22通訊電路板的設(shè)計BenQ M22 通訊電路板主要是由M22無線模塊的外圍接口電路組成 (參見附錄 1)。該電路板主要包括以下幾個部分 :(1)電源與整流部分(2)串口通訊接口(3)SIM 卡電路(4)差分語音電路(5)LED 信號燈顯示電路(6)蜂鳴器接口(7)按鍵輸入(8)天線接口其管腳(44 腳)分配如表3.6 所示專業(yè) .專注.管腳名管腳數(shù)目UART/RS2326UART22BU1GPIO6Power On1LED Driver1SIM4VBATRF3VBATBB1Audio7Keypad Interrupt1BGND10NC1表 3.6 BenQ M22管腳分配表電源部分設(shè)計描述

25、RS232 接口軟件調(diào)試蜂鳴器輸出通用I/O管腳上電運行LED 驅(qū)動SIM 卡接口RF 的電源輸入BB 的電源輸入語音接口鍵盤中斷接口地?zé)o連接我們知道無線模塊的耗電具有不穩(wěn)定的特點。在待機狀態(tài) ,在和基站的握手狀態(tài) ,在通話狀態(tài) ,在撥號狀態(tài) ,在信號強弱不同的地方這些因素都會直接的影響無線模塊的耗電流 ,所以無線模塊的電源設(shè)計非常重要 。因此我的電源設(shè)計方案采用LM7805 和 LM2576 的聯(lián)合設(shè)計 。直流 電源 ( 12V )輸入 LM7805 ,然后輸出 DC5V ,與此 同時通 過 LM2576 產(chǎn)生 DC4V 電壓供給 M22 。 由于 LM2576 具有可靠的工作性能 、較高的

26、工作效率和較強的輸出電流驅(qū)動能力 ,從而為 M22 的穩(wěn)定、可靠工作提供了強有力的保證 。專業(yè) .專注.圖 3.9 M22電路板電源部分電路原理圖BenQ M22與 SIM 卡的接口由于 BenQ M22 必須通過中國電信的 GSM/GPRS 網(wǎng)絡(luò)才能夠工作 , 所以必須要用到 SIM 電話卡 。安裝時只要以右上角的缺口為準即可 。圖 3.10 SIM卡接口電路原理圖在語音通訊設(shè)計方面的問題在語音通訊方面 ,M22 提供了兩個語音通道 : 一個我們叫做差分通道 ,也就是說無論是 MICPHONE 信號的輸入 ,還是 SPEAKER信號的輸出都是采用差分的形式 。 也就是我們平時所說的 “雙端輸

27、入雙端輸出 ”。在管腳的定義上MICIP,MICIN 就分別是 MICPHONE 的正輸入端和負輸入端 。 EARP,EARN就分別是 SPEAKER的正輸出端和負輸出端 。另一路語音通道是單端方式 。具體管腳定義為 AUXI 和 AUXOP。 其中 AUXI 為 MICPHONE 的正輸入端 , MICPHONE 的負輸入端應(yīng)該對地 。 AUXOP 為 SPERKER 的正輸出端 ,SPERKER的另一端應(yīng)該對地 。當(dāng)然從外部線路的轉(zhuǎn)換來說在這一路語音通道的使用中 ,MICPHONE 也可以接成差分的形式 ,但是需要一個轉(zhuǎn)換電路 。SPERKER也可以接成差分輸入的形式 ,也需要一個差分轉(zhuǎn)單

28、端的線路 。以上說了關(guān)于單端語音通道的一些問題。下面我們敘述一下差分語音通道的一些問題 。圖 3.11 是差分端的 MICPHONE 輸入?yún)⒖紙D.圖 3.11 差分方式的 MICPHONE 電路原理圖圖 3.12 是 SPEAKER 的線路圖圖 3.12 差分方式的SPEAKER 電路原理圖需要說明的是 ,由于單端輸入單端輸出的語音通道特別容易受到輻射干擾,從而對語音的質(zhì)量產(chǎn)生了很大的影響,所以在本系統(tǒng)中只采用了差分語音通道。通訊板的串口前面已經(jīng)提到了由于RS-232 電平的問題 ,M22不能直接和PC 機通訊,但是可以直接和ARM 或單片機通訊 ,不需要任何電平轉(zhuǎn)換芯片。那為什么這里卻又需要

29、一個電平轉(zhuǎn)換芯片(SP3238)呢?主要是由于ST2410 上的串口已經(jīng)通過了MAX232 ,轉(zhuǎn)換成了RS-232-C電平。為了能夠與其通訊,必須也要將由M22出來的串口信號轉(zhuǎn)換成RS-232-C 電平 。在此,我們采用的是另一種電平轉(zhuǎn)換芯片SP3238。因為此芯片可以一次轉(zhuǎn)換9 個信號線 ,與 MAX232相比更方便 。.圖 3.20 M22 與 ARM 進行串口通訊原理圖圖 3.21 SP3238 與 M22接口的電路原理圖4 系統(tǒng)軟件設(shè)計該 GPRS通訊程序是在 ARM ADS 1.2 (ARM Developer Suite 。是 ARM專業(yè) .專注.公司推出的新一代 ARM 集成開發(fā)

30、工具 。) 集成開發(fā)環(huán)境中編譯通過后 ,然后產(chǎn)生可以直接燒寫在 FLASH 中的 .bin 格式的二進制可執(zhí)行文件 ,最后進行下載運行的 。4.1 引導(dǎo)加載程序的設(shè)計引導(dǎo)加載程序 (Bootloader )是嵌入式系統(tǒng)的重要組成部分。的基本概念一個嵌入式Linux 系統(tǒng)從軟件的角度看 ,通??梢苑譃樗膫€層次 :( 1)引導(dǎo)加載程序 :包括固化在固件 (firmware) 中的 boot 代碼 (可選 ),和 Boot Loader 兩大部分 。(2)Linux 內(nèi)核:特定于嵌入式板子的定制內(nèi)核以及內(nèi)核的啟動參數(shù)。(3)文件系統(tǒng) : 包括根文件系統(tǒng)和建立于Flash 內(nèi)存設(shè)備之上文件系統(tǒng) 。(

31、4)用戶應(yīng)用程序 。 特定于用戶的應(yīng)用程序 ,有時在用戶應(yīng)用程序和內(nèi)核層之間可能還會包括一個嵌入式圖形用戶界面 。 常用的嵌入式 GUI 有:MicroWindows和 MiniGUI 等。引導(dǎo)加載程序是系統(tǒng)加電后運行的第一段代碼。 我們熟悉的 PC 中的引導(dǎo)程序一般由BIOS 和位于 MBR 的 OS bootloader (例如 LILO或者GRUB)一起組成 。 然而在嵌入式系統(tǒng)中通常沒有像BIOS 那樣的固件程序(有的嵌入式 CPU 有),因此整個系統(tǒng)的加載啟動任務(wù)就完全由bootloader來 完 成 。 在 嵌 入 式 Linux 中 , 引 導(dǎo) 加 載 程 序 即 等 效 為bo

32、otloader。簡單地說 , bootloader 就是在操作系統(tǒng)內(nèi)核運行前運行地一段小程序。通過這段小程序 ,我們可以初始化必要的硬件設(shè)備,創(chuàng)建內(nèi)核需要的一些信息并將這些信息通過相關(guān)機制傳遞給內(nèi)核,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài) ,最終調(diào)用操作系統(tǒng)內(nèi)核,真正起到引導(dǎo)和加載內(nèi)核的作用 。bootloader是依賴于硬件而實現(xiàn)的,特別是在嵌入式系統(tǒng)中 。 每種不同的 CPU 體系結(jié)構(gòu)都有不同的 BootLoader 。有些 Boot Loader 也支持多種體系結(jié)構(gòu)的 CPU,比如 U-Boot 就同時支持 ARM 體系結(jié)構(gòu)和 MIPS 體系結(jié)構(gòu) 。除了依賴于 CPU 的體系結(jié)構(gòu)外

33、,Boot Loader 實際上也依賴于具體的嵌入式板級設(shè)備的配置 。 也就是說 ,對于兩塊不同的嵌入式板而言 ,即使它們基于相同的 CPU構(gòu)建,運行在其中一塊電路板上的 bootloader ,未必能夠運行在另一塊電路開發(fā)板上。盡管如此,我們?nèi)匀豢梢詫?Bootloader 歸納出一些通用的概念來 ,以指導(dǎo)用戶特定的 Bootloader 設(shè)專業(yè) .專注.計與實現(xiàn) :( 1) Boot Loader 的安裝媒介系統(tǒng)加電或復(fù)位后 ,所有的 CPU 通常都從某個由 CPU 制造商預(yù)先安排的地址上取指令 。比如 ,基于 ARM7TDMI core 的 CPU 在復(fù)位時通常都從地址 0x000000

34、00 取它的第一條指令 。而基于 CPU 構(gòu)建的嵌入式系統(tǒng)通常都有某種類型的固態(tài)存儲設(shè)備 (比如: ROM 、EEPROM 或 FLASH 等 )被映射到這個預(yù)先安排的地址上 。 因此在系統(tǒng)加電后 , CPU 將首先執(zhí)行 Boot Loader 程序 。( 2)用來控制 Boot Loader 的設(shè)備或機制主機和目標機之間一般通過串口建立連接 ,Boot Loader 軟件在執(zhí)行時通常會通過串口來進行I/O ,比如:輸出打印信息到串口 ,從串口讀取用戶控制字符等 。(3)Bootloader的啟動方式Bootloader的啟動過程可以是單階段的,也可以是多階段的 。 通常多階段的bootloa

35、der能提供更為復(fù)雜的功能 ,以及更好的可移植性 。 從固態(tài)存儲設(shè)備上啟動的bootloader大多數(shù)是二階段的啟動過程,也即啟動過程可以分為stage1 和 stage2 兩部分 。Boot Loader的 stage1 通常包括以下步驟 :1)硬件設(shè)備初始化 。2)為加載Boot Loader的 stage2 準備 RAM 空間。3)拷貝 Boot Loader的 stage2 到 RAM 空間中。4)設(shè)置好堆棧 。5)跳轉(zhuǎn)到stage2 的 C 入口點 。Boot Loader的 stage2 通常包括以下步驟1)初始化本階段要使用到的硬件設(shè)備。2)檢測系統(tǒng)內(nèi)存映射 (memory ma

36、p)。3)將 kernel映像和根文件系統(tǒng)映像從flash 上讀到 RAM 空間中 。4)為內(nèi)核設(shè)置啟動參數(shù) 。5)調(diào)用內(nèi)核 。( 4) Bootloader 的操作模式大多數(shù)bootloader都包含兩種不同的操作模式:“啟動加載 ”模式和 “下載 ”模式 ,這種區(qū)別對于開發(fā)人員才有意義 。 但從最終用戶的角度看 , bootloader 的作用永遠就是用來加載操作系統(tǒng) ,而并不存在所謂的啟動加載模式與下載工作模式的區(qū)別 。專業(yè) .專注.啟動加載模式 :這種模式也稱為 “自主 ”模式 ,即 bootloader從目標機上的某個固體存儲設(shè)備上將操作系統(tǒng)加載到RAM 中運行 ,整個過程沒有用戶的

37、介入 。這種模式是bootloader的正常工作模式 ,因此當(dāng)以嵌入式產(chǎn)品發(fā)布的時候 , bootloader必須工作在這種模式下 。下載模式 :在這種模式下 ,目標機上的bootloader將通過串口或者網(wǎng)絡(luò)連接或者其它通信手段從主機下載文件,比如:下載內(nèi)核鏡像和根文件系統(tǒng)鏡像等 。 從主機下載的文件通常首先被bootloader保存到目標機的RAM 中,然后被bootloader寫到目標機上的FLASH 類固態(tài)存儲設(shè)備中。Bootloader的這種模式通常在第一次安裝內(nèi)核與根文件系統(tǒng)時使用;此外,以后的系統(tǒng)更新也會使用bootloader的這種工作模式 。工作于這種模式下的 bootloader 通常

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論