官术网_书友最值得收藏!

1.5.1 使用Workbench定制VxWorks 6.x TSP

默認情況下,Tilcon界面應用程序包含對所有界面對象的支持,為了降低VxWorks平臺上Tilcon應用程序的二進制文件大小,可以使用Workbench(3.0及以上版本)調用Tilcon擴展配置工具刪除未使用的界面對象。開發者可通過擴展配置工具選擇需要的功能(各功能項之間的依賴關系由擴展工具自動管理),從而創建只含應用程序所需功能的Tilcon引擎。

使用Workbench可以為以下兩種VxWorks運行環境定制TSP:

※ 使用VxWorks 6.x可下載內核模塊(簡稱DKM)創建運行于內核態的TSP

※ 使用VxWorks 6.x實時進程(簡稱RTP)創建運行于用戶態的TSP

1.創建Workbench工程 (1)在Workbench中,點擊“File > New > VxWorks Downloadable Kernel ModuleProject(或VxWorks Real Time Process Project)”菜單,創建DKM或RTP工程;(2)輸入工程名LibRtpTilcon,點擊“Next”按鈕,跳轉到“Build Spec”配置頁面;(3)選擇GNU編譯器,去除“Debug Mode”勾選項,點擊“Next”按鈕,跳轉到“Build Target”配置頁面;(4)設置Build tool為Librarian(DKM工程)或Linker(RTP工程),點擊“Finish”按鈕,完成工程配置。

2.添加Tilcon組件配置 (1)點擊“File > New >Other >Middleware Component”菜單,彈出中間件配置頁面;(2)選擇剛創建的LibRtpTilcon工程,點擊“Next”按鈕,跳轉到組件選擇頁面;(3)選擇Tilcon 5.8,點擊“Next”按鈕,跳轉到組件模板頁面;(4)選擇“Tilcon Graphics API and enginebuild”,點擊“Finish”按鈕完成LibRtpTilcon工程創建。

對于VxWorks 6.6及以上版本,在LibRtpTilcon工程目錄下將增加scalability.makefile和tilcon.scalability兩個文件;對于VxWorks 6.5,在LibRtpTilcon工程目錄下將增加scalability.makefile和scalability.mk兩個文件。

3.配置圖形界面對象(可選) 默認情況下,Tilcon擴展工具包含所有的圖形界面對象,用戶可根據需要移除不必要的圖形界面對象。

對于VxWorks 6.6及以上版本,創建Tilcon組件后,Workbench自動在Tilcon擴展配置編輯器中打開tilcon.scalability文件,如圖1-34所示。反選圖形界面對象名稱前面的復選框,可移除該圖形界面對象。如果某個對象被移除,所有依賴該對象的其他對象也會自動被移除;相反,若被移除的對象重新被包含,則它依賴的其他對象會被自動包含。

圖1-34 界面對象配置

對于VxWorks 6.5,打開scalability.mk文件后,要移除某個圖形界面對象,就將其從TILCON_ENABLED_ENGINE_FEATURES列表中移除,并添加到TILCON_DISABLED_ENGINE_FEATURES列表中。用戶必須自己管理圖形界面對象之間的依賴關系,所以移除某個圖形界面對象后,依賴該對象的所有其他對象也必須移除。圖形界面對象之間的依賴關系見表1-4。

表1-4 圖形界面對象的依賴關系

4.編譯TSP 界面對象配置完成后,通過右鍵菜單“Build Project”編譯當前工程。若出現依賴關系對話框,直接點擊“Cotinue”按鈕,Workbench將自動保存先前的圖形界面對象配置,并編譯工程。

對于DKM類型的LibRtpTilcon工程,編譯成功后,將在LibRtpTilcon工程目錄下創建obj/vxworks-6.x/krnl/lib/.../common目錄,其中的...表示與處理器架構相關的多級子目錄。在common文件夾下,生成libtilcon-5.x_api.a、libtilcon-5.x_engine.a、libtilcon-5.x_tal.a三個靜態鏈接庫文件。

對于RTP類型的LibRtpTilcon工程,在編譯成功后,將在LibRtpTilcon工程目錄下創建obj/vxworks-6.x/usr/lib/.../common目錄,其中...表示與處理器架構相關的多級子目錄。common文件夾下,生成libtilcon-5.x_api.a、libtilcon-5.x_engine.a、libtilcon-5.x_tal.a三個靜態鏈接庫文件。RTP應用程序需要使用定制的TSP時,只需鏈接靜態庫文件libtilcon-5.x_api.a,其余的兩個靜態鏈接庫文件libtilcon-5.x_engine.a和libtilcon-5.x_tal.a用于創建包含Tilcon GUI引擎的VxWorks可執行性文件LibRtpTilcon.vxe(必須以main函數為入口),無須鏈接到RTP應用程序中。LibRtpTilcon.vxe位于LibRtpTilcon工程目錄的buildTarget/ LibRtpTilcon/Debug/common子目錄或buildTarget/LibRtpTilcon/NonDebug/common子目錄下,其中buildTarget表示目標機處理器架構對應的編譯工具鏈名稱。

5.引用定制的TSP 若使用Workbench創建和編譯Tilcon應用程序,需要引用定制的TSP時,在工程屬性窗口的“Build Properties”配置項中,切換到Build Macro頁面,添加一個名稱為TILCON_CUSTOM_ENGINE的編譯宏,對應的值為定制TSP的Workbench工程名(LibRtpTilcon)。這樣,就可以保證Tilcon應用工程鏈接定制的TSP,而非默認的TSP。

主站蜘蛛池模板: 五华县| 逊克县| 佛坪县| 宾川县| 江口县| 库车县| 三明市| 本溪| 卢氏县| 东乡| 德保县| 崇礼县| 湄潭县| 武川县| 博白县| 镇赉县| 南平市| 右玉县| 晴隆县| 岳西县| 德庆县| 岫岩| 藁城市| 拜泉县| 寻乌县| 京山县| 天全县| 西宁市| 云阳县| 铜川市| 临汾市| 邵武市| 长宁县| 邵阳市| 资溪县| 南丰县| 承德县| 基隆市| 合山市| 友谊县| 申扎县|