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é)院副教授。

主站蜘蛛池模板: 欧美精品不卡| 色妞www精品视频一级下载| 亚洲欧洲日韩综合色天使| 91国内在线观看| 亚洲精品第五页| 国产99视频在线| 久久精品无码一区二区国产区| 国产精品真实对白精彩久久| 国产网站在线看| 在线精品亚洲国产| 日韩精品毛片| 国产欧美网站| 亚洲天堂福利视频| 亚洲va在线观看| 五月综合色婷婷| 婷婷色婷婷| 亚洲欧美日韩综合二区三区| 国产福利一区二区在线观看| 日本在线免费网站| 亚洲美女一级毛片| 欧美乱妇高清无乱码免费| 夜夜操天天摸| 亚洲最猛黑人xxxx黑人猛交 | 国产凹凸一区在线观看视频| 国产真实乱子伦精品视手机观看 | 国产无码高清视频不卡| 在线观看91精品国产剧情免费| 九九线精品视频在线观看| 无码电影在线观看| 久久久久久高潮白浆| 99久久精品久久久久久婷婷| 亚洲第一天堂无码专区| 在线欧美a| 欧美va亚洲va香蕉在线| 国产精品xxx| 免费观看无遮挡www的小视频| 久草热视频在线| 精品国产成人av免费| 亚洲熟女偷拍| 成人毛片在线播放| 91娇喘视频| 久久99精品久久久久纯品| 91黄视频在线观看| av大片在线无码免费| 亚洲国产系列| 国产日韩欧美在线播放| 波多野结衣二区| 国产激情影院| 国产免费自拍视频| 国产第三区| 九色国产在线| 亚洲第一区欧美国产综合| 亚洲天堂网视频| 激情無極限的亚洲一区免费| 欧洲在线免费视频| Aⅴ无码专区在线观看| 久久国产香蕉| 麻豆精品在线| 无码人中文字幕| 国产69囗曝护士吞精在线视频| 日韩欧美国产成人| 九色视频最新网址 | 国产成人精品视频一区二区电影| 久久国产亚洲偷自| 亚洲精品视频网| 日本福利视频网站| 本亚洲精品网站| 婷婷综合色| 日本福利视频网站| 国产高颜值露脸在线观看| 99re视频在线| 黄片一区二区三区| 国产黄在线免费观看| 久久久久国产精品熟女影院| 欧美不卡视频在线| 天天干天天色综合网| 99热这里只有精品5| 黄色网页在线播放| 国产精品永久久久久| 欧美日本视频在线观看| 欧美三级视频在线播放| 色欲色欲久久综合网|