亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于“Steppingstone”的Bootloader的設(shè)計與優(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嵌入式處理器為核心的硬件平臺上,基于處理器內(nèi)置的稱為“Steppingstone”的SRAM緩存,設(shè)計并實現(xiàn)一個從NAND FLASH啟動的Bootloader,對處理器及其內(nèi)部功能模塊進(jìn)行初始化工作,并通過采用串口下載等方法改進(jìn)調(diào)試過程,提高平臺的開發(fā)速度,極大地方便了開發(fā)人員的研發(fā)工作。

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

        中圖分類號:TP368 文獻(xiàn)標(biāo)識碼:B 文章編號: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

        隨著社會信息化的日益加強(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)由板級支持包(BSP)為系統(tǒng)軟件(主要是嵌入式操作系統(tǒng)和用戶程序)和目標(biāo)硬件(包括嵌入式微處理器和外圍設(shè)備等)提供接口,其中BootLoader是BSP最重要的組成部分。

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

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

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

        如圖1所示,S3C2440A的一大特點是內(nèi)置了稱為“Steppingstone”的SRAM緩存以支持BootLoader 從NAND FLASH而非NOR FLASH啟動,因而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īng)保證在NAND FLASH的前4 kB空間中,沒有任何1位的錯誤。

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

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

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

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

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

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

        2.1 Bootloader的流程

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

        2.2 軟件設(shè)計

        在嵌人式系統(tǒng)中,Bootloader是依賴于硬件而實現(xiàn)的,不同的體系結(jié)構(gòu)對Bootloader有不同的需求,需要根據(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文件中,對XBOOT鏡像的起始地址等參數(shù)做如下配置:

        MEMORY

        ; Name Start Size Type

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

        XBOOT 8C078000 00040000 RAMIMAGE

        CONFIG

        ROMSTART=8C078000

        ROMSIZE=00040000

        圖3顯示從NAND FLASH啟動時存儲空間分配情況。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)很長時間用于鏡像的燒錄工作,嚴(yán)重影響正常的調(diào)試與開發(fā)。因而,改進(jìn)Stepldr代碼段中加載XBOOT的方式,不再采用通過JTAG直接訪問NAND FLASH的方式將XBOOT讀取到SDRAM中運(yùn)行,而是直接通過串口完成XBOOT的加載過程。串口下載基于XModem通信協(xié)議實現(xiàn)。XModem協(xié)議是一種使用撥號調(diào)制解調(diào)器的個人計算機(jī)通信中廣泛使用的異步文件運(yùn)輸協(xié)議,這種協(xié)議以128字節(jié)塊的形式傳輸數(shù)據(jù),并且每個塊都使用1個校驗的過程來進(jìn)行錯誤檢測。因為XBOOT數(shù)據(jù)量較小,在XModem協(xié)議的基礎(chǔ)上稍做簡化,以便傳輸更加快捷與方便,簡化后數(shù)據(jù)包格式如表2所示:

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

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

        但SDRAM具有掉電易失性,串口下載的完成僅適宜于對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下載時間的大幅縮短,加載整個Bootloader所花費(fèi)的時間卻僅需一兩分鐘,極大地提高了開發(fā)速度。

        3 結(jié) 語

        Bootloader在操作系統(tǒng)和硬件之間起著無可替代的橋梁作用,是設(shè)計好嵌人式系統(tǒng)的關(guān)鍵。本文以S3C2440A處理器為例,介紹基于NAND FLASH的Bootloader的成功加載與運(yùn)行,這一技術(shù)應(yīng)用于工業(yè)生產(chǎn),可使開發(fā)工作更為方便快捷,而成本也更低廉,從而更快地推動嵌入式系統(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)分析及實驗教程[M].北京:機(jī)械工業(yè)出版社,2003.

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

        2006(32):139142.

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

        作者簡介 劉裕華 男,1983年出生,江蘇贛榆人,碩士研究生。研究方向為嵌入式系統(tǒng)開發(fā)。

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

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

        亚洲成a人一区二区三区久久| 欧美色图中文字幕| 国产日韩欧美视频成人| 日本久久久精品免费免费理论| 丝袜人妻一区二区三区| 欧美亚洲国产片在线播放| 国产成人亚洲综合无码DVD| 久久本道久久综合一人| 亚洲在线视频免费视频| 99精品欧美一区二区三区| 亚洲AV毛片无码成人区httP| 国产精品久久婷婷六月| 久久精品国产亚洲夜色av网站| 亚洲处破女av日韩精品| 亚洲 日韩 在线精品| 中文字幕视频一区懂色| 免费无码又爽又高潮视频| 亚洲另类精品无码专区| 无码AⅤ最新av无码专区| 日本一区二区免费高清| 日韩精品久久无码中文字幕| 馬与人黃色毛片一部| 亚洲一区精品一区在线观看| av免费播放网站在线| 亚洲狠狠婷婷综合久久久久图片 | 亚洲男人堂色偷偷一区| 亚洲一区二区三区精品久久av | 十八禁视频在线观看免费无码无遮挡骂过 | 国产又a又黄又潮娇喘视频| 伊人22综合| 99久久精品国产一区色| 性高朝久久久久久久3小时| 看国产黄大片在线观看| 狠狠色噜噜狠狠狠狠97俺也去| 久久精品亚洲熟女av麻豆| 午夜福利一区二区三区在线观看| 久久久久成人亚洲综合精品| 一区=区三区国产视频| 熟妇人妻无乱码中文字幕真矢织江| 日日摸夜夜添无码无码av| 欧美一级鲁丝片免费一区|