



版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.課程設計說明書基于 ARM 的 GPRS模塊的設計專業學生姓名專業 .專注.班級學號指導教師完成日期2017年月日專業 .專注.目錄摘要.11 緒論 .11.1嵌入式系統 .11.1.1嵌入式系統概述 .11.1.2嵌入式處理器 .21.2 ARM 處理器 .21.3 GPRS 無線通訊 .21.3.1 GPRS 定義 .21.3.2 GPRS 的技術特點 .22 系統選型及設計 .32.1硬件選型 .32.2模塊總體框圖 .33 系統硬件設計 .43.1 ARM 硬件結構及電路概述 .43.1.1 SANSUNG S3C2410 概述 .43.1.2ST2410 硬件資源分配 .53.1.
2、3ST2410 接口資源 .73.1.4ST2410 的串口通訊 .83.2 M22 通訊電路板的設計 .113.2.1 BENQ 電源部分設計 .123.2.2BENQ M22 與 SIM 卡的接口 .133.2.3 BENQ M22 在語音通訊設計方面的問題.133.2.4 BENQ M22 通訊板的串口 .144 系統軟件設計 .15專業 .專注.4.1 引導加載程序的設計16的基本概念16的 BOOTLOADER 功能說明184.2 串口通訊程序的設計194.3 BENQ M22模塊內部的軟件特性195 模塊軟件運行流程圖206 模塊設計總結22專業 .專注.基于 ARM 與嵌入式 L
3、inux 的 GPRS 模塊摘要隨著科技的高速發展 ,嵌入式系統已經進入32 位時代 。在當前數字信息技術和網絡技術的高速發展的后PC 時代,嵌入式系統已經廣泛地應用于各類產業。 隨著國內外嵌入式產品地進一步開發和推廣,嵌入式技術和人類生活的聯系越發緊密 。本文介紹了在SAMSUNG ARM9 和嵌入式Linux 平臺上的 ,基于BenQ M22 模塊的GPRS 無線通訊模塊的軟硬件設計。主要內容包括 :M22通訊電路板的PCB 設計;ARM9 中 Bootloader編程與 FLASH 燒寫;M22和 ARM9 的外圍與內部硬件電路的設計 ;串口通訊的編程 ; AT 指令的收發等等 。 該系
4、統能夠實現語音通訊、短信服務 、來電查詢 、來電顯示等功能關鍵詞:嵌入式;ARM ;Linux ;GPRS1 緒論1.1 嵌入式系統嵌入式系統概述嵌入式系統 (Embedded System),是一種嵌入機械或電氣系統內部 、具有專一功能和實時計算性能的計算機系統 。 嵌入式系統常被用于高效控制許多常見設備 ,被嵌入的系統通常是包含數字硬件和機械部件的完整設備,例如汽車的防鎖死剎車系統。相反,通用計算機如個人電腦則設計靈活,可以智能處理各式各樣的運算情況 ,以滿足廣大終端用戶不同的需要。現代嵌入式系統通常是基于微控制器 (如含集成內存和 / 或外設接口的中央處理單元 )的,但在較復雜的系統中普
5、通微處理器 (使用外部存儲芯片和外設接口電路 )也很常見 。 通用型處理器 、專門進行某類計算的處理器 、為手持應用訂制設計的處理器等 ,都可能應用到嵌入式系統 。 常見的專用處理器有數字信號處理器 。專業 .專注.嵌入式處理器嵌入式處理器是嵌入式系統的核心,是控制 、輔助系統運行的硬件單元。可以分為 :嵌入式微處理器 、嵌入式微控制器 、嵌入式 DSP 處理器等 。嵌入式處理器是嵌入式系統的核心 ,是控制 、輔助系統運行的硬件單元 。范圍極其廣闊 ,從最初的 位處理器 ,目前仍在大規模應用的 位單片機 ,到最新的受到廣泛青睞的 32 位,64 位嵌入式 CPU。1.2 ARM處理器ARM 處
6、理器是一種 32 位嵌入式 RISC 處理器。ARM( AdvancedRISCMachines ),既可以認為是一個公司的名字 ,也可以認為是對微處理器的通稱 ,還可以認為是一種技術的名字 。ARM 處理器是一個 32 位元精簡指令集 (RISC)處理器架構 ,其廣泛地使用在許多嵌入式系統設計 。Thumb指令集為 ARM 指令集的功能子集 ,但與等價的 ARM 代碼相比較 ,可節省30%40% 以上的存儲空間 ,同時具備 32 位代碼的所有優點 。 大量使用寄存器 ,數據處理指令只對寄存器進行操作 ,只有加載 / 存儲指令可以訪問存儲器 ,以提高指令的執行效率 。1.3 GPRS 無線通訊
7、定義通用分組無線服務 (英語: General Packet Radio Service ,縮寫:GPRS)是 GSM 移動電話用戶可以使用的一種移動數據業務 / 技術 。 它經常被描述成 “ 2.5G 意”指,這項技術介于第二代 (2G)與第三代 ( 3G)移動通訊技術之間 。它是利用 GSM 網絡中未使用的 TDMA 信道,提供中速的數據傳輸服務 。 起初有人想通過擴展 GPRS來覆蓋其他標準 ,只是這些網絡都正在轉而使用 GSM 標準,這樣 GSM 就成了 GPRS唯一能夠使用的網絡 。GPRS在 Release 97 之后被集成進 GSM 標準,起先它是由 ETSI標準化,但是現在已經
8、移交 3GPP 負責 。的技術特點數據實現分組發送和接收,按流量計費 ; 56115Kbps 的傳輸速度 .GPRS 的應用 ,遲些還會配合 Bluetooth( 藍牙技術 )的發展 。 到時,數碼相機加了 bluetooth ,就可以馬上通過手機 ,把像片傳送到遙遠的地方 ,也不過一刻鐘的時間 。相對于 GSM 的 9.6kbps 的訪問速度而言 ,GPRS 擁有 171.2kbps 的訪問速專業 .專注.度;在連接建立時間方面 ,GSM 需要 10-30 秒,而 GPRS只需要極短的時間就可以訪問到相關請求 ;而對于費用而言 ,GSM 是按連接時間計費的 ,而 GPRS 只需要按數據流量計
9、費 ; GPRS對于網絡資源的利用率而相對遠遠高于 GSM。2 系統選型及設計2.1 硬件選型由于 ARM 系列處理器中 ARM9 對于 Linux 操作系統的支持性明顯強于 ARM7 。 因此 , 本模塊采用的核心微處理器是屬于 ARM9 系列微處理器的 SAMSUNG S3C2410出于成本和功能的考慮 ,本模塊中選用的GPRS/GSM 選用的 BenQ的 M22 無線模塊 。主要儀器設備如下 :SAMSUNG ST2410 ARM9開發板SHARP TFT_LCD 液晶屏BenQ M22 GPRS模塊SIM 卡GSM 900/1800 MHz吸盤天線BenQ M22電路板2.2 模塊總體
10、框圖專業 .專注.3 系統硬件設計3.1 ARM硬件結構及電路概述3.1.1 SANSUNG S3C2410概述S3C2410A 采用了 ARM920T 內核 ,0.18um 工藝的 CMOS 標準宏單元和存儲單元 。 它的低功耗 、精簡和出色的全靜態設計特別適用于對成本和功耗敏感的應用 。 同樣它還采用了一種叫做AdvancedMicrocontrollerBusArchitecture(AMBA) 新型總線結構 。S3C2410 的顯著特性是它的CPU 核心 , 是一個由AdvancedRISCMachines(ARM) 有限 公 司 設 計 的 16/32位 ARM920TRISC 處理
11、器。ARM920T 核由 ARM9TDMI 、存儲管理單元 ( MMU )和高速緩存三部分組成 。其中, MMU 可以管理虛擬內存。 ARM920T 實現了 MMU , AMBA BUS 和Harvard 高速緩沖體系結構 。 這一結構具有獨立的16KB指令 Cache 和16KB 數據 Cache,每個都是由8 字長的行構成 。ARM920T有兩個內部協處理器:CP14 和 CP15。 CP14 用于調試控制 ,CP15 用于存儲系統控制以及測試控制。S3C2410 的內部結構圖如圖 3.1所示.圖 3.1 S3C2410內部結構圖硬件資源分配S3C2410 將系統的存儲空間分成8 組(Ba
12、nk ), 每組的大小是128MB ,共 1GB。 Bank0 到 Bank5 的開始地址是固定的 ,用于 ROM 或 SRAM。Bank6 和 Bank7 用于 ROM 、 SRAM 或 SDRAM ,這兩個組可編程且大小相同 。Bank7 的開始地址是Bank6 的結束地址,靈活可變 。 所有內存塊的訪問周期都是可編程的。 S3C2410 采用nGCS7:08 個通用片選信號選擇這些組。因此, S3C2410 支持兩種啟動模式 :從 NAND FLASH 啟動和從外部 nGCS0 片選的 NOR FLASH 啟動 。所以在這兩種啟動模式下 , 各片選的存儲空間分配是不同的 , 這兩種啟動模
13、式的存儲分配如圖3.3 所示 :專業 .專注.圖 3.3 存儲空間分配圖a)圖是 nGCS0 片選的 Nor Flash 啟動模式下的存儲分配圖 ; b) 圖是 NAND FLASH 啟動模式下的存儲分配圖 ;說明:SFR Area 為特殊寄存器地址空間。在進行器件地址說明之前,有一個點需要注意 , nGCS0 片選的空間在不同的。啟動模式下 ,映射的器件是不一樣的 。由下表可以知道:在 NANDFLASH 啟動模式下 ,內部的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專業 .專注.BootRam的有效地址 :0x0000_00000x0000_0FFF非N
15、ANDFLASH啟動模式下, Nor Flash的有效地址空間為 :0x0000_00000x0020_0000表 3.1 硬件地址分配表接口資源跳線名稱說明JP1(核心板 )決定S3C2410的啟動模式插上短路塊從Nand Flash中啟動 ,默認不插上短路塊從Nor Flash中啟動表 3.2 跳線分配表按鍵名稱說明S1( Reset )( 核心板 )復位按鍵 ,小按鍵K1K4按鍵4 鍵盤表 3.3 核心板按鍵說明接口名稱說明T1(RJ45)以太網接口 ( RJ45, 帶隔離器的 )UART1(J8), UART3(J7)串行口1 ,2U10紅外線IrDASD_CARD(J1)SD 卡接口
16、J17USB HOST 接口專業 .專注.USB_DEVICE(J15)USB DEVICE 接口J2音頻輸出接口J27CCFL 背光電源輸出接口J6板子的電源接口JP2一些擴展口JP1(LCD INTERFACE)LCD 和觸摸屏接口表 3.4底板接口說明的串口通訊由于在本系統中 ARM 與 PC 機和 M22 模塊都是通過串口進行通訊 。在此 ,我詳細介紹一下 S3C2410 的串口資源 。串行通信是微計算機之間一種常見的近距離通信手段,因使用方便 ,編程簡單而廣泛使用 ,幾乎所有的微控制器 , PC 都提供串行通信接口。(1)串行通訊傳輸格式圖 3.4 串口的幀數據傳輸格式開始前 ,線路
17、處于空閑狀態 ,送出連續 “1”傳。送開始時首先發一個 “0作”為起始位 ,然后出現在通信線上的是字符的二進制編碼數據 。每個字符的數據位長可以約定為 5 位、 6 位、 7 位或 8 位,一般采用 ASCII 編碼 。后面是奇偶校驗位 ,根據約定 ,用奇偶校驗位將所傳字符中為“ 1的”位數湊成奇數個或偶數個 。 也可以約定不要奇偶校驗 ,這樣就取消奇偶校驗位 。最后是表示停止位的 “1信”號,這個停止位可以約定持續 1 位、 1.5 位或 2 位的時間寬度 。專業 .專注.至此一個字符傳送完畢 ,線路又進入空閑 ,持續為 “1”經。過一段隨機的時間后 ,下一個字符開始傳送才又發出起始位 。每
18、一個數據位的寬度等于傳送波特率的倒數 。微機異步串行通信中 ,常用的波特率為 110 ,150,300 ,600 ,1200 , 2400, 4800 ,9600 等 。( 2) 電氣特性RS-232 標準采用的接口是 9 芯或 25 芯的 D 型插頭,常用的一般是 9 針插頭( DB-9),表 3.5 是 DB9 引腳說明 :引腳名稱全稱說明FGFrame Ground連到及其的接地線TXDTransmitted Data數據輸出線RXDReceived Data數據輸入線RTSRequest to Send要求發送數據CTSClear to Send回應對方發送的RTS 的發送許可 ,告訴
19、對方可以發送DSRData Set Ready告知本機在待命狀態DataTerminalDTRReady告知數據終端處于待命狀態CDCarrier Detect載波檢出 ,用以確認是否收到Modem 的載波信號線的接地線(嚴格的說是信號線的零標準SGSignal Ground線)表 3.5 DB9 引腳說明圖 3.5 DB9 引腳實物圖要完成基本的通信功能 ,實際上只需要 RXD,TXD,GND 即可,但是由于專業 .專注.BenQ 的 M22 通訊模塊需要握手信號 (RTS 和 CTS),所以在本系統中至少要接 5 根線 。 同時又由于 RS-232-C 標準所定義的高 ,低電平信號與 S3
20、C210X 系統的 LVTTL 電路定義的高 ,低電平信號完全不同 ,LVTTL 的標準邏輯 “1對”應2V3.3V 電平,標準邏輯 “ 0對”應 0V0.4V 電平,而 RS-232-C 標準采用負邏輯方式,標準邏輯 “1對”應 -5V-15V 電平,標準邏輯 “0對”應 +5V+15V 。顯然 ,兩者間要進行通信 ,必須經過電平的轉換 ,轉換芯片采用的 MAX232 。 電路原理圖見圖 3.6:圖 3.6 串口連接電路圖其中 J8 串口負責與BenQ M22通訊,J7 串口負責與PC 機通訊 。( 3) S3C2410 的 UART 操作S3C2410 的 UART(通用異步串行口 )單元
21、提供三個獨立的異步串行 I/O 端口,每個都可以在中斷和 DMA 兩種模式下進行 。它們支持最高波特率 115.2Kbps 。 每個 UART 通道包含 2 個 16 位 FIFO 分別提供給接收和發送。S3C2410X 的 UART 可以進行以下參數的設置 :可編程的波特率 ,紅外收 / 發模式,1 或 2 個停止位 ,5 位,6 位,7 位或 8 位數據寬度和奇偶位校驗 。1)發送數據數據發送幀的格式是可編程的 ,它包含一個開始位 ,5 到 8 個數據位,一個可選的奇偶位和一個或兩個停止位 ,這些可以通過線性控制器 UCONn) 來設置 。 發送器也能夠產生發送中止條件 。中止條件迫使串口
22、輸出保持在邏輯 0 狀態,這種狀態保持一個傳輸幀的時間長度 。 通常在一幀傳輸數據完整地傳輸完之后 ,在通過這個全 0 狀態將中止信號發送專業.給對方 。 中止信號發送之后,傳送數據連續放到FIFO 中(在不使用FIFO 模式下,將被放到輸出保持寄存器)。2)接收數據與數據發送一樣 ,數據接收的幀也是可以編程的 ,它包含一個開始位,5 到 8 個數據,一個可選的奇偶位和一位或兩位停止位 ,它們都是通過線性控制器 ( ULCONn )來設置的 。接收器能夠檢測溢出錯誤 ,奇偶校驗錯誤 ,幀錯誤和中止狀況 ,每種情況下都將會將一個錯誤標志置位。3)波特率的設置每個 UART 的波特率發生器為傳輸提
23、供了串行移位時鐘 。波特率產生器的時鐘源可以 C、從 S3C2410X 的內部系統時鐘或 UCLK 中來選擇 。波特率由時鐘源( PCLK 或 UCLK) 16 分頻和UART 波特率除數寄存器 ( UBRDIVn )指定的 16 位除數決定 。 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通訊電路板的設計BenQ M22 通訊電路板主要是由M22無線模塊的外圍接口電路組成 (參見附錄 1)。該電路板主要包括以下幾個部分 :(1)電源與整流部分(2)串口通訊接口(3)SIM 卡電路(4)差分語音電路(5)LED 信號燈顯示電路(6)蜂鳴器接口(7)按鍵輸入(8)天線接口其管腳(44 腳)分配如表3.6 所示專業 .專注.管腳名管腳數目UART/RS2326UART22BU1GPIO6Power On1LED Driver1SIM4VBATRF3VBATBB1Audio7Keypad Interrupt1BGND10NC1表 3.6 BenQ M22管腳分配表電源部分設計描述
25、RS232 接口軟件調試蜂鳴器輸出通用I/O管腳上電運行LED 驅動SIM 卡接口RF 的電源輸入BB 的電源輸入語音接口鍵盤中斷接口地無連接我們知道無線模塊的耗電具有不穩定的特點。在待機狀態 ,在和基站的握手狀態 ,在通話狀態 ,在撥號狀態 ,在信號強弱不同的地方這些因素都會直接的影響無線模塊的耗電流 ,所以無線模塊的電源設計非常重要 。因此我的電源設計方案采用LM7805 和 LM2576 的聯合設計 。直流 電源 ( 12V )輸入 LM7805 ,然后輸出 DC5V ,與此 同時通 過 LM2576 產生 DC4V 電壓供給 M22 。 由于 LM2576 具有可靠的工作性能 、較高的
26、工作效率和較強的輸出電流驅動能力 ,從而為 M22 的穩定、可靠工作提供了強有力的保證 。專業 .專注.圖 3.9 M22電路板電源部分電路原理圖BenQ M22與 SIM 卡的接口由于 BenQ M22 必須通過中國電信的 GSM/GPRS 網絡才能夠工作 , 所以必須要用到 SIM 電話卡 。安裝時只要以右上角的缺口為準即可 。圖 3.10 SIM卡接口電路原理圖在語音通訊設計方面的問題在語音通訊方面 ,M22 提供了兩個語音通道 : 一個我們叫做差分通道 ,也就是說無論是 MICPHONE 信號的輸入 ,還是 SPEAKER信號的輸出都是采用差分的形式 。 也就是我們平時所說的 “雙端輸
27、入雙端輸出 ”。在管腳的定義上MICIP,MICIN 就分別是 MICPHONE 的正輸入端和負輸入端 。 EARP,EARN就分別是 SPEAKER的正輸出端和負輸出端 。另一路語音通道是單端方式 。具體管腳定義為 AUXI 和 AUXOP。 其中 AUXI 為 MICPHONE 的正輸入端 , MICPHONE 的負輸入端應該對地 。 AUXOP 為 SPERKER 的正輸出端 ,SPERKER的另一端應該對地 。當然從外部線路的轉換來說在這一路語音通道的使用中 ,MICPHONE 也可以接成差分的形式 ,但是需要一個轉換電路 。SPERKER也可以接成差分輸入的形式 ,也需要一個差分轉單
28、端的線路 。以上說了關于單端語音通道的一些問題。下面我們敘述一下差分語音通道的一些問題 。圖 3.11 是差分端的 MICPHONE 輸入參考圖.圖 3.11 差分方式的 MICPHONE 電路原理圖圖 3.12 是 SPEAKER 的線路圖圖 3.12 差分方式的SPEAKER 電路原理圖需要說明的是 ,由于單端輸入單端輸出的語音通道特別容易受到輻射干擾,從而對語音的質量產生了很大的影響,所以在本系統中只采用了差分語音通道。通訊板的串口前面已經提到了由于RS-232 電平的問題 ,M22不能直接和PC 機通訊,但是可以直接和ARM 或單片機通訊 ,不需要任何電平轉換芯片。那為什么這里卻又需要
29、一個電平轉換芯片(SP3238)呢?主要是由于ST2410 上的串口已經通過了MAX232 ,轉換成了RS-232-C電平。為了能夠與其通訊,必須也要將由M22出來的串口信號轉換成RS-232-C 電平 。在此,我們采用的是另一種電平轉換芯片SP3238。因為此芯片可以一次轉換9 個信號線 ,與 MAX232相比更方便 。.圖 3.20 M22 與 ARM 進行串口通訊原理圖圖 3.21 SP3238 與 M22接口的電路原理圖4 系統軟件設計該 GPRS通訊程序是在 ARM ADS 1.2 (ARM Developer Suite 。是 ARM專業 .專注.公司推出的新一代 ARM 集成開發
30、工具 。) 集成開發環境中編譯通過后 ,然后產生可以直接燒寫在 FLASH 中的 .bin 格式的二進制可執行文件 ,最后進行下載運行的 。4.1 引導加載程序的設計引導加載程序 (Bootloader )是嵌入式系統的重要組成部分。的基本概念一個嵌入式Linux 系統從軟件的角度看 ,通常可以分為四個層次 :( 1)引導加載程序 :包括固化在固件 (firmware) 中的 boot 代碼 (可選 ),和 Boot Loader 兩大部分 。(2)Linux 內核:特定于嵌入式板子的定制內核以及內核的啟動參數。(3)文件系統 : 包括根文件系統和建立于Flash 內存設備之上文件系統 。(
31、4)用戶應用程序 。 特定于用戶的應用程序 ,有時在用戶應用程序和內核層之間可能還會包括一個嵌入式圖形用戶界面 。 常用的嵌入式 GUI 有:MicroWindows和 MiniGUI 等。引導加載程序是系統加電后運行的第一段代碼。 我們熟悉的 PC 中的引導程序一般由BIOS 和位于 MBR 的 OS bootloader (例如 LILO或者GRUB)一起組成 。 然而在嵌入式系統中通常沒有像BIOS 那樣的固件程序(有的嵌入式 CPU 有),因此整個系統的加載啟動任務就完全由bootloader來 完 成 。 在 嵌 入 式 Linux 中 , 引 導 加 載 程 序 即 等 效 為bo
32、otloader。簡單地說 , bootloader 就是在操作系統內核運行前運行地一段小程序。通過這段小程序 ,我們可以初始化必要的硬件設備,創建內核需要的一些信息并將這些信息通過相關機制傳遞給內核,從而將系統的軟硬件環境帶到一個合適的狀態 ,最終調用操作系統內核,真正起到引導和加載內核的作用 。bootloader是依賴于硬件而實現的,特別是在嵌入式系統中 。 每種不同的 CPU 體系結構都有不同的 BootLoader 。有些 Boot Loader 也支持多種體系結構的 CPU,比如 U-Boot 就同時支持 ARM 體系結構和 MIPS 體系結構 。除了依賴于 CPU 的體系結構外
33、,Boot Loader 實際上也依賴于具體的嵌入式板級設備的配置 。 也就是說 ,對于兩塊不同的嵌入式板而言 ,即使它們基于相同的 CPU構建,運行在其中一塊電路板上的 bootloader ,未必能夠運行在另一塊電路開發板上。盡管如此,我們仍然可以對 Bootloader 歸納出一些通用的概念來 ,以指導用戶特定的 Bootloader 設專業 .專注.計與實現 :( 1) Boot Loader 的安裝媒介系統加電或復位后 ,所有的 CPU 通常都從某個由 CPU 制造商預先安排的地址上取指令 。比如 ,基于 ARM7TDMI core 的 CPU 在復位時通常都從地址 0x000000
34、00 取它的第一條指令 。而基于 CPU 構建的嵌入式系統通常都有某種類型的固態存儲設備 (比如: ROM 、EEPROM 或 FLASH 等 )被映射到這個預先安排的地址上 。 因此在系統加電后 , CPU 將首先執行 Boot Loader 程序 。( 2)用來控制 Boot Loader 的設備或機制主機和目標機之間一般通過串口建立連接 ,Boot Loader 軟件在執行時通常會通過串口來進行I/O ,比如:輸出打印信息到串口 ,從串口讀取用戶控制字符等 。(3)Bootloader的啟動方式Bootloader的啟動過程可以是單階段的,也可以是多階段的 。 通常多階段的bootloa
35、der能提供更為復雜的功能 ,以及更好的可移植性 。 從固態存儲設備上啟動的bootloader大多數是二階段的啟動過程,也即啟動過程可以分為stage1 和 stage2 兩部分 。Boot Loader的 stage1 通常包括以下步驟 :1)硬件設備初始化 。2)為加載Boot Loader的 stage2 準備 RAM 空間。3)拷貝 Boot Loader的 stage2 到 RAM 空間中。4)設置好堆棧 。5)跳轉到stage2 的 C 入口點 。Boot Loader的 stage2 通常包括以下步驟1)初始化本階段要使用到的硬件設備。2)檢測系統內存映射 (memory ma
36、p)。3)將 kernel映像和根文件系統映像從flash 上讀到 RAM 空間中 。4)為內核設置啟動參數 。5)調用內核 。( 4) Bootloader 的操作模式大多數bootloader都包含兩種不同的操作模式:“啟動加載 ”模式和 “下載 ”模式 ,這種區別對于開發人員才有意義 。 但從最終用戶的角度看 , bootloader 的作用永遠就是用來加載操作系統 ,而并不存在所謂的啟動加載模式與下載工作模式的區別 。專業 .專注.啟動加載模式 :這種模式也稱為 “自主 ”模式 ,即 bootloader從目標機上的某個固體存儲設備上將操作系統加載到RAM 中運行 ,整個過程沒有用戶的
37、介入 。這種模式是bootloader的正常工作模式 ,因此當以嵌入式產品發布的時候 , bootloader必須工作在這種模式下 。下載模式 :在這種模式下 ,目標機上的bootloader將通過串口或者網絡連接或者其它通信手段從主機下載文件,比如:下載內核鏡像和根文件系統鏡像等 。 從主機下載的文件通常首先被bootloader保存到目標機的RAM 中,然后被bootloader寫到目標機上的FLASH 類固態存儲設備中。Bootloader的這種模式通常在第一次安裝內核與根文件系統時使用;此外,以后的系統更新也會使用bootloader的這種工作模式 。工作于這種模式下的 bootloader 通常
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網絡安全法與網絡安全知識
- 物聯網與智能軍事系統
- 環境保護科普知識
- 2025年全國大學生禁毒知識競賽題庫及答案(共60題)
- 2025年福建晉江產業發展投資集團有限公司招聘筆試參考題庫附帶答案詳解
- 2025年江西贛州市崇義縣金竹礦業有限公司招聘筆試參考題庫附帶答案詳解
- 2025年山東臨沂交通運輸投資集團有限公司招聘筆試參考題庫含答案解析
- 2025停車場管理員勞動合同
- 2025監理工程師《合同管理》考點招標與投標管理的相關性分析
- 2025全球合同管理中的財務評估與風險控制探究
- 經典的咨詢服務合同協議書2024年
- 中班音樂《粉刷匠》
- 2020年全國1卷-語文真題(解析版)
- DL 5190.3-2019 電力建設施工技術規范 第3部分:汽輪發電機組
- 關于學生假期(寒暑假)安排的調查問卷
- 北京市海淀區2023-2024學年八年級下學期期末考試英語試題(解析版)
- 重癥醫學中級考試記憶總結
- 成語故事對牛彈琴
- 物流成本管理第四版段春媚課后參考答案
- MOOC 中醫兒科學-廣州中醫藥大學 中國大學慕課答案
- 馬拉松賽事運營服務方案
評論
0/150
提交評論