freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

bootloader的設(shè)計(jì)與實(shí)現(xiàn)-文庫吧

2025-07-29 14:59 本頁面


【正文】 和 UDP服務(wù) DHCP是動(dòng)態(tài)主機(jī)分配協(xié)議 TFTP是簡(jiǎn)單文件傳輸協(xié)議 UDP是用戶數(shù)據(jù)協(xié)議 ◆ EDBG驅(qū)動(dòng) 是一組以太網(wǎng)卡的驅(qū)動(dòng)程序代碼 ● 存放路徑: %_WINCEROOT%\Public\Common\Oak\Drivers\Ethdbg ● 功能:提供常用以太網(wǎng)卡驅(qū)動(dòng),為 BootLoader和 OS的通信提供通用接口 ● : NE2020 、 CS8900、 RTL813 SMC9000、DEC21140等 LOGO ◆ 存儲(chǔ)管理 ● BootPart部分存放路徑: %_WINCEROOT%\Public\Common\Oak\Drivers\Ethdbg\BootPart ● 功能:輔助 BootLoader進(jìn)行分區(qū)管理,存儲(chǔ)設(shè)備讀 /寫等操作和管理 ● Flash FMD部分是用戶自己編寫的,存放在: %_WINCEROOT%\Platform\Hardware Platform Name\Src\Eboot LOGO 3 BootLoader的代碼的組件和執(zhí)行流程 ? BootLoader代碼組件 由兩部分組成 ● OEM啟動(dòng)代碼 匯編編寫,最先執(zhí)行,完成對(duì) CPU時(shí)鐘頻率,內(nèi)部寄存器,高速緩存及其他一些硬件相關(guān)功能的初始化。 ● OEM主代碼 C語言編寫, BootLoader的主要代碼區(qū),通常包含鏡像下載,串口調(diào)試,寫 Flash(可選),硬件監(jiān)視器(可選)等幾部分的代碼 LOGO BootLoader代碼的控制流程如圖 3所示: 圖 3 LOGO ? BootLoader代碼的執(zhí)行流程 根據(jù) BootLoader的任務(wù)來劃分,可將其代碼的執(zhí)行分為兩個(gè)階段: ◆ Stage1 完成對(duì) CPU的初始化,地址的映射,然后跳到 main函數(shù) ◆ Stage2 數(shù)據(jù)的重定位,平臺(tái)的初始化(主要是各種外圍模塊),鏡像的加載 整個(gè) BootLoader代碼的執(zhí)行過程,用交互圖表示如下, LOGO s t a r t u p . sM a i n . cB l c o m m o n . c1 . 跳 轉(zhuǎn)2 . 調(diào) 用 B o o t L o a d e r M a i n ( )3 . 調(diào) 用 K e r n a l R e l o c a t e ( )4 . 調(diào) 用 O E M D e b u g I n i t ( )5 . 調(diào) 用 O E M P l a t F o r m I n i t ( )6 . 調(diào) 用 O E M P r e D o w n L o a d ( )7 . 調(diào) 用 D o w n l o a d I m a g e ( )8 . 調(diào) 用 O E M L a u n c h ( )BootLoader代碼的執(zhí)行過程的交互圖 圖 4 系統(tǒng)初始化函數(shù) LOGO 4 BootLoader開發(fā)前的硬件考慮 考慮的原因 ◆ 硬件密切相關(guān) ◆ 不同操作系統(tǒng) BootLoader的功能相同,但實(shí)現(xiàn)方式不同 每種不同的 CPU 體系結(jié)構(gòu)都有不同的 Boot Loader。有些 Boot Loader 也支持多種體系結(jié)構(gòu)的 CPU,比如 UBoot 就同時(shí)支持 ARM 體系結(jié)構(gòu)和 MIPS 體系結(jié)構(gòu)。除了依賴于 CPU 的體系結(jié)構(gòu)外, Boot Loader 實(shí)際上也依賴于具體的嵌入式板級(jí)設(shè)備的配置。這也就是說,對(duì)于兩塊不同的嵌入式板而言,即使它們是基于同一種 CPU 而構(gòu)建的,要想讓運(yùn)行在一塊板子上的 Boot Loader 程序也能運(yùn)行在另一塊板子上,通常也都需要修改 Boot Loader 的源程序。 LOGO 5 BootLoader的設(shè)計(jì)與實(shí)現(xiàn) 以下設(shè)計(jì)過程中的代碼均是以 s3c2440BSP為例 構(gòu)建創(chuàng)建環(huán)境 ● 為要新建的 BootLoader創(chuàng)建一個(gè)新的目錄,路徑為: %_WINCEROOT%\Platform\MyPlatform\Src\BootLoader\Eboot MyPlatform是要?jiǎng)?chuàng)建 BootLoader的平臺(tái)名 ● 創(chuàng)建命令行環(huán)境 為 BootLoader提供所需要的靜態(tài)庫 ● 創(chuàng)建 SOURCES文件和 makefile文件 SOURCES文件為編譯器提供編譯信息 makefile文件用于驅(qū)動(dòng)編譯過程 LOGO startup函數(shù)的設(shè)計(jì)與實(shí)現(xiàn) ◆ BootLoader的入口代碼 最早編寫的 BootLoader函數(shù),匯編編寫,存放路徑如下: %_WINCEROOT%\Platform\MyPlatform\Src\BootLoader\Eboot MyPlatform是要?jiǎng)?chuàng)建 BootLoader的平臺(tái)名,文件擴(kuò)展名為 .s ◆ s3c2440的 startup函數(shù) 在這函數(shù)中主要完成的工作是對(duì) CPU的初始化,地址映射。2440BSP中的 流程圖如圖 5所示: LOGO 圖 5 開 始清 空 T L B禁 止 I C A C H E 和 D C A C H E屏 蔽 所 有 中 斷將 所 有 中 斷 都設(shè) 為 I R Q設(shè) 置 總 線 模 式配 置 P L L配 置 電 源 管 理初 始 化 存儲(chǔ) 控 制 器搬 運(yùn) B o o t L o a d e r地 址 映 射清 空 I + D 的 T L B使 能 C A C H E使 能 M M U初 始 化 超 級(jí)頁 堆 棧跳 轉(zhuǎn) 到 主 函m a i n ( )結(jié) 束 LOGO ◆ 主函數(shù) main的設(shè)計(jì)與實(shí)現(xiàn) 由 Startup函數(shù)調(diào)用, C語言代碼的入口點(diǎn),在該函數(shù)中調(diào)用Blmon庫中的 BootLoaderMain函數(shù)。 2440BSP中主函數(shù)為 main ● main函數(shù)的代碼 void main(void) { // Clear LEDs. // OEMWriteDebugLED(0, 0x3)。 // Common boot loader (blmon) main routine. // BootloaderMain()。 // Should never get here. // SpinForever()。 } LO
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1