




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 PAGE 13 / 13什么是 BSP:在通電后 ,初始化硬件( bootrom)支持 VxWorks和硬件驅(qū)動通信( Image的底層驅(qū)動)本質(zhì)上是硬件驅(qū)動、初始化的合集;研究 BSP 內(nèi)容:系統(tǒng) image的生成和 image的種類image的 download下載過程系統(tǒng)的啟動順序和過程調(diào)試環(huán)境的配置與遠端調(diào)試的方式和方法相應(yīng) BSP 設(shè)置文件的修改 (網(wǎng)絡(luò),串口.)BSP 各文件的組成和作用 .要對系統(tǒng)底層驅(qū)動清楚 , 也就是對 CPU 與相關(guān)的硬件有所了解.主要是 32 微處理器 (上電啟動過程 , download image的方式方法 , 讀寫 ROM, 地址空間分配 ,MMU
2、, 寄存器,中斷定義 ,.). 參照硬件資料,多讀一些源碼會有所幫助.BSP 主要文件目錄的組成與主要文件的作用:目錄 target/config/All:這個目錄下的文件是所有BSP 文件共享的 ,不是特別需要不要更改里面的任何文件.configAll.h:缺省定義了所有VxWorks的設(shè)置.如果不用缺省的設(shè)置 ,可在 BSP 目錄下的config.h文件中用 #define或#undef方式來更改設(shè)置 .bootInit.c:在 romInit.s后, 完成 Boot ROM的第二步初始化 .程序從 romInit.s中的romInit()跳到這個文件中的romStart().來執(zhí)行必要的
3、解壓和ROM image的放置.bootConfig.c:完成 Boot ROM image的初始化和控制 .usrConfig.c:VxWorks image的初始化代碼 .目錄 target/config/ps/src:涉與系統(tǒng)核心的ponents,主要由 target/config/All中 usrConfig.c中函數(shù)調(diào)用目錄 target/config/bspname:包含系統(tǒng)或硬件相關(guān)的BSP 文件.Makefile一些命令行控制images的生成,參見 BSP 設(shè)置部分與生成下載READMEBSP 發(fā)布紀錄 , 版本,總的文檔config.h包括所有涉與 CPU 主板的設(shè)置與定義
4、 (includes,definations),參見 BSP 設(shè)置文件與生成下載configNet.h網(wǎng)絡(luò)驅(qū)動的主要設(shè)置文件,主要對 END驅(qū)動設(shè)置 .romInit.s匯編語言文件 ,是 VxWorks Boot ROM和 ROM based image的入口,參見 系統(tǒng)啟動部分sysALib.s匯編語言文件 ,程序員可以把自己的匯編函數(shù)放在這個文件里,在上層調(diào)用.VxWorks image的入口點 _sysInit在這個文件里 ,是在 RAM中執(zhí)行的第一個函數(shù).sysLib.c包含一些系統(tǒng)相關(guān)的函數(shù)例程,提供了一個 board-level的接口,VxWorks和應(yīng)用程序可以以 system
5、-indepent的方式生成 .這個文件還能包含目錄target/config/ps/src的驅(qū)動.sysScsi.c可選文件用于 Scsi 設(shè)備設(shè)置和初始化 .sysSerial.c可選文件用于所有的串口設(shè)置和初始化.bootrom.hexASIC 文件包含 VxWorks Boot ROM代碼VxWorks運行在目標機上 ,完整的,連結(jié)后的 VxWorks二進制文件 .VxWorks.sym完全的,連結(jié)后帶有符號表的VxWorks二進制文件VxWorks.st完全的,連結(jié)后,standalone,帶有符號表的 VxWorks二進制文件VxWorks ImageVxWorks images
6、consist of:?Text segmentexecutable instruction.?Data segmentInitilized global and static varibles.?BSS.分類和工作機理:Bootrom 不是 VxWorks Image ,不參與討論它本質(zhì)上是一段 Boot program ,最少的系統(tǒng)初始化 ,主要用于啟動裝載 VxWorks image. 一般有壓縮和不壓縮兩種形式 ,如 bootrom 和 boot_uncmp. 與 VxWorks image 的 區(qū) 別 在 于 一 個 Bootrom 調(diào) 用 bootConfig.c, 而 VxWor
7、ks 調(diào) 用usrConfig.c.VxWorks本質(zhì)上分為兩大類:Vxworks分為兩大類:Uploadedimages (通過網(wǎng)口、串口、硬盤、軟盤、DOC 、ROM 中加載到 RAM 中執(zhí)行的)vxWorks - basic Tornado, shell和 symbol table在主機端vxWorks.st(文件很大) -獨立的image, 包含 shell和 symbol table在目標板運行ROM based images(直接燒入 ROM的 VxWorks): VxWorks_Rom類的 Vxworks又分了兩類:1 )駐留的 resident 2) 不住留的不住留的ROM B
8、ased VxWorks Image駐留的 VxWorks_rom_resident說的再具體點:可下載的 Vxworks imageROM中燒制的 ImagevxWorks_rom - Tornado in ROM,非壓縮, 在 RAM中運行vxWorks.res_rom_nosym-TornadoinROM,非壓縮 ,在ROM中運行vxWorks.st_rom - Stand-alone in ROM,壓縮, RAM中運行vxWorks.res_rom - Stand-alone in ROM,非壓縮, ROM中運行VxWorks在存儲介質(zhì)中的存放方式啟動5.1啟動概述Bootrom的啟動
9、最少的系統(tǒng)初始化 ,主要用于啟動裝載 VxWorks image. 一般有壓縮和不壓縮兩種形式 ,如 bootrom 和 boot_uncmp. 與 VxWorks image 的區(qū)別在于一個Bootrom 調(diào)用 bootConfig.c, 而 VxWorks 調(diào)用 usrConfig.c.文件 romInit.s中的 romInit()文件 bootInit.c中的 romStart()文件 bootConfig.c中的usrInit()sysHwInit()usrKernelInit()KernelInit(usrRoot,.)其中 /target/config/all/bootConfi
10、g.c是 Boot ROM設(shè)置模塊 .用于通過網(wǎng)絡(luò)加載 VxWorks image.usrRoot()bootCmdLoop(void)命令行選擇 ,或autobootingbootLoad(pLine, &entry)加載模塊到內(nèi)存 (網(wǎng)絡(luò),TFFS,TSFS.)netifAttach()go(entry)(entry)()從入口開始執(zhí)行,不返回.?各個函數(shù)的主要作用romInit()power up,disable interrupt,put boot type on the stack,clears caches.romStart()load Image Segments into RA
11、M.usrInit()Interrupt lock out,save imformation about boot type,handle all the Initialization before the kernel is actuallystarted,then starts the kernel execution to create an initial task usrRoot().This task pletes the start up.sysHwInit()Interrup locked,Initializes hardware,registers,activation ke
12、rnelKernelInit(usrRoot,.)?Initializes and starts the kernel.?Defines system memory partition.?Activates a task tUsrRoot to plete initalization.?Unlocks inierrupts.?Uses usrInit()stack.usrRoot()?初始化內(nèi)存分區(qū)表 (memory partition library)?初始化系統(tǒng)系統(tǒng)時鐘 (system clock)?初始化輸入輸出系統(tǒng) (I/O system)可選?Create devices可選?設(shè)置網(wǎng)
13、絡(luò) (Configure network)可選?激活 WDB目標通信 (Activate WDB agent)可選?調(diào)用程序 (Activate application)VxWorks的啟動Loadable VxWorks的啟動使用 Bootrom進行最小系統(tǒng)起動加載程序段、數(shù)據(jù)段、 BBS 段跳轉(zhuǎn)到 RAM中運行的 VxWorks的啟動(詳見下面)VxWork_ROM的 VxWorks啟動ROM 中運行的 VxWorks的啟動VxWorks 在 ROM 中運行,即寫入 ROM 中的 VxWorks 是非壓縮的 , 不需要解壓 , 系統(tǒng)直接跳到 ROM 的首地址 , 運行 VxWorks. 注
14、意:ROM 運行的 VxWorks 并不支持所有的主扳 ,應(yīng)以主扳手冊為準 .文件 romInit.s中的 romInit()文件 bootInit.c中的 romStart()文件usrConfig.c中的usrInit()sysHwInit()usrKernelInit()KernelInit(usrRoot,.)VxWorks在 ROM中運行主要是為了節(jié)省RAM空間, 以便應(yīng)用程序有更大的空間運行 .只把 VxWorks image的 data段復(fù)制到 RAM 的LOCAL_LOW_ADRS, text部分留在 ROM并在 ROM 中執(zhí)行.ROM中運行的 VxWorks缺點是運行速度慢
15、.RAM 中運行的 VxWorks的啟動VxWorks在 RAM 中運行,即寫入 ROM 中的 Boot 或 VxWorks Image是壓縮的,需要先解壓 copy所有的 text和 data到 RAM 的 LOCAL_LOW_ADRS 中,下面 sysInit()主要是初始化 RAM用的, 系統(tǒng)直接跳到 RAM的首地址 ,運行VxWorksusrInit()前面不壓縮 ,即 romInit(),romStart()不能壓縮 .文件 romInit.s中的 romInit()文件 bootInit.c中的romStart()sysaLib.s中的 sysInit()文件 usrConfig.c中的usrInit()sysHwInit()usrKernelInit()KernelInit(usrRoot,.)RAM運行的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療器械質(zhì)量檢測服務(wù)合同
- 職場辦公技能培訓(xùn)教育范文
- 高考語文復(fù)習(xí):人物傳記類文言文專練
- 電線電纜采購合同書
- 法律行業(yè)律師服務(wù)費用免責(zé)協(xié)議
- 經(jīng)典童話白雪公主的解讀與賞析
- 高考英語完形填空專題集中訓(xùn)練含參考答案(5份)
- 農(nóng)村居民公共服務(wù)需求滿足指導(dǎo)手冊
- 問題解決指南
- 金融科技服務(wù)風(fēng)險免責(zé)合同
- 2025年蘇州農(nóng)業(yè)職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 字體設(shè)計完整版本
- 【歷史】安史之亂與唐朝衰亡課件 2024-2025學(xué)年統(tǒng)編版七年級歷史下冊
- 2024年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 《歡樂運動會:1 我為班級出把力》說課稿-2024-2025學(xué)年四年級上冊綜合實踐活動滬科黔科版
- 2024年汽車駕駛員(高級)證考試題庫附答案
- 《兔的飼養(yǎng)管理》課件
- 2025年事業(yè)單位考試(綜合管理類A類)綜合應(yīng)用能力試題及解答參考
- “互聯(lián)網(wǎng)+”大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽計劃書一等獎
- 烹飪(西餐)第三屆全省職業(yè)技能大賽烹飪(西餐)項目技術(shù)文件
- 四川政采評審專家入庫考試基礎(chǔ)題練習(xí)試題附答案
評論
0/150
提交評論