開發BSP主要的兩點:
系統image的生成,image的種類,image的download下載過程,系統的啟動順序和過程,調試環境的配置及遠端調試的方式和方法,相應BSP設置文件的修改(網絡,串口..),BSP各文件的組成和作用.
要對系統底層驅動清楚,也就是對CPU及相關的硬件有所了解.主要是32微處理器(上電啟動過程, download image的方式方法,讀寫ROM,地址空間分配,MMU,寄存器,中斷定義,..).參照硬件資料,多讀一些源碼會有所幫助.
Tornado 2 開發調試環境協議框圖
主機開發(Host Development System)
目標機(Target System)Tornado 工具
WTX協議通信<==========>
Target Server
|
WDB協議通信
<==========>
兩個主要兩個協議
WTX協議(Wind River Tool eXchange): 用于開發機內部Tornado工具與Target Server之間通信.
WDB協議(Wind DeBug): 用于主機Target Server與目標機之間的通信.
一.基本概念
BSP定義:
Provides VxWorks with primary interface to hardware environment.
作用:
在通電后,初始化硬件.
支持VxWorks和硬件驅動通信.
使hardware-dependent 和 hardware-independent在VxWorks系統中很好的結合.
主要BSP主要文件目錄的組成及主要文件的作用:
目錄target/config/All:
這個目錄下的文件
是所有BSP文件共享的,不是特別需要不要更改里面的任何文件.
configAll.h:
缺省定義了所有VxWorks的設置.如果不用缺省的設置,可在BSP目錄下的config.h文件中用#define或#undef方式來更改設置.
bootInit.c:
在romInit.s后,完成Boot ROM的第二步初始化.程序從romInit.s中的romInit()跳到這個文件中的romStart().來執行必要的解壓和ROM image的放置.
bootConfig.c: 完成Boot ROM image的初始化和控制.
usrConfig.c: VxWorks image的初始化代碼.
目錄target/config/comps/src:
涉及系統核心的components,主要由target/config/All中usrConfig.c中函數調用
目錄target/config/bspname:
包含系統或硬件相關的BSP文件.
Makefile
一些命令行控制images的生成,參見 BSP設置部分及生成下載
README
BSP發布紀錄,版本,總的文檔
config.h
包括所有涉及CPU主板的設置及定義(includes,definations),參見 BSP設置文件及生成下載
configNet.h
網絡驅動的主要設置文件,主要對END驅動設置.
romInit.s
匯編語言文件,是VxWorks Boot ROM和ROM based image的入口,參見 系統啟動部分
sysALib.s
匯編語言文件,程序員可以把自己的匯編函數放在這個文件里,在上層調用.VxWorks image的入口點_sysInit在這個文件里,是在RAM中執行的第一個函數.
sysLib.c
包含一些系統相關的函數例程,提供了一個board-level的接口,VxWorks和應用程序可以以system-indepent的方式生成.這個文件還能包含目錄target/config/comps/src的驅動.
sysScsi.c
可選文件用于Scsi設備設置和初始化.
sysSerial.c
可選文件用于所有的串口設置和初始化.
bootrom.hex
ASIC文件包含VxWorks Boot ROM代碼
VxWorks
運行在目標機上,完整的,連結后的VxWorks二進制文件.
VxWorks.sym
完全的,連結后帶有符號表的VxWorks二進制文件
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).
前面三個是BSP的主要部分.
BSP默認的download VxWorks RAM image方式是從ethernet.
串口電纜需要用來和開發板(COM1)通信,通過協議WDB.
VxWorks Image的種類:
Loadable images.
ROM-based images---compressed/uncompressed.