一種VxWorks系統(tǒng)中BSP的設(shè)計方法
【專利摘要】本發(fā)明提供一種VxWorks系統(tǒng)中BSP的設(shè)計方法,包括以下步驟:選擇BSP模板;修改配置文件config.h、bonito.h和hwconf.c;修改VxWorks系統(tǒng)啟動文件sysALib.s、VxWorks系統(tǒng)編譯文件Makefile和BSP初始化文件syslib.c;修改設(shè)備與VxWorks系統(tǒng)的接口文件和設(shè)備驅(qū)動文件。本發(fā)明提供的VxWorks系統(tǒng)中BSP的設(shè)計方法,簡單可行,可操作性強,能夠?qū)邶埿咎幚砥鞯腣xWorks系統(tǒng)的BSP設(shè)計起到了事半功倍的效果;而且,將VxWorks系統(tǒng)移植到基于龍芯處理器的設(shè)備上,可以提高處理器的實時性,提高設(shè)備運行的整體性能。
【專利說明】—種VxWorks系統(tǒng)中BSP的設(shè)計方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種設(shè)計方法,具體涉及一種VxWorks系統(tǒng)中BSP的設(shè)計方法。
【背景技術(shù)】
[0002]VxWorks是美國Wind River公司開發(fā)的嵌入式實時操作系統(tǒng),具有高性能、可高度裁剪等特點,能夠支持多種微處理器,如PowerPC、X86、ARM、MIPS等。它以其良好的可靠性和卓越的實時性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及對實時性要求極高的領(lǐng)域中。板級支持包(Board Support Package, BSP)是介于硬件和操作系之間的一層,其作用是針對特定的硬件平臺,為操作系統(tǒng)系統(tǒng)內(nèi)核提供操作接口,使操作系統(tǒng)能夠獨立于底層硬件,對上層應(yīng)用屏蔽具體硬件,Vxfforks的高可移植性就是通過BSP實現(xiàn)的。
[0003]龍芯處理器是一款基于MIPS指令集的,擁有自主知識產(chǎn)權(quán)的高性能32位處理器,具有高速緩存等豐富偏上資源,廣泛應(yīng)用于國防、軍工及商用領(lǐng)域。本發(fā)明的一種VxWorks系統(tǒng)的BSP的設(shè)計方法,簡單可行,可操作性強,對于基于龍芯處理器的VxWorks系統(tǒng)的BSP設(shè)計起到了事半功倍的效果;而且,將VxWorks系統(tǒng)移植到基于龍芯處理器的設(shè)備上,可以提高設(shè)備運行的整體性能。
【發(fā)明內(nèi)容】
[0004]為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種VxWorks系統(tǒng)中BSP的設(shè)計方法,簡單可行,可操作性強,能夠?qū)邶埿咎幚砥鞯腣xWorks系統(tǒng)的BSP設(shè)計起到了事半功倍的效果;而且,將VxWorks系統(tǒng)移植到基于龍芯處理器的設(shè)備上,可以提高處理器的實時性,提高設(shè)備運行的整體性能。
[0005]為了實現(xiàn)上述發(fā)明目的,本發(fā)明采取如下技術(shù)方案:
[0006]本發(fā)明提供一種VxWorks系統(tǒng)中BSP的設(shè)計方法,所述方法包括以下步驟:
[0007]步驟1:選擇BSP模板;
[0008]步驟2:修改配置文件 config.h、bonit0.h 和 hwconf.c ;
[0009]步驟3:修改VxWorks系統(tǒng)啟動文件sysALib.S、Vxfforks系統(tǒng)編譯文件Makefile和BSP初始化文件syslib.c ;
[0010]步驟4:修改設(shè)備與VxWorks系統(tǒng)的接口文件和設(shè)備驅(qū)動文件。
[0011]所述步驟I中,根據(jù)主板上微處理器的架構(gòu)和字節(jié)序,在VxWorks系統(tǒng)開發(fā)包的BSP目錄下選擇同硬件平臺相同或相近的VxWorks的BSP模板。
[0012]所述步驟2包括以下步驟:
[0013]步驟2-1:根據(jù)主板的硬件資源修改配置文件config.h,并由配置文件config.h的內(nèi)容定義VxWorks系統(tǒng)的內(nèi)核組件;
[0014]配置文件config.h的內(nèi)容包括VxWorks系統(tǒng)啟動方式、各種類型存儲空間的范圍和硬件接口的使用情況;
[0015]步驟2-2:修改配置文件bonit0.h ;[0016]配置文件bonit0.h的內(nèi)容包括主板上硬件資源的配置參數(shù);配置參數(shù)包括微處理器中VxWorks系統(tǒng)控制寄存器的配置參數(shù)、設(shè)備各個接口的寄存器、Vxfforks系統(tǒng)中斷號、中斷向量的定義和端口地址;
[0017]步驟2-3:修改配置文件hwconf.c ;
[0018]在配置文件hwconf.c中設(shè)置所有非可選的、與微處理器相關(guān)的信息,并定義基于微處理器的各項宏定義;
[0019]配置文件hwconf.c該文件包含設(shè)備的驅(qū)動程序頭文件。
[0020]所述步驟3包括以下步驟:
[0021]步驟3-1:修改VxWorks系統(tǒng)啟動文件sysALib.s ;
[0022]依照微處理器手冊,配置相關(guān)寄存器和微處理器,使微處理器正常運轉(zhuǎn);
[0023]步驟3-2:修改VxWorks系統(tǒng)編譯文件Makefile ;
[0024]修改RAM的起始地址L0CAL_MEM_L0CAL_ADRS、VxWorks系統(tǒng)鏡像的入口地址RAM_L0ff_ADRS和VxWorks系統(tǒng)引導(dǎo)代碼的入口地址RAM_HIGH_ADRS,使三者的地址與配置文件config.h中的地址相同;若VxWorks系統(tǒng)鏡像中包含BSP以外的文件,則將文件放在BSP目錄下,在VxWorks系統(tǒng)編譯文件Makefile文件中添加MACH_EXTRA,把該文件生成的目標(biāo)文件賦值給MACH_EXTRA ;
[0025]步驟3-3:BSP 初始化文件 syslib.c ;
[0026]按照主板上的微處理器,修改硬件初始化函數(shù)sysHwInit O以及連接VxWorks系統(tǒng)中斷和ISR掛接的函數(shù)sysHwInit2 O。
[0027]所述步驟4中,確定設(shè)備驅(qū)動在VxWorks系統(tǒng)中的調(diào)用方式,編寫主板上的每個設(shè)備對應(yīng)的設(shè)備結(jié)構(gòu)和設(shè)備驅(qū)動。
[0028]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
[0029]本發(fā)明提供的VxWorks系統(tǒng)中BSP的設(shè)計方法,簡單可行,可操作性強,能夠?qū)邶埿咎幚砥鞯腣xWorks系統(tǒng)的BSP設(shè)計起到了事半功倍的效果;而且,將VxWorks系統(tǒng)移植到基于龍芯處理器的設(shè)備上,可以提高處理器的實時性,提高設(shè)備運行的整體性能。
【專利附圖】
【附圖說明】
[0030]圖1是VxWorks系統(tǒng)中BSP的設(shè)計方法流程圖。
【具體實施方式】
[0031]下面結(jié)合附圖對本發(fā)明作進一步詳細說明。
[0032]如圖1,本發(fā)明提供一種VxWorks系統(tǒng)中BSP的設(shè)計方法,所述方法包括以下步驟:
[0033]步驟1:選擇BSP模板;
[0034]所述步驟I中,根據(jù)主板上微處理器的架構(gòu)和字節(jié)序,在VxWorks系統(tǒng)開發(fā)包的BSP目錄下選擇同硬件平臺相同或相近的VxWorks的BSP模板;如所用的CPU為龍芯處理器,則選擇一個MIPS架構(gòu)的模板;
[0035]步驟2:修改配置文件 config.h、bonit0.h 和 hwconf.c ;
[0036]所述步驟2包括以下步驟:[0037]步驟2-1:根據(jù)主板的硬件資源修改配置文件config.h,并由配置文件config.h的內(nèi)容定義VxWorks系統(tǒng)的內(nèi)核組件;
[0038]配置文件config.h的內(nèi)容包括VxWorks系統(tǒng)啟動方式、各種類型存儲空間的范圍和硬件接口的使用情況;
[0039]步驟2-2:修改配置文件bonit0.h ;
[0040]配置文件bonit0.h的內(nèi)容包括主板上硬件資源的配置參數(shù);配置參數(shù)包括微處理器中VxWorks系統(tǒng)控制寄存器的配置參數(shù)、設(shè)備各個接口的寄存器、Vxfforks系統(tǒng)中斷號、中斷向量的定義和端口地址;
[0041]步驟2-3:修改配置文件hwconf.c ;
[0042]在配置文件hwconf.c中設(shè)置所有非可選的、與微處理器相關(guān)的信息,并定義基于微處理器的各項宏定義;
[0043]配置文件hwconf.c該文件包含設(shè)備的驅(qū)動程序頭文件。
[0044]步驟3:修改VxWorks系統(tǒng)啟動文件sysALib.S、Vxfforks系統(tǒng)編譯文件Makefile和BSP初始化文件syslib.c ;
[0045]所述步驟3包括以下步驟:
[0046]步驟3-1:修改VxWorks系統(tǒng)啟動文件sysALib.s ;
[0047]依照微處理器手冊,配置相關(guān)寄存器和微處理器,使微處理器正常運轉(zhuǎn);
[0048]步驟3-2:修改VxWorks系統(tǒng)編譯文件Makefile ;
[0049]修改RAM的起始地址L0CAL_MEM_L0CAL_ADRS、VxWorks系統(tǒng)鏡像的入口地址RAM_L0ff_ADRS和VxWorks系統(tǒng)引導(dǎo)代碼的入口地址RAM_HIGH_ADRS,使三者的地址與配置文件config.h中的地址相同;若VxWorks系統(tǒng)鏡像中包含BSP以外的文件,則將文件放在BSP目錄下,在VxWorks系統(tǒng)編譯文件Makefile文件中添加MACH_EXTRA,把該文件生成的目標(biāo)文件賦值給MACH_EXTRA ;
[0050]步驟3-3:BSP 初始化文件 syslib.c ;
[0051]按照主板上的微處理器,修改硬件初始化函數(shù)sysHwInit O以及連接VxWorks系統(tǒng)中斷和ISR掛接的函數(shù)sysHwInit2 O。
[0052]步驟4:修改設(shè)備與VxWorks系統(tǒng)的接口文件和設(shè)備驅(qū)動文件。
[0053]所述步驟4中,確定設(shè)備驅(qū)動在VxWorks系統(tǒng)中的調(diào)用方式,編寫主板上的每個設(shè)備對應(yīng)的設(shè)備結(jié)構(gòu)和設(shè)備驅(qū)動。
[0054]BSP設(shè)計開發(fā)中一般先實現(xiàn)一個BSP包最小系統(tǒng),包括定時器、中斷控制器和串口,此時VxWorks已經(jīng)可以啟動了,在此基礎(chǔ)上再繼續(xù)添加其他設(shè)備的驅(qū)動即可完善整個BSP的設(shè)計。
[0055]最后應(yīng)當(dāng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制,盡管參照上述實施例對本發(fā)明進行了詳細的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:依然可以對本發(fā)明的【具體實施方式】進行修改或者等同替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【權(quán)利要求】
1.一種VxWorks系統(tǒng)中BSP的設(shè)計方法,其特征在于:所述方法包括以下步驟: 步驟1:選擇BSP模板; 步驟 2:修改配置文件 config.h、bonit0.h 和 hwconf.c ; 步驟3:修改VxWorks系統(tǒng)啟動文件sysALib.S、Vxfforks系統(tǒng)編譯文件Makefile和BSP初始化文件syslib.c ; 步驟4:修改設(shè)備與VxWorks系統(tǒng)的接口文件和設(shè)備驅(qū)動文件。
2.根據(jù)權(quán)利要求1所述的VxWorks系統(tǒng)中BSP的設(shè)計方法,其特征在于:所述步驟I中,根據(jù)主板上微處理器的架構(gòu)和字節(jié)序,在VxWorks系統(tǒng)開發(fā)包的BSP目錄下選擇同硬件平臺相同或相近的VxWorks的BSP模板。
3.根據(jù)權(quán)利要求1所述的VxWorks系統(tǒng)中BSP的設(shè)計方法,其特征在于:所述步驟2包括以下步驟: 步驟2-1:根據(jù)主板的硬件資源修改配置文件config.h,并由配置文件config.h的內(nèi)容定義VxWorks系統(tǒng)的內(nèi)核組件; 配置文件config.h的內(nèi)容包括VxWorks系統(tǒng)啟動方式、各種類型存儲空間的范圍和硬件接口的使用情況; 步驟2-2:修改配置文件bonit0.h ; 配置文件bonit0.h的內(nèi)容包括主板上硬件資源的配置參數(shù);配置參數(shù)包括微處理器中VxWorks系統(tǒng)控制寄存器的配置參數(shù)、設(shè)備各個接口的寄存器、Vxfforks系統(tǒng)中斷號、中斷向量的定義和端口地址; 步驟2-3:修改配置文件hwconf.c ; 在配置文件hwconf.c中設(shè)置所有非可選的、與微處理器相關(guān)的信息,并定義基于微處理器的各項宏定義; 配置文件hwconf.c該文件包含設(shè)備的驅(qū)動程序頭文件。
4.根據(jù)權(quán)利要求1所述的VxWorks系統(tǒng)中BSP的設(shè)計方法,其特征在于:所述步驟3包括以下步驟: 步驟3-1:修改VxWorks系統(tǒng)啟動文件sysALib.s ; 依照微處理器手冊,配置相關(guān)寄存器和微處理器,使微處理器正常運轉(zhuǎn); 步驟3-2:修改VxWorks系統(tǒng)編譯文件Makefile ; 修改RAM的起始地址LOCAL_MEM_LOCAL_ADRS、Vxfforks系統(tǒng)鏡像的入口地址RAM_L0ff_ADRS和VxWorks系統(tǒng)引導(dǎo)代碼的入口地址RAM_HIGH_ADRS,使三者的地址與配置文件config.h中的地址相同;若VxWorks系統(tǒng)鏡像中包含BSP以外的文件,則將文件放在BSP目錄下,在VxWorks系統(tǒng)編譯文件Makefile文件中添加MACH_EXTRA,把該文件生成的目標(biāo)文件賦值給MACH_EXTRA ; 步驟3-3 =BSP初始化文件syslib.c ; 按照主板上的微處理器,修改硬件初始化函數(shù)sysHwInit O以及連接VxWorks系統(tǒng)中斷和ISR掛接的函數(shù)sysHwInit2 O。
5.根據(jù)權(quán)利要求1所述的VxWorks系統(tǒng)中BSP的設(shè)計方法,其特征在于:所述步驟4中,確定設(shè)備驅(qū)動在VxWorks系統(tǒng)中的調(diào)用方式,編寫主板上的每個設(shè)備對應(yīng)的設(shè)備結(jié)構(gòu)和設(shè)備驅(qū)動。
【文檔編號】G06F9/445GK103955387SQ201410169857
【公開日】2014年7月30日 申請日期:2014年4月25日 優(yōu)先權(quán)日:2014年4月25日
【發(fā)明者】盧慧慧, 袁玉湘, 姜學(xué)平, 于坤山 申請人:國家電網(wǎng)公司, 國網(wǎng)智能電網(wǎng)研究院