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

基于MPC8548E的嵌入式實時系統自舉優化設計?

2012-03-31 19:46:10孫亮楊斌鐘瑜西南交通大學信息科學與技術學院成都6003中國西南電子技術研究所成都60036
電訊技術 2012年2期
關鍵詞:嵌入式優化策略

孫亮,楊斌,鐘瑜(.西南交通大學信息科學與技術學院,成都6003 .中國西南電子技術研究所,成都60036)

基于MPC8548E的嵌入式實時系統自舉優化設計?

孫亮1,楊斌1,鐘瑜2
(1.西南交通大學信息科學與技術學院,成都610031 2.中國西南電子技術研究所,成都610036)

板級支持包(BSP)是嵌入式系統中聯系操作系統與硬件平臺的橋梁。以PowerPC體系架構下的MPC8548E的微處理器硬件為平臺,研究了VxWorks操作系統的啟動過程,并從BSP的總體架構、存儲空間的地址分配、運行過程等方面進行分析,提出了一種新的策略來優化實時操作系統啟動時間,通過實驗證明此方法可行且安全,具有一定的適用性。

嵌入式系統;啟動時間;PowerPC體系;板級支持包;自舉;優化設計

1 引言

在目前嵌入式系統中,嵌入式設備從上電到操作系統完全啟動及應用程序的加載需要10 s左右的時間,這相對于家庭電腦來說是一個很不錯的啟動時間,然而相對一些需要實時、快速運行應用程序的軍事、航空、航天等要求可靠性較高的工業應用來說,啟動時間顯然已經無法滿足其對快速加載并使用應用程序的要求,故需要對操作系統的啟動過程進行研究、分析、更改,使得嵌入式平臺能夠在短時間內啟動并運行應用程序,達到系統要求。

BSP是板極支持包(Board Supporting Packet)的縮寫。它是操作系統內核運行之前運行的一段小程序,通過這段小程序,可以實現對所用的外設接口及功能部件進行初始化,建立內存空間映射圖,為操作系統內核的后續載入提供軟件環境,故通過對BSP的研究能夠對操作系統啟動時間進行優化。然而BSP是依賴于具體的硬件配置而實現[1],建立一個通用的BSP幾乎是不可能的。

BSP能夠支持一些系列的PowerPC體系,還能支持MIPS、x86、ARM、NIOS、XScale等諸多常用系列的處理器。BSP對VxWorks的支持非常完善,是嵌入式VxWorks的最佳選擇。BSP的主要功能是系統引導、操作系統接口功能、設備驅動功能、上電自檢功能等。VxWorks5.5使用的是wind內核,它具有支持多任務實時、內核精簡、高效、穩定和可移植性好等優點,專門應用于具有實時性需求的嵌入式平臺。這里主要討論的是在以MPC8548E微處理器的系統開發板,設計并實現特定的BSP,并利用實現好的BSP去引導VxWorks操作系統達到操作系統啟動時間優化的效果。

2 嵌入式實時系統硬件平臺的設計

以PowerPC體系結構的Freescale PPC8548E微處理器為硬件平臺核心[2],其內部包含兩個處理模塊:一個高性能嵌入式PowerPC e500內核和一個通信處理模塊(CPM)。硬件的配置如圖1所示。

3 系統啟動過程及存儲空間的地址規劃設計

BSP是系統用來管理外設[3]的部分,主要由初始化程序和驅動程序兩部分組成。初始化是指從系統上電復位開始直到wind kernel和usrRoot根任務啟動的這段時間,系統的執行過程。驅動程序就是一些包含I/O操作的子函數。

VxWorks內核[4]可分為3種:可加載類型內核(Loadable Image)、帶有ROM啟動功能的壓縮或不壓縮內核(ROM-based Image)以及駐留ROM的內核(ROM-resident Image)。對于可引導型帶ROM啟動的不壓縮內核的系統啟動過程來說,由于基于PowerPC處理器的系統上電后會自動加載并運行位于0地址的指令,故在0地址處通常應放置一條跳轉指令,它跳轉到位于romInit.s中的初始化入口函數romInit(),接著跳轉到位于bootInit.c中的romStart()函數,romStart()將駐留ROM的VxWorks映像(代碼段、數據段和BSS段)拷貝到RAM中,接下來開始運行VxWorks內核的入口程序sysInit(),sysInit()實現一些與romInit()函數類似的功能后,再開始調用Vx-Works內核的第一個C函數usrInit(),usrInit()會根據BSP的配置,調用sysHwInit()和sysHwInit2()等,最終完成整個內核的前期初始化工作。在usrInit()的最后,由kernelInit()激活多任務環境,并且創建一個任務來安裝設備驅動程序。同時啟動設備,初始化VxWorks系統庫,調用應用程序,啟動完成。該平臺使用的是虛地址方式[5],通過訪問虛地址空間,然后通過虛地址實地址映射來訪問外設和存儲器。

4 實時系統自舉時間分析

通過對BSP啟動過程分析,并使用sysprintk(msg)插入到各個程序執行段,該函數能夠在系統內核還未啟動、C語言環境還未建立時,打印串口信息,通過記錄時間發現對于PowerPC8548E的開發板vxWorks系統的啟動時間需要10 s左右,然而嵌入式產品在從上電到啟動用戶程序有特殊要求的,10 s時間顯得太長。通過了解VxWorks OS的啟動步驟,研讀BSP找到了花費時間較多的幾項系統工作,如表1所示。

(1)內存的清零操作是一項相對比較耗時的操作,PowerPC8548E中的BSP是通過函數bootClear()來進行內存清零操作,對PowerPC8548E而言,這個操作大約需要3.1 s,耗時非常巨大,是一個時間優化的大項。

(2)網絡啟動部分是另外的一個非常耗時的操作,網絡啟動需要對網卡進行初始化,以及各種網絡協議的配置。實驗發現,大約需要0.9 s來對網絡初始化,這對于一個需要快速啟動操作來說是一個不可容忍的時間,故這也是需要進行優化的。

(3)VxWorks內存管理是一個最重要的裁剪部分,它消耗了巨大的時間,對于PowerPC8548E,其內核是e500,并不支持BAT(粗粒度映射)模式的MMU和TLB的傳統的內存管理辦法。通過研究可以找到以下解決辦法:縮小頁表,即縮小內存總數;將頁表存為文件,啟動時直接讀取,跳過建立頁表部分;轉換思路,從主要使用頁表映射轉換為主要使用BAT映射。然而MPC8548E使用的是e500的內核,無法支持BAT模式,將頁表轉為文件同樣花費時間較大,故選擇縮小內存映射的總數來減少MMU初始化時間。

(4)PCI的初始化是一個值得注意的項,程序中PCI的使用是用枚舉的方法進行的,通過三重的循環去查找,首先進行256次的總線號、32次的設備號以及8次的功能號進行三重循環。然而,事實上一般的嵌入式產品都不會使用到這么多的總線號、設備號和功能號。

5 實時系統自舉優化策略分析

5.1 策略一

BSP啟動過程如圖3所示,對主要耗時的4個部分逐個進行裁剪。

(1)內存清零操作,可以直接屏蔽內存清零操作,即bootClear()函數進行注釋。

(2)網絡啟動無法更改,因為該嵌入式系統需要通過網口進行在線更新和通信。

(3)MMU初始化是一個關鍵的地方,通過縮小表的尺寸縮小耗時,故對一些不需要地址分配不進行映射。

(4)PCI初始化可以進行相應的更改,PCI上掛載的設備是很少的,故可對總線號、功能號和設備號進行相應的縮小以縮減時間。

5.2 策略二

策略一在安全性方面有所降低,因為不對內存進行零初始化,可能會在以后程序運行時出現異常,再者通過更改MMU初始化也可能會對地址映射出現問題,是不具備安全性。方法二是在方法一的策略上進行改進。系統的主要目的是在1.5 s左右能夠啟動應用程序,既然如此,可以啟動一個最小的操作系統環境,然后直接加載用戶程序,將一些其他的初始化交給用戶程序后續去處理,這樣既保證了安全性又能更快的啟動操作系統。啟動過程如圖4所示:在用戶程序usrAppInit(void){}中將未初始化項進行初始化,內存二次清零操作;修改sysPhys-MemDesc數組來更改MMU映射;再者就是網絡初始化啟動,最終完成整個啟動。

通過對策略一和策略二兩種不同的啟動方式進行啟動時間優化,并通過測試,結果如表2所示(表中數據已經經過處理)。

實驗數據顯示,策略二的優化方法是最有效也是最安全的,能夠在1.7 s的時間內啟動應用程序,達到了嵌入式系統快速啟動應用程序的要求。

6 結束語

每種不同的CPU體系結構都有不同的引導程序和操作系統,引導程序是嚴格地依附于你所用的特定的硬件資源[6],但它最基本的功能是大致相同的,都分為兩個步驟,硬件初始化和引導、裝載操作系統。通過從BSP的總體構架去分析操作系統啟動過程,從而對操作系統啟動時間進行分析優化,通過列舉一般操作系統啟動時間優化策略的分析,提出一種新的操作系統啟動優化策略,通過實驗對比發現新策略較原有策略在BSP設計、啟動時間優化、安全性等方面有較大改進,并對進一步優化更為復雜的系統的啟動時間優化具有很好的實用價值和參考價值。

[1]WindRiverSystem Inc.VxWorks BSP Developer’sGuide5.5[M].[S.l.]:WindRiverSystem Inc.,2002.

[2]Freescale Semiconductor.MPC8548E PowerQUICCTM III Integrated Processor Family Reference Manual[M]//MPC8548ERM Datasheet.East Kilbride,USA:Freescale-Semiconductor Inc.,2007:1035-1222.

[3]岳曉東,蔡本華,賀占莊.基于實時嵌入式系統的BSP構建技術[J].微電子學與計算機,2006,23(5):105-108. YUE Xiao-dong,CAI Ben-hua,HE Zhan-zhuang.The Technology Based On Building a BSP For Real-time Embedded System[J].Microelectronics&Computer,2006,23(5):105-108.(in Chinese)

[4]袁浩,肖沙里.基于MPC8260的VxWorks系統的BSP實現[J].微處理機,2009,30(1):170-172. YUAN Hao,XIAO Sha-li.Realization of VxWorks′s BSP Based on MPC8260[J].Microprocessors,2009,30(1):170-172.(in Chinese)

[5]蘇義鑫,黃強.面向S3C44B0X的VxWorks BSP設計[J].電子原器件應用,2007,9(7):17-20. SU Yi-xin,HUANG Qiang.Design of VxWorks BSP Based on S3C44B0X[J].Electronic Component&Device Applications,2007,9(7):17-20.(in Chinese)

[6]楊斌.嵌入式系統原理及應用[M].成都:西南交通大學出版社,2006. YANG Bin.Principle and Application of Embedded System[M].Chengdu:Southwest Jiaotong University Press,2006.(in Chinese)

SUN Liang was born in Jishui,Jiangxi Province,in 1988.He received the B.S.degree from Sichuan Normal University in 2009. He is now a graduate student.His research interests include embedded system and distributed system.

Email:biy395626983@163.com

楊斌(1955—),男,四川人,碩士,教授,主要研究方向為嵌入式系統與分布式系統、信號處理;

YANG Bin was born in Sichuan Province,in 1955.He is now a professor with the M.S.degree.His research interests include embedded system and distributed system,signal processing.

Email:byang@home.swjtu.edu.cn.

鐘瑜(1979—),男,貴州人,高級工程師,主要從事信號處理方面的工作。

ZHONG Yu was born in Guizhou Province,in 1979.He is now a senior engineer.His research concerns signal processing.

Email:jade.Zhong@hotmail.com

Optimized Design of Embedded Real-time System Bootloading Based on MPC8548E

SUN Liang1,YANG Bin1,ZHONG Yu2
(1.School of Information Science and Technology,Southwest Jiaotong University,Chengdu 610031,China;2.Southwest China Institute of Electronic Technology,Chengdu 610036,China)

Board Supporting Packet(BSP)is the bridge between the operating system and the hardware platform in an embedded system.This paper describes how to shorten the VxWorks operating system startup time based on MPC8548E under PowerPC architecture,analyses and designs the BSP from the overall architecture and the address assigned ofstorage and the running process,and proposes a new policy which can optimize the startup time of realtime operating system.Finally,it proves the feasibility and security of this method by experiment.This method has a certain commonality and flexibility.

embedded system;startup time;PowerPC architecture;board supporting packet;bootloading;optimized design

TP316.2

A

10.3969/j.issn.1001-893x.2012.02.025

孫亮(1988—),男,江西吉水人,2009年于四川師范大學獲學士學位,現為碩士研究生,主要研究方向為嵌入式系統與分布式系統;

1001-893X(2012)02-0241-04

2011-08-08;

2011-11-23

猜你喜歡
嵌入式優化策略
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
例談未知角三角函數值的求解策略
我說你做講策略
搭建基于Qt的嵌入式開發平臺
高中數學復習的具體策略
數學大世界(2018年1期)2018-04-12 05:39:14
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Passage Four
主站蜘蛛池模板: 一本大道视频精品人妻| 亚洲无限乱码一二三四区| 精品国产一区二区三区在线观看| 久久黄色毛片| 亚洲成人播放| 99re这里只有国产中文精品国产精品| 色窝窝免费一区二区三区| 亚洲高清资源| 国产在线观看高清不卡| 色哟哟国产精品一区二区| 亚洲成人动漫在线| 91丝袜美腿高跟国产极品老师| 波多野结衣无码中文字幕在线观看一区二区| 久久精品女人天堂aaa| 亚洲国产日韩在线观看| 一级毛片中文字幕| 成人午夜网址| 在线高清亚洲精品二区| 国产激情第一页| 成人福利在线看| 欧美第一页在线| 国产精品久久久久无码网站| 91精品最新国内在线播放| 国产成人精品一区二区三区| 亚洲成A人V欧美综合| 日韩视频福利| 午夜小视频在线| 久久精品日日躁夜夜躁欧美| 国产精品亚洲综合久久小说| 久草网视频在线| www.99精品视频在线播放| 国外欧美一区另类中文字幕| 欧美精品成人一区二区视频一| 日韩毛片在线视频| 在线免费看黄的网站| 亚洲天堂视频在线观看免费| 国产亚洲精品无码专| 久草视频福利在线观看| 精品国产自| 一级成人a做片免费| 亚洲美女视频一区| 国产成人8x视频一区二区| 婷婷色狠狠干| 日韩在线视频网| 久久久噜噜噜久久中文字幕色伊伊| 女人爽到高潮免费视频大全| 国产精品一区二区无码免费看片| 日韩不卡免费视频| 91精品国产一区自在线拍| 内射人妻无码色AV天堂| 99久久精彩视频| 男女猛烈无遮挡午夜视频| 丰满人妻一区二区三区视频| 97精品伊人久久大香线蕉| 波多野结衣一二三| 亚洲AⅤ永久无码精品毛片| 呦系列视频一区二区三区| 日韩毛片视频| 2022国产无码在线| 国产熟女一级毛片| 亚洲av无码成人专区| 欧美中文字幕第一页线路一| 欧美福利在线| 国产小视频免费| 天天干天天色综合网| 亚洲AV无码一二区三区在线播放| 精品久久高清| 国产成人做受免费视频| 国产精品欧美在线观看| 国产精品一区在线观看你懂的| 亚洲婷婷丁香| 国产毛片基地| 免费国产小视频在线观看| 亚洲无码在线午夜电影| 视频国产精品丝袜第一页| 成人免费一区二区三区| 日韩大片免费观看视频播放| 在线免费无码视频| 久久精品国产在热久久2019| 欧美全免费aaaaaa特黄在线| 国产手机在线观看| 欧美区一区|