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

milkyway的窩

最初想法的誕生地

 

i.MX21平臺(tái)之 剖析Windows CE 5.0 Eboot

 

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

 

相關(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板級(jí)初始化前先初始化i.MX21處理器的核心模塊

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

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

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

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

上面提到的函數(shù)所在文件如下: OALSetUpSystemControl OALSetUpFrequenciesOALSetUpExtMemoriesOALSetUpGpioOALSetUpKeypad這幾個(gè)函數(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、寫(xiě)緩沖無(wú)效,并關(guān)閉 MMUcache

 

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

 

(二)   main.c

基本流程:

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

 

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

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

 

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

 

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

 

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

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

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

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

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

 

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

 

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

 

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

 

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

0)MAC地址設(shè)置

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

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

3)啟用DHCP

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

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

D)下載

E)擦除Nor Flash

L)從Nor Flash啟動(dòng)

R)從RAM中啟動(dòng)

 

總的來(lái)說(shuō),在i.MX21平臺(tái)上WinCE EBoot就是在以下幾個(gè)文件間不斷跳轉(zhuǎn)的過(guò)程:

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

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

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

導(dǎo)航

統(tǒng)計(jì)

公告

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

常用鏈接

留言簿(37)

隨筆分類(lèi)(104)

隨筆檔案(101)

文章分類(lèi)(51)

文章檔案(53)

wince牛人

搜索

積分與排名

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品中文字幕女同| 欧美.日韩.国产.一区.二区| 欧美成人乱码一区二区三区| 久久蜜桃av一区精品变态类天堂| 久久国产精品免费一区| 久久久国产精品一区| 久久乐国产精品| 欧美福利在线观看| 亚洲精品午夜精品| 亚洲天堂男人| 久久久www成人免费毛片麻豆| 老司机精品视频一区二区三区| 欧美激情精品久久久六区热门| 欧美日韩国产免费| 国产亚洲福利社区一区| 亚洲激情另类| 午夜精品视频在线观看| 久久综合狠狠综合久久综青草 | 亚洲欧美区自拍先锋| 久久精品女人| 欧美日韩国产大片| 国产在线拍偷自揄拍精品| 亚洲三级免费| 久久欧美中文字幕| aⅴ色国产欧美| 久久久精品国产免费观看同学| 欧美日本二区| 亚洲成色777777在线观看影院| 亚洲一区在线免费| 欧美激情精品久久久久久| 午夜久久久久| 欧美视频官网| 99亚洲视频| 欧美黄在线观看| 久久www免费人成看片高清| 欧美区在线播放| 在线国产精品播放| 亚洲女同性videos| 亚洲欧美精品在线观看| 欧美日产国产成人免费图片| 在线精品国产欧美| 久久久久久一区| 午夜精品亚洲| 国产美女精品视频| 性欧美精品高清| 日韩网站在线观看| 欧美久久成人| 99精品国产在热久久下载| 欧美激情精品久久久久久| 久久嫩草精品久久久精品| 国语精品中文字幕| 久久久免费精品| 久久国产一区| 在线观看一区欧美| 免费美女久久99| 久热re这里精品视频在线6| 亚洲风情亚aⅴ在线发布| 欧美成人免费网站| 欧美高清视频| 一区二区三区日韩精品视频| 亚洲免费观看| 国产精品一区二区a| 久久国产黑丝| 久久精品一二三| 亚洲国产精品一区| 亚洲激情专区| 欧美日韩一二三区| 午夜精品久久久久久久蜜桃app| 在线一区二区日韩| 国产精品免费一区二区三区在线观看 | 理论片一区二区在线| 在线免费观看日韩欧美| 欧美福利小视频| 欧美成人嫩草网站| 亚洲视频在线观看一区| 亚洲午夜免费视频| 狠狠久久婷婷| 亚洲日本视频| 国产精品一香蕉国产线看观看| 久久精品国产成人| 另类尿喷潮videofree | 欧美视频一区二区三区在线观看| 亚洲午夜小视频| 亚洲一二三区在线| 韩国av一区二区三区在线观看| 欧美成人免费va影院高清| 欧美日韩黄色大片| 久久久久久久91| 欧美成人免费全部| 欧美一区二区三区四区在线| 欧美日韩在线精品| 久久精品国产清高在天天线| 久久日韩精品| 亚洲综合好骚| 久久综合图片| 亚洲欧美成人一区二区在线电影 | 欧美久久99| 久久精品免费观看| 欧美电影在线| 久久精品视频一| 欧美日韩在线综合| 欧美高清在线一区| 国产亚洲成精品久久| 亚洲日本中文字幕区| 好吊成人免视频| 亚洲午夜免费福利视频| 亚洲精品国产欧美| 欧美在线播放| 午夜一区二区三区不卡视频| 美腿丝袜亚洲色图| 久久精品国产亚洲精品| 欧美日韩一区在线视频| 亚洲丰满少妇videoshd| 一区二区三区在线免费视频| 亚洲午夜精品久久| 一区二区三区精密机械公司| 乱码第一页成人| 久久久国产成人精品| 国产精品理论片| 一区二区三区欧美日韩| 亚洲毛片在线观看.| 你懂的视频欧美| 欧美国产高清| 亚洲国产精品毛片| 美日韩精品视频免费看| 欧美 日韩 国产一区二区在线视频 | 制服丝袜激情欧洲亚洲| 老司机一区二区三区| 久久天天狠狠| 激情文学综合丁香| 久久精品视频免费播放| 久久综合福利| 一区二区三区在线免费播放| 久久久青草青青国产亚洲免观| 久久嫩草精品久久久久| 国内精品美女av在线播放| 香蕉视频成人在线观看| 欧美在线视频一区二区三区| 国产欧美日韩综合一区在线观看 | 亚洲精品五月天| 一区二区欧美日韩视频| 欧美日韩国产综合网| 一区二区欧美国产| 欧美亚洲一级片| 狠狠88综合久久久久综合网| 久久久中精品2020中文| 欧美福利电影网| 一区二区日本视频| 国产精品日日摸夜夜摸av| 小嫩嫩精品导航| 欧美成年人视频网站| 精品盗摄一区二区三区| 欧美专区中文字幕| 久久久久国产精品一区| 男男成人高潮片免费网站| 亚洲国产另类久久精品| 欧美激情亚洲| 亚洲尤物精选| 久久综合伊人| 亚洲精品久久在线| 国产精品久久久久毛片软件| 欧美一区二区三区久久精品| 欧美大片第1页| 亚洲尤物在线视频观看| 国产一区二区三区久久 | 久久综合九色九九| 99国产精品国产精品久久| 久久久久久久网| 亚洲美女在线看| 国产午夜精品视频| 欧美v日韩v国产v| 亚洲视频在线免费观看| 欧美成人激情在线| 小黄鸭精品密入口导航| 在线观看视频欧美| 国产精品国产a级| 欧美91视频| 久久aⅴ乱码一区二区三区| 亚洲精品日韩综合观看成人91| 久久久成人精品| 亚洲中无吗在线| 亚洲日本电影| 国产一区二区三区免费观看| 欧美精品一区二区三区一线天视频| 欧美一区在线视频| 在线视频亚洲一区| 亚洲电影在线播放| 久久夜色精品国产欧美乱极品| 亚洲午夜电影网| 日韩一本二本av| 亚洲日本理论电影| 影音先锋久久久| 国产美女精品一区二区三区| 欧美系列一区| 欧美日产一区二区三区在线观看 | 亚洲巨乳在线| 欲色影视综合吧| 激情av一区二区| 国产在线国偷精品产拍免费yy| 国产精品极品美女粉嫩高清在线|