999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于“Steppingstone”的Bootloader的設(shè)計(jì)與優(yōu)化

2008-04-12 00:00:00劉裕華
現(xiàn)代電子技術(shù) 2008年16期

摘 要:在嵌入式系統(tǒng)中,Bootloader起著引導(dǎo)加載系統(tǒng)鏡像的重要作用,通常運(yùn)行于具有XIP特性的NOR FLASH中。在以SAMSUNG S3C2440A嵌入式處理器為核心的硬件平臺(tái)上,基于處理器內(nèi)置的稱為“Steppingstone”的SRAM緩存,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)從NAND FLASH啟動(dòng)的Bootloader,對(duì)處理器及其內(nèi)部功能模塊進(jìn)行初始化工作,并通過采用串口下載等方法改進(jìn)調(diào)試過程,提高平臺(tái)的開發(fā)速度,極大地方便了開發(fā)人員的研發(fā)工作。

關(guān)鍵詞:Bootloader;S3C2440A;NAND;Steppingstone

中圖分類號(hào):TP368 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1004373X(2008)1609802

Design and Optimization of Bootloader Based on \"Steppingstone\"

LIU Yuhua,ZHANG Zhe,ZHANG Meng

(National ASIC System Engineering Center,Southeast University,Nanjing,210096,China)

Abstract:In embedded system,Bootloader plays an important part on loading and booting the operating system mirror image.It often runs on NOR FLASH with XIP characteristic.Based on an internal SRAM buffer called \"Steppingstone\",a bootloader booted from NAND FLASH,which initializes the processor′s function block,is designed and realized on the hardware platform with the core of SAMSUNG S3C2440A embedded microprocessor.Several methods,such as downloading through serial port,are used to improve debugging process,which enhance the platform development speed,enormously facilitate development personnel′s research and development work.

Keywords:Bootloader;S3C2440A;NAND;Steppingstone

隨著社會(huì)信息化的日益加強(qiáng),新型嵌入式系統(tǒng)設(shè)備廣泛應(yīng)用于工業(yè)生產(chǎn)。ARM體系結(jié)構(gòu)的微處理器與Windows CE操作系統(tǒng)的不斷應(yīng)用與推廣,有效地促進(jìn)了嵌入式系統(tǒng)的發(fā)展。嵌入式系統(tǒng)由板級(jí)支持包(BSP)為系統(tǒng)軟件(主要是嵌入式操作系統(tǒng)和用戶程序)和目標(biāo)硬件(包括嵌入式微處理器和外圍設(shè)備等)提供接口,其中BootLoader是BSP最重要的組成部分。

1 硬件平臺(tái)結(jié)構(gòu)

硬件平臺(tái)采用SAMSUNG S3C2440A作為處理器, S3C2440A作為一款基于ARM920T核

開發(fā)的16/32位RISC微處理器,為手持設(shè)備等嵌入式系統(tǒng)設(shè)備提供低功耗、高性能的微控制器解決方案。

如圖1所示,S3C2440A的一大特點(diǎn)是內(nèi)置了稱為“Steppingstone”的SRAM緩存以支持BootLoader 從NAND FLASH而非NOR FLASH啟動(dòng),因而Bootloader無需再存放于NOR FLASH中。SRAM彌補(bǔ)了NAND FLASH的非XIP特性,為了在NAND FLASH與SRAM,SDRAM間有效地傳送數(shù)據(jù),S3C2440A通過NAND FLASH 控制器進(jìn)行管理,由控制器通過相連的Pin腳狀態(tài)獲取相關(guān)信息,主要GPIO引腳功能如表1所示:

在此需要特別注意的是,在Steppingstone中運(yùn)行的鏡像是不使用ECC校驗(yàn)的,所以應(yīng)保證在NAND FLASH的前4 kB空間中,沒有任何1位的錯(cuò)誤。

2 BootLoader的設(shè)計(jì)與實(shí)現(xiàn)

Bootloader在整個(gè)系統(tǒng)中的位置如圖2所示,這段在操作系統(tǒng)內(nèi)核運(yùn)行之前的程序主要實(shí)現(xiàn)以下幾項(xiàng)基本功能:

(1) 將系統(tǒng)設(shè)置為某一確定的狀態(tài),即對(duì)系統(tǒng)設(shè)備進(jìn)行初始化;

(2) 更新/加載系統(tǒng)鏡像;

(3) 跳轉(zhuǎn)到系統(tǒng)鏡像的入口點(diǎn)。

上述幾項(xiàng)任務(wù)的完成,將系統(tǒng)的軟硬件環(huán)境置于合適的狀態(tài),為最終調(diào)用系統(tǒng)內(nèi)核作好準(zhǔn)備。

2.1 Bootloader的流程

由于采用從NAND FLASH啟動(dòng)Bootloader,而Steppingstone的大小僅為4 kB,因而將Bootloader劃分為2個(gè)階段:Steppingstone Loader(Stepldr)和XBoot。其中,在Stepldr階段,代碼只負(fù)責(zé)初始化CPU和一些核心器件,主要完成GPIO口、CPU時(shí)鐘頻率、內(nèi)存控制寄存器以及UART和NAND FLASH的初始化,并要屏蔽所有中斷。初始化工作完成后,即需將XBOOT鏡像加載到SDRAM中運(yùn)行,XBOOT將完成其余系統(tǒng)硬件的初始化直到加載操作系統(tǒng)鏡像并啟動(dòng)操作系統(tǒng)。

2.2 軟件設(shè)計(jì)

在嵌人式系統(tǒng)中,Bootloader是依賴于硬件而實(shí)現(xiàn)的,不同的體系結(jié)構(gòu)對(duì)Bootloader有不同的需求,需要根據(jù)不同的板級(jí)配置修改相應(yīng)的Bootloader,以適應(yīng)不同的應(yīng)用需要。

2.2.1 BIB文件的配置

在Stepldr階段的最后部分,需要完成XBOOT鏡像加載,并跳轉(zhuǎn)到相應(yīng)的位置運(yùn)行。所以,這里在Stepldr代碼段中指定的跳轉(zhuǎn)地址必須與XBOOT所存放的地址相一致,才能保證Bootloader的正常運(yùn)行。

首先,在BIB文件中,對(duì)XBOOT鏡像的起始地址等參數(shù)做如下配置:

MEMORY

; Name Start Size Type

;---- ----- -----

XBOOT 8C078000 00040000 RAMIMAGE

CONFIG

ROMSTART=8C078000

ROMSIZE=00040000

圖3顯示從NAND FLASH啟動(dòng)時(shí)存儲(chǔ)空間分配情況。BIB文件中定義了XBOOT起始地址為0x8C078000,但此處所使用的是虛擬地址,而在Stepldr代碼中所指定的跳轉(zhuǎn)地址必須為物理地址,因而在映射后定義:

JumpAddr = 0x30078000;

在尾段調(diào)用Launch(JumpAddr)函數(shù),即可完成XBOOT鏡像的加載運(yùn)行。

2.2.2 通過串口加載XBOOT鏡像

Stepldr鏡像只有4 kB大小,可通過并口下載到NAND FLASH中后上電運(yùn)行;但XBOOT的鏡像卻達(dá)256 kB,若仍通過JTAG下載則需要超過10 min方能完成鏡像的下載過程,直接造成每次修改代碼后都需要花費(fèi)很長(zhǎng)時(shí)間用于鏡像的燒錄工作,嚴(yán)重影響正常的調(diào)試與開發(fā)。因而,改進(jìn)Stepldr代碼段中加載XBOOT的方式,不再采用通過JTAG直接訪問NAND FLASH的方式將XBOOT讀取到SDRAM中運(yùn)行,而是直接通過串口完成XBOOT的加載過程。串口下載基于XModem通信協(xié)議實(shí)現(xiàn)。XModem協(xié)議是一種使用撥號(hào)調(diào)制解調(diào)器的個(gè)人計(jì)算機(jī)通信中廣泛使用的異步文件運(yùn)輸協(xié)議,這種協(xié)議以128字節(jié)塊的形式傳輸數(shù)據(jù),并且每個(gè)塊都使用1個(gè)校驗(yàn)的過程來進(jìn)行錯(cuò)誤檢測(cè)。因?yàn)閄BOOT數(shù)據(jù)量較小,在XModem協(xié)議的基礎(chǔ)上稍做簡(jiǎn)化,以便傳輸更加快捷與方便,簡(jiǎn)化后數(shù)據(jù)包格式如表2所示:

定義: 01H, 04H, 06H, 15H , 18H

由于XBOOT鏡像是經(jīng)串口直接下載到SDRAM中運(yùn)行,因而下載的對(duì)象不能是含有壓縮數(shù)據(jù)的BIN文件,而必須為NB0文件,其數(shù)據(jù)未經(jīng)壓縮,展開以后即可在內(nèi)存中直接運(yùn)行,完成加載。

但SDRAM具有掉電易失性,串口下載的完成僅適宜于對(duì)XBOOT的調(diào)試工作。調(diào)試完成后,XBOOT鏡像仍需保存到NAND FLASH中。由于Steppingstone的4 kB大小限制,無法在Stepldr代碼段中加入SDRAM回寫NAND FLASH的內(nèi)容。所以必須在XBOOT加載運(yùn)行后,再通過USB或串口方式將XBOOT鏡像重新下載至NAND FLASH中,由此達(dá)到與原先通過JTAG方式下載異曲同工之效,但由于XBOOT下載時(shí)間的大幅縮短,加載整個(gè)Bootloader所花費(fèi)的時(shí)間卻僅需一兩分鐘,極大地提高了開發(fā)速度。

3 結(jié) 語

Bootloader在操作系統(tǒng)和硬件之間起著無可替代的橋梁作用,是設(shè)計(jì)好嵌人式系統(tǒng)的關(guān)鍵。本文以S3C2440A處理器為例,介紹基于NAND FLASH的Bootloader的成功加載與運(yùn)行,這一技術(shù)應(yīng)用于工業(yè)生產(chǎn),可使開發(fā)工作更為方便快捷,而成本也更低廉,從而更快地推動(dòng)嵌入式系統(tǒng)設(shè)備的發(fā)展。

參 考 文 獻(xiàn)

[1]S3C2440A 32Bit CMOS Microcontroller User′s Manual [EB/CD].Samsung Electronics,2004.

[2]陳向群,王雷,向勇.Windows CE.NET系統(tǒng)分析及實(shí)驗(yàn)教程[M].北京:機(jī)械工業(yè)出版社,2003.

[3]單承剛,戴學(xué)豐,劉樹東.基于ARM的嵌入式Bootloader設(shè)計(jì)與啟動(dòng)過程[J].微信息機(jī)信息:嵌入式與SOC,

2006(32):139142.

[4]周毓林,陸貴強(qiáng),付林林.Windows CE.net內(nèi)核定制及應(yīng)用開發(fā)[M].北京:電子工業(yè)出版社,2005.

作者簡(jiǎn)介 劉裕華 男,1983年出生,江蘇贛榆人,碩士研究生。研究方向?yàn)榍度胧较到y(tǒng)開發(fā)。

張 哲 男,1976年出生,東南大學(xué)電子科學(xué)與工程學(xué)院講師。

張 萌 男,1964年出生,東南大學(xué)電子科學(xué)與工程學(xué)院副教授。

主站蜘蛛池模板: 亚洲欧美成aⅴ人在线观看| 天天做天天爱夜夜爽毛片毛片| 国产日产欧美精品| 国产正在播放| 久久国产高清视频| 国产精品三级av及在线观看| 国产精品无码在线看| 最新国产成人剧情在线播放| 91麻豆国产在线| 丰满少妇αⅴ无码区| 欧美成人h精品网站| 国产av色站网站| 国产精品男人的天堂| 岛国精品一区免费视频在线观看| 国产69精品久久久久妇女| 国产av一码二码三码无码| 国产高颜值露脸在线观看| 日韩在线2020专区| 久草热视频在线| 广东一级毛片| 欧美午夜在线视频| 亚洲成人在线免费| 在线精品欧美日韩| 国产91在线|中文| 亚洲欧洲国产成人综合不卡| 精品国产Av电影无码久久久| 国产综合网站| 最新国产网站| www.国产福利| a亚洲视频| 欧美日韩国产一级| 日本国产在线| 午夜福利免费视频| 日韩在线成年视频人网站观看| www.亚洲国产| 午夜视频日本| 日韩区欧美区| 精品伊人久久久大香线蕉欧美| 热re99久久精品国99热| 国产一区二区三区免费观看| av在线5g无码天天| 欧美日韩国产在线播放| 亚洲天堂首页| 国产成人综合久久精品下载| 婷婷久久综合九色综合88| 欧美成人手机在线视频| 91系列在线观看| 综合五月天网| 理论片一区| 国产全黄a一级毛片| 91福利一区二区三区| 国产日本欧美亚洲精品视| 国产精品深爱在线| 亚洲国产日韩视频观看| 色综合天天综合| www.99在线观看| 综合人妻久久一区二区精品| 老熟妇喷水一区二区三区| 久久国产高清视频| 成人另类稀缺在线观看| 中国黄色一级视频| 欧美性色综合网| 人妻无码中文字幕第一区| 伊在人亚洲香蕉精品播放| 亚洲色大成网站www国产| 全色黄大色大片免费久久老太| 免费在线视频a| av在线无码浏览| 国产精品久久久久婷婷五月| 一级毛片免费观看久| 国产欧美精品专区一区二区| 午夜视频www| 中文无码精品A∨在线观看不卡| 国产性精品| 免费亚洲成人| 久久国产精品无码hdav| 国产日韩欧美一区二区三区在线 | 欧美精品另类| 在线看国产精品| 一本大道香蕉久中文在线播放 | 久久综合色视频| 国产一级二级在线观看|