青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

milkyway的窩

最初想法的誕生地

 

i.MX21平臺之 剖析Windows CE 5.0 Eboot

 

       通用的EBOOT概念可參考“Windows CE 5.0 Boot Loader的流程分析”,本文僅通過抽象i.MX21平臺上Windows CE 5.0 Eboot代碼來說明從板子上電到WinCE跑起來的幕后故事以及各段代碼所發(fā)揮的作用。對照源代碼閱讀本文會有更好的效果。

 

相關(guān)代碼目錄如下:

%WINCE\Platform\iMX21ADS\Src\Bootloader\eboot

%WINCE\PLATFORM\COMMON\SRC\ARM\Freescale\MX21\Startup

%WINCE\PLATFORM\Imx21ads\Src\Kernel\Oal

%WINCE\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\BLCOMMON\blcommon.c

 

(一)%WINCE\PLATFORM\COMMON\SRC\ARM\Freescale\MX21\Startup\startup.s

功能:在OEM板級初始化前先初始化i.MX21處理器的核心模塊

主要的函數(shù)功能及流程分析如下:

1StartUp()---這部分代碼是Boot LoaderOAL共享的。

在板子上電后,第一步是將處理器設(shè)置為特權(quán)模式,跳轉(zhuǎn)到MMUCacheDisable( ),使TLBcache、寫緩沖無效,并關(guān)閉 MMUcache。接著設(shè)置AIPI寄存器,跳轉(zhuǎn)到OALSetUpSystemControl OALSetUpFrequencies,初始化系統(tǒng)控制模式和時(shí)鐘頻率。程序接下來的工作是啟用I Cache,并跳轉(zhuǎn)到OALIsImageInRAM、OALSetUpExtMemories以初始化外部存儲設(shè)備。隨后是設(shè)置MAX寄存器、配置AITC中斷控制器、屏蔽和清中斷的一段代碼。接下來程序先后跳轉(zhuǎn)到OALSetUpGpioOALSetUpKeypad,即初始化系統(tǒng)GPIO和鍵盤設(shè)備。最后程序跳轉(zhuǎn)到OALStartUp(),加載g_oalAddressTable地址,再跳轉(zhuǎn)到KernelStart(),完成代碼重定位和從RAM中啟動Eboot等功能。

上述KernelStart()函數(shù),先跳轉(zhuǎn)到OALIsImageInRAM程序段判斷Image是否正跑在RAM里。如果不是,則在接下來的RelocateEBOOT程序段里進(jìn)行代碼重定位;如果已經(jīng)在RAM里,則跳轉(zhuǎn)到RamStart程序段,設(shè)置連接寄存器LR、加載OEMAddressTable和頁表的地址,然后跳轉(zhuǎn)到MMUSetup函數(shù),根據(jù)OEMAddressTable設(shè)置MMU,并使能MMU、啟用cache。在完成了MMU的設(shè)置后,程序跳轉(zhuǎn)到blcommon.c中的BootloaderMain(),這個Eboot主控函數(shù)將調(diào)用main.c中的一系列OEM函數(shù)實(shí)現(xiàn)CE系統(tǒng)在板子上的啟動。

上面提到的函數(shù)所在文件如下: OALSetUpSystemControl 、OALSetUpFrequenciesOALSetUpExtMemoriesOALSetUpGpio、OALSetUpKeypad這幾個函數(shù)位于 %WINCE\PLATFORM \iMX21\ Imx21ads\Src\Kernel\Oal\oal_startup.c中;OALIsImageInRAMOALStartUp位于%WINCE\PLATFORM\Imx21ads\Src\Kernel\Oal\startup.s中。KernelStart則位于%WINCE\PLATFORM\Imx21ads\Src\Bootloader\Eboot\startup.s中。

 

2. MMUCacheDisable( ) --- 使TLBcache、寫緩沖無效,并關(guān)閉 MMU、cache

 

3. MMUSetup()---這個函數(shù)將被%Eboot\startup.s調(diào)用,它根據(jù)OEMAddressTable設(shè)置MMU,并使能MMU、啟用cache。

 

(二)   main.c

基本流程:

初始化調(diào)試端口---初始化平臺基本設(shè)備---打印用戶菜單---初始化網(wǎng)絡(luò)參數(shù)---下載內(nèi)核---啟動OS

 

主要函數(shù)及功能:

OEMReportError()----用于點(diǎn)亮LED,并打印出錯誤提示

 

OEMMultiBINNotify()---- 當(dāng)系統(tǒng)具有多個BIN文件時(shí)用來提示用戶下載的是哪一個BIN

 

OEMDebugInit( )------- 調(diào)用了OEMInitDebugSerial( ),初始化調(diào)試串口

 

OEMPlatformInit( )----- 初始化板上設(shè)備

     通過調(diào)試串口打印出Eboot的版本信息

     調(diào)用InitEthDevice(),初始化以太網(wǎng)控制器

     設(shè)置MAC地址,初始化OALeboot共享參數(shù),RTC

     調(diào)用MainMenu( ),通過串口與用戶交互,設(shè)置啟動選項(xiàng)及參數(shù)

 

OEMPreDownload( )--- 判斷是否下載,調(diào)用OALKitlCreateName()設(shè)置設(shè)備名,初始化IP參數(shù),調(diào)用EbootInitEtherTransport()初始化TFTP參數(shù)

 

OEMReadData()----- 內(nèi)部是通過OEMEthGetFrame( )來傳輸數(shù)據(jù)的

 

OEMLaunch( )----------- 根據(jù)PB里的設(shè)置來更新OALeboot共享參數(shù),并判斷是否需要將NK燒到Nand Flash中,最后調(diào)用Eboot\startup.s 里的Launch(?。﹩?/span>WinCE內(nèi)核

 

main.c中還有一個重要的函數(shù),那就是ManiMenu( )。它提供了以下啟動選項(xiàng)菜單:

0)MAC地址設(shè)置

1)靜態(tài)IP設(shè)置

2)靜態(tài)掩碼設(shè)置

3)啟用DHCP

4)恢復(fù)到出廠設(shè)置

5)保存目前Eboot的設(shè)置

D)下載

E)擦除Nor Flash

L)從Nor Flash啟動

R)從RAM中啟動

 

總的來說,在i.MX21平臺上WinCE EBoot就是在以下幾個文件間不斷跳轉(zhuǎn)的過程:

%Startup\startup.s --- oal_startup.c --- %Oal\startup.s --- %Eboot\startup.s--- blcommon.c---main.c

PS: 如果對i.MX21上電最初階段系統(tǒng)初始化的匯編代碼有興趣的,可以看看“i.MX21平臺上Startup.s代碼分析”。

posted on 2008-08-13 23:58 milkyway 閱讀(2773) 評論(0)  編輯 收藏 引用 所屬分類: Wince學(xué)習(xí)小結(jié)

導(dǎo)航

統(tǒng)計(jì)

公告

隨筆皆原創(chuàng),文章乃轉(zhuǎn)載. 歡迎留言!

常用鏈接

留言簿(37)

隨筆分類(104)

隨筆檔案(101)

文章分類(51)

文章檔案(53)

wince牛人

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美风情在线观看| 欧美激情视频在线免费观看 欧美视频免费一 | 久久国产精品久久久久久电车| 一区二区三区亚洲| 欧美久久精品午夜青青大伊人| 欧美一区成人| 日韩视频中文| 亚洲免费电影在线| 亚洲国产日韩欧美在线99| **欧美日韩vr在线| 精品二区久久| 狠狠干综合网| 欧美性大战久久久久| 欧美日韩免费观看一区二区三区| 美女国产一区| 免费久久精品视频| 卡通动漫国产精品| 在线综合亚洲欧美在线视频| 欧美一区二区国产| 亚洲综合不卡| 午夜精品福利在线观看| 亚洲在线观看免费视频| 亚洲一卡久久| 亚洲永久免费视频| 性欧美xxxx大乳国产app| 亚洲综合精品| 午夜日韩在线观看| 99国产精品久久| 亚洲精品视频一区| 亚洲国产一区二区精品专区| 国内精品久久久久久久影视麻豆| 国产在线精品二区| 亚洲国产日韩一区| 亚洲国产精品成人久久综合一区 | 欧美久久久久免费| 欧美午夜精品理论片a级按摩 | 亚洲精品国精品久久99热一| 亚洲美女毛片| 久久精品91久久香蕉加勒比| 久久天堂av综合合色| 欧美国内亚洲| 正在播放日韩| 久久成人一区| 欧美精品福利视频| 国产精品多人| 亚洲国产高潮在线观看| 亚洲欧美日韩一区二区在线| 欧美va亚洲va香蕉在线| 亚洲一区二区在线免费观看视频| 老司机精品导航| 欧美午夜免费影院| 91久久久亚洲精品| 久久一区二区三区国产精品| 亚洲欧美精品suv| 欧美日韩视频一区二区| 亚洲人成人77777线观看| 久久九九久精品国产免费直播| 亚洲美女av黄| 欧美韩日视频| 亚洲精品女人| 亚洲大胆人体在线| 久久九九精品99国产精品| 欧美日韩亚洲综合| 亚洲欧洲日韩在线| 欧美激情一区三区| 欧美一区二区久久久| 国产精品视频免费观看www| 亚洲午夜女主播在线直播| 亚洲精品日韩在线观看| 欧美日韩精品是欧美日韩精品| 美女视频一区免费观看| 亚洲欧美久久久久一区二区三区| 欧美性猛交99久久久久99按摩| 亚洲精选大片| 日韩系列欧美系列| 国产精品家教| 久久精品人人做人人综合| 久久福利影视| **欧美日韩vr在线| 亚洲国产婷婷综合在线精品| 欧美高清一区二区| aa级大片欧美| 中文国产成人精品久久一| 国产精品久久久一区二区| 久久久久久日产精品| 裸体歌舞表演一区二区| 亚洲精品一区二区三区四区高清 | 久久综合久久久久88| 久久精品网址| 99re6热在线精品视频播放速度| 欧美一区二区三区四区高清| 久久久噜噜噜久久中文字免| 91久久精品www人人做人人爽 | 一本色道**综合亚洲精品蜜桃冫| 国产精品国产三级国产普通话三级 | 欧美激情视频一区二区三区免费| 欧美精品97| 欧美在线不卡视频| 麻豆精品视频在线观看视频| 一本久久知道综合久久| 欧美伊人久久久久久午夜久久久久 | 欧美r片在线| 欧美专区18| 欧美日韩国语| 美国十次成人| 国产精品日韩欧美大师| 亚洲电影在线| 国产一区二区三区久久悠悠色av| 亚洲国产日韩一区| 国内精品**久久毛片app| 一区二区激情小说| 亚洲二区三区四区| 亚洲欧美日韩一区二区在线| 99综合视频| 男人的天堂亚洲| 久久嫩草精品久久久久| 欧美日韩一区二区三区| 欧美成人一品| 国产在线欧美| 亚洲欧美在线另类| 亚洲色在线视频| 欧美韩国日本综合| 欧美成人网在线| 亚洲一区二区三区在线看| 暖暖成人免费视频| 欧美一区二区三区播放老司机 | 亚洲一区网站| 99re6这里只有精品视频在线观看| 欧美一区二区三区在线观看视频| 亚洲午夜激情网页| 蜜桃精品一区二区三区| 久久免费精品视频| 国产日韩欧美在线观看| 亚洲永久免费精品| 亚洲欧美日韩中文视频| 欧美三区视频| 亚洲免费精品| 一区二区三区精品在线| 欧美激情一区二区三区高清视频| 美日韩精品视频免费看| 亚洲盗摄视频| 欧美aa国产视频| 亚洲人成网站777色婷婷| 亚洲欧洲精品一区二区| 欧美18av| 亚洲精品一区二区三区蜜桃久| 亚洲日韩成人| 欧美日韩亚洲不卡| 亚洲午夜在线观看| 久久精品国产亚洲一区二区三区 | 日韩天堂在线观看| 亚洲视频精品| 国产精品久久久久久久久| 亚洲午夜伦理| 久久精品五月| 亚洲国产欧美在线人成| 欧美国产成人精品| 亚洲精品免费网站| 亚洲男人影院| 狠狠色综合色综合网络| 男男成人高潮片免费网站| 亚洲经典三级| 香蕉乱码成人久久天堂爱免费| 国产伊人精品| 欧美日产国产成人免费图片| 亚洲女与黑人做爰| 欧美sm视频| 亚洲女同同性videoxma| 国语自产精品视频在线看一大j8| 麻豆freexxxx性91精品| 一本色道久久88综合亚洲精品ⅰ | 亚洲性xxxx| 国产精品一区二区三区久久久| 欧美综合国产| 亚洲卡通欧美制服中文| 欧美在线电影| 亚洲区中文字幕| 国产精品影院在线观看| 久久这里有精品15一区二区三区| 日韩一级片网址| 久久综合国产精品| 亚洲婷婷国产精品电影人久久| 国内成人精品视频| 欧美日韩一区二区三区四区在线观看 | 欧美日韩精品综合在线| 亚洲香蕉网站| 免费成人激情视频| 一区二区高清| 精品成人乱色一区二区| 欧美日韩国产一级片| 久久精品男女| 亚洲欧美精品中文字幕在线| 亚洲激情第一页| 开心色5月久久精品| 亚洲在线观看视频网站| 亚洲精品一区二区在线观看| 国产亚洲一区二区精品| 欧美午夜在线视频| 免费亚洲电影| 欧美一区影院|