久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇VxWorks專區VxWorks BSP開發 → VxWorks BSP和啟動過程


  共有8735人關注過本帖樹形打印

主題:VxWorks BSP和啟動過程

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
VxWorks BSP和啟動過程  發帖心情 Post By:2010-12-1 9:33:10

一.BSP

1.定義:Board Support Package, Provides VxWorks with primary interface to hardware environment。

2.作用:

在通電后,初始化硬件;

支持VxWorks和硬件驅動通信;

使hardware-dependent 和 hardware-independent在VxWorks系統中很好的結合;

二.開發BSP主要的兩點:

系統image的生成,image的種類,image的download下載過程,系統的啟動順序和過程,調試環境的配置及遠端調試的方式和方法,相應BSP設置文件的修改(網絡,串口... ),BSP各文件的組成和作用。

要對系統底層驅動清楚,也就是對CPU及相關的硬件有所了解.主要是32微處理器(上電啟動過程, download image的方式方法,讀寫ROM,地址空間分配,MMU,寄存器,中斷定義,..).參照硬件資料,多讀一些源碼會有所幫助.



三.兩個主要兩個協議:

WTX協議(Wind River Tool eXchange): 用于開發機內部Tornado工具與Target Server之間通信.

WDB協議(Wind DeBug): 用于主機Target Server與目標機之間的通信.



四.主要BSP主要文件目錄的組成及主要文件的作用:

1.目錄target/config/All:

這個目錄下的文件是所有BSP文件共享的,不是特別需要不要更改里面的任何文件.

a. configAll.h:
缺省定義了所有VxWorks的設置.如果不用缺省的設置,可在BSP目錄下的config.h文件中用#define或#undef方式來更改設置.

b. bootInit.c:
在romInit.s后,完成Boot ROM的第二步初始化.程序從romInit.s中的romInit()跳到這個文件中的romStart().來執行必要的解壓和ROM image的放置.

c. bootConfig.c: 完成Boot ROM image的初始化和控制.

d. usrConfig.c: VxWorks image的初始化代碼.



2.目錄target/config/comps/src:

涉及系統核心的components,主要由target/config/All中usrConfig.c中函數調用.



3.目錄target/config/bspname:

包含系統或硬件相關的BSP文件.

a. Makefile 一些命令行控制images的生成。

b. README BSP發布紀錄,版本,總的文檔

c. config.h 包括所有涉及CPU主板的設置及定義(includes,definations),參見 BSP設置文件及生成下載

d. configNet.h 網絡驅動的主要設置文件,主要對END驅動設置.

e. romInit.s 匯編語言文件,是VxWorks Boot ROM和ROM based image的入口,參見 系統啟動部分

f. sysALib.s 匯編語言文件,程序員可以把自己的匯編函數放在這個文件里,在上層調用.VxWorks image的入口點_sysInit在這個文件里,是在RAM中執行的第一個函數.

g. sysLib.c 包含一些系統相關的函數例程,提供了一個board-level的接口,VxWorks和應用程序可以以system-indepent的方式生成.這個文件還能包含目錄target/config/comps/src的驅動.

h. sysScsi.c 可選文件用于Scsi設備設置和初始化.

i. sysSerial.c 可選文件用于所有的串口設置和初始化.

j. bootrom.hex SIC文件包含VxWorks Boot ROM代碼

k. VxWorks 運行在目標機上,完整的,連結后的VxWorks二進制文件.

l. VxWorks.sym 完全的,連結后帶有符號表的VxWorks二進制文件

m. VxWorks.st 完全的,連結后,standalone,帶有符號表的VxWorks二進制文件

注:

BSP用"make"來編譯連接生成(Created),而不是用Tornado的工具.

BSP和應用程序都可以在"make"或"tornade"上開發(developed)

BSP被設置包括以下驅動:

中斷控制interrupt controller,計時器timer(sys/aux),串口UART(serial),顯示屏LCD,鍵盤Keyboard(opt),觸摸屏touch-screen(opt)。

一.VxWorks Image的種類:

BSP默認的download VxWorks RAM image方式是從Ethernet. 串口電纜需要用來和開發板(COM1)通信,通過協議WDB.



可加載的映像( Loadable images) 可分為:
1.ROM-based images---compressed/uncompressed(只要一個映像)。

2.ROM-Resident images(BootRom + VxWorks Image 模式)。



BootRom中燒錄的映像:

VxWorks boot images---A VxWorks image designed to load another VxWorks images containing application code (often refer to as "boot code") ,"Burned" into ROM or loaded into Flash,Maybe execute in ROM/Flash (ROM-resident),Maybe execute out of RAM.



VxWorks映像(包含用戶程序) :

VxWorks images---A VxWorks image containing "end-user" code,

VxWorks映像又分為以下兩類:

1.Loadable VxWorks image--VxWorks images loaded by VxWorks boot image.

2.VxWorks ROM image--VxWorks image "burned" into ROM or loaded into Flash.May execute in Flash.



VxWorks Image文件類型的說明

1.Uploaded images(通過網口或串口下載到RAM):

vxWorks - basic Tornado, shell 和 symbol table 在主機端

vxWorks.st(文件很大)- 獨立的 image,包含shell和 symbol table在目標板運行

2.ROM based images(直接燒入ROM的VxWorks):

vxWorks_rom - Tornado in ROM,非壓縮, 在 RAM 中運行

vxWorks.res_rom_nosym - Tornado in ROM, 非壓縮,在 ROM 中運行

vxWorks.st_rom - Stand-alone in ROM, 壓縮, RAM 中運行

vxWorks.res_rom - Stand-alone in ROM, 非壓縮, ROM 中運行



VxWorks映像包含數據和程序段兩個部分

VxWorks images consist of:

1.Text segment---executable instruction.

2.Data segment---Initilized global and static varibles.





非BSP make文件中包括:

include $(TGT_DIR)/h/make/rules.library
include $(TGT_DIR)/h/make/defs.default(define default value for makefile)

...............

BSP make文件中包括: include $(TGT_DIR)/h/make/rules.bsp ...




一.系統啟動順序

VxWorks image

分為在ROM中運行和在RAM中運行兩種.兩者啟動順序的區別在于sysInit()函數的調用.該函數在RAM運行的VxWorks中初始化RAM。



1.ROM中運行的VxWorks :

VxWorks在ROM中運行,即寫入ROM中的VxWorks是非壓縮的,不需要解壓,系統直接跳到ROM的首地址,運行VxWorks.注意:ROM運行的VxWorks并不支持所有的主扳,應以主板手冊為準.

1.1執行順序

romInit.s的romInit()-->bootInit.c的romStart()-->usrConfig.c中的usrInit()-->sysHwInit()-->usrKernelInit()-->KernelInit(usrRoot,...)

1.2優點

VxWorks在ROM中運行主要是為了節省RAM空間,以便應用程序有更大的空間運行.只把VxWorks image的data段復制到RAM的LOCAL_LOW_ADRS, text部分留在ROM并在ROM中執行.

1.3缺點

ROM中運行的VxWorks缺點是運行速度慢.



2. RAM中運行的VxWorks

VxWorks在RAM中運行,即寫入ROM中的Boot或VxWorks Image是壓縮的,需要先解壓copy所有的text和data到RAM的LOCAL_LOW_ADRS中,下面sysInit()主要是初始化RAM用的,系統直接跳到RAM的首地址,運行VxWorks。usrInit()前面不壓縮,即romInit(),romStart()不能壓縮.

2.1程序執行順序

romInit.s中的romInit()-->bootInit.c中的romStart()-->sysaLib.s中的sysInit()-->usrConfig.c中的usrInit()-->sysHwInit()-->usrKernelInit()

-->KernelInit(usrRoot,...)



Boot或VxWorks image的text段或data段會從ROM復制到RAM,在RAM中運行。其中usrRoot()是VxWorks啟動的第一個任務,由它來初始化 driver,network等描述: romInit.s first execute in flash,minal initiliz,then jump to romStart.romStart() 開始裝載和解壓image到RAM,sysaLib.s是在RAM中執行的第一個函數.



BootROM image

BootROM image 最少的系統初始化,主要用于啟動裝載VxWorks image.一般有壓縮和不壓縮兩種形式,如bootrom和boot_uncmp.與VxWorks image的區別在于一個Bootrom調用bootConfig.c,而VxWorks調用usrConfig.c.



1.1程序執行順序

romInit.s中的romInit()-->bootInit.c中的romStart()-->文件bootConfig.c中的usrInit()-->sysHwInit()-->usrKernelInit()

-->KernelInit(usrRoot,...)



其中 /target/config/all/bootConfig.c是Boot ROM設置模塊.用于通過網絡加載VxWorks image.

usrRoot()-->bootCmdLoop(void)命令行選擇,或autobooting

-->bootLoad(pLine, &entry)加載模塊到內存(網絡,TFFS,TSFS...)

-->netifAttach()-->go(entry)-->(entry)()從入口開始執行,不返回.



1.2各個函數的主要作用

romInit() power up,disable interrupt,put boot type on the stack,clears caches.

romStart() load Image Segments into RAM.

usrInit() Interrupt lock out,save imformation about boot type,handle all the Initialization before the kernel is actually started,then starts the kernel execution to create an initial task usrRoot().This task completes the start up.

sysHwInit() Interrupt locked,Initializeshardware,registers,

activation kernel

KernelInit(usrRoot,...)

Initializes and starts the kernel.

Defines system memory partition.

Activates a task tUsrRoot to complete initalization.

Unlocks inierrupts.

Uses usrInit()stack.

usrRoot() 初始化內存分區表(memory partition library)

初始化系統系統時鐘(system clock)

初始化輸入輸出系統(I/O system)----可選

Create devices----可選

設置網絡(Configure network)--------可選

激活WDB目標通信(Activate WDB agent)---------可選

調用程序(Activate application)



VxWorks 在ROM中的情況

ROM 低地址位為沒有壓縮的romInit.s和romStart()在ROM的起始位置,系統power up后,從這個起始位開始執行,即執行romInit(),起始位置由硬件定義,一般為0x00000000。ROM 高地址位為壓縮的VxWorks Imgage

其中 RAM_LOW_ADRS, RAM_HIGH_ADRS 等一些地址在makefile 和BSP config.h中定義。

支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

VxWorks BSP和啟動過程








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
国产精品污网站| 欧美男人的天堂一二区| 91在线一区二区三区| 国产成都精品91一区二区三| 国产精品小仙女| 成人av在线电影| 99re在线播放| 国产私拍一区| 日韩av一级大片| 亚洲一区二区三区乱码| 日本韩国欧美一区二区三区| 欧美日韩aaa| 久久综合九色欧美综合狠狠| 亚洲国产精品国自产拍av| 亚洲欧美一区二区三区极速播放| 亚洲午夜激情网页| 奇米影视一区二区三区小说| 国模少妇一区二区三区| 成人黄色大片在线观看| 久久成人资源| 亚洲一区美女| 精品日韩一区二区| 成人免费在线观看入口| 日韩国产欧美三级| 成人免费视频一区| 久久久久久久久一区| 日本精品一区二区三区高清| 日韩一级免费一区| 中文字幕中文字幕一区二区 | 日韩一区二区在线观看视频播放| 久久婷婷国产综合国色天香| 亚洲精品乱码久久久久久黑人| 日本欧美一区二区| 97精品国产97久久久久久久久久久久 | 欧美午夜免费电影| 久久―日本道色综合久久| 一二三区精品视频| 成人在线视频一区| 区一区二区三区中文字幕| 欧美卡1卡2卡| 亚洲情趣在线观看| 国产高清久久久| 韩日午夜在线资源一区二区| 在线观看免费亚洲| 国产精品国产三级国产aⅴ无密码| 日本在线不卡视频一二三区| 国产不卡一区二区在线观看| 91福利在线观看| 国产精品人人做人人爽人人添| 美女视频一区二区三区| 国产欧美亚洲日本| 91精品国产麻豆国产自产在线 | 26uuu色噜噜精品一区二区| 亚洲男同1069视频| 成人午夜视频在线| 在线丝袜欧美日韩制服| 国产偷国产偷精品高清尤物| 久久精品免费看| 国内精品视频免费| 日韩欧美国产一区在线观看| 天堂久久一区二区三区| 国产精品一区二区三区免费| 69av一区二区三区| 天天色图综合网| 久久国产精品久久精品国产| 日韩欧美精品在线视频| 免费在线成人网| 欧美日韩在线不卡一区| 国产农村妇女毛片精品久久麻豆| 国产精品自拍毛片| 欧美亚洲动漫精品| 亚洲gay无套男同| 欧美精品亚洲精品| 亚洲国产精品黑人久久久| 成人免费看片app下载| 在线观看国产精品网站| 五月激情综合色| 欧美一区二区三区在线免费观看| 久久婷婷久久一区二区三区| 大胆欧美人体老妇| 欧美一区日本一区韩国一区| 日韩激情一二三区| 视频三区二区一区| 亚洲国产日日夜夜| 另类视频在线观看+1080p| 国产夜色精品一区二区av| 成人黄页在线观看| 日韩欧美一区二区在线视频| 国产999精品久久久久久| 欧美日韩在线播放三区四区| 免费久久精品视频| 色8久久精品久久久久久蜜| 图片区小说区区亚洲影院| 午夜欧美性电影| 亚洲午夜影视影院在线观看| 欧美一区二区三区在线免费观看| 亚洲久本草在线中文字幕| 久久国产精品久久精品国产| 综合精品久久久| 日本午夜精品一区二区三区| 亚洲精品免费看| 日韩欧美激情一区二区| 亚洲一区二三区| 午夜免费电影一区在线观看| 日韩中文字幕91| 在线这里只有精品| 麻豆成人免费电影| 在线电影国产精品| 成人午夜视频网站| 精品福利一区二区三区免费视频| 99久久精品一区二区| 欧美激情一区在线观看| 韩国精品一区二区三区六区色诱| 中文字幕一区二区三区四区| 欧美一级爽aaaaa大片| 五月综合激情婷婷六月色窝| 色婷婷精品久久二区二区蜜臀av | 日韩欧美一区中文| 91福利视频导航| 亚洲色图清纯唯美| 亚洲一区二区在| 国产一区二区三区不卡在线观看| 日韩欧美国产麻豆| 国产精品嫩草在线观看| 亚洲一区二区三区在线| 在线亚洲一区二区| 成人久久久精品乱码一区二区三区| 亚洲精品一区二区在线观看| 国产视频在线观看一区| 午夜欧美在线一二页| 欧美猛男gaygay网站| 95精品视频在线| 亚洲一区在线观看免费| 欧美亚洲动漫精品| 99在线精品一区二区三区| 亚洲欧洲综合另类在线| 欧美亚洲国产一区二区三区| 不卡av电影在线播放| 综合久久国产九一剧情麻豆| 色婷婷av一区二区三区gif| 成人久久久精品乱码一区二区三区| 中文字幕av免费专区久久| 亚洲成人一区二区三区| 国产激情一区二区三区四区| 中文字幕不卡在线播放| 一区二区三区精品国产| 成人免费电影视频| 一级日本不卡的影视| 777xxx欧美| 欧美动漫一区二区| 国产高清无密码一区二区三区| 自拍视频在线观看一区二区| 欧美在线免费观看亚洲| 91入口在线观看| 裸体健美xxxx欧美裸体表演| 中文字幕成人av| 欧美日韩成人一区| 热re99久久精品国产99热| 国产伦理精品不卡| 亚洲综合免费观看高清在线观看| 欧美喷潮久久久xxxxx| 国产一区在线免费| 国产成人在线视频播放| 亚洲18女电影在线观看| 久久久99精品久久| 一本到高清视频免费精品| 99精品视频在线免费观看| 三级亚洲高清视频| 久久久不卡网国产精品一区| 91精品1区2区| 精品亚洲欧美日韩| 国产盗摄精品一区二区三区在线| 一区二区三区在线免费观看| 日韩欧美一卡二卡| 91久久精品一区二区三区| 韩国一区二区三区美女美女秀| 高清久久久久久| 蓝色福利精品导航| 亚洲一区在线观看免费观看电影高清| 久久久久久久久久久久久夜| 欧美色精品天天在线观看视频| 免费久久久一本精品久久区| 成人黄色在线视频| 精品亚洲免费视频| 午夜精品久久久久久久蜜桃app| 欧美激情中文字幕| 精品国产亚洲在线| 欧亚一区二区三区| 亚洲成人蜜桃| 手机成人在线| 开心色怡人综合网站| 粉嫩高清一区二区三区精品视频 | 色婷婷香蕉在线一区二区| 国产成人一区二区三区免费看| 国产精品综合网| 国产综合成人久久大片91| 亚洲成人在线观看视频| 亚洲天堂中文字幕| 中文字幕一区二区三| 欧美激情中文字幕一区二区|