色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于VxWorks實時操作系統的映象特點和構建方案

電子設計 ? 來源:電子設計應用 ? 作者:鄭更生,鄭煒煜 ? 2020-09-29 09:36 ? 次閱讀

本文分析了VxWorks的映象特點,設計了幾種VxWorks下產品映象的構造方案,并指出了這些構造設計的應用場合。

VxWorks是目前占壟斷地位的實時操作系統,在許多領域獲得廣泛應用,但其產品映象設計卻一直是令設計工程師頭疼的問題。本文在實踐驗證的基礎上,討論了基于VxWorks操作系統上的產品映象設計技術,具有很強的實用性。

VxWorks的映象分析

VxWorks映象內容包括:代碼段(Text segment)、數據段(Data Segment)和符號起始塊段(BSS Segment)。其中,代碼段指可執行的指令集合;數據段指已經初始化的全局和靜態變量;符號起始塊段是未初始化的全局和靜態變量,ANSI C/C++中要求這些變量初始化為零。

VxWorks映象按類型分為:可下載的映象(Loadable images)、基于ROM的映象(ROM-based images)和ROM駐留映象(ROM-Resident images)三種。Loadable images一般用于調試,ROM或Flash中的啟動代碼BSP打通調試通道后,將其從PC機上裝入RAM運行。ROM-based images整個映象在ROM或Flash中,由BSP從ROM或Flash中裝載整個映象到RAM中運行,并分為壓縮和非壓縮方式。ROM-resident images則只拷貝VxWorks的data和bss部分到RAM中運行,運行效率低。

基于VxWorks的產品映象設計

本文bootable VxWorks映象即為ROM-based images,downloadable應用模塊對應Loadable images。VxWorks最終產品映象一般燒錄在Flash中,但由于Flash容量有限,并且為了動態更換程序方便,有時需要使用兩片Flash。其中,第一片小容量的Flash僅作為啟動和下載程序功能,采用插件式,以便替換;第二片大容量的Flash存放用戶應用代碼,多采用貼片方式。具體VxWorks的產品映象構造可使用以下四種技術方案。

方案一

Flash中存放BOOT+OS+ APPLICATION代碼(Tornado圖形環境下選項為bootable映象,rules=VxWorks_rom)。

在Flash中的 BOOT啟動后,就將OS裝入RAM,跳到OS入口點,OS執行,并由OS最終調起用戶應用程序。這種設計最為簡潔,只需一片Flash裝載程序。缺點是,采用插件Flash容量很小,僅適合程序不大的場合;而采用貼片方式的Flash,則有一個頭疼的程序燒寫問題。

方案二

第一片小容量Flash放BOOT代碼;第二片大容量的Flash放OS+APPLICATION代碼(Tornado圖形環境下選項為bootable映象,rules=VxWorks)。

由VxWorks的Loadable images啟動過程可知,第一片Flash會將BOOT code拷貝到RAM_HIGH_ADRS為起址的RAM空間,BOOT code則將OS拷貝到RAM_LOW_ADRS為起址的RAM空間,并跳到OS入口點,即RAM_LOW_ADRS執行。所以這種方法是在第一片Flash啟動后,接著將第二片Flash中保存的OS+APPLICATION映象拷貝到RAM的RAM_LOW_ADRS “ RAM_HIGH_ADRS之間,然后跳到RAM中的RAM_LOW_ADRS地址處即OS入口點執行。

方案三

第一片小容量Flash放BOOT代碼;第二片大容量的Flash放BOOT+OS+APPLICATION(Tornado圖形環境下選項為bootable映象,rules=VxWorks_rom)。

第一片BOOT啟動后,其代碼執行的最后一句跳至第二片Flash的啟動代碼romInit()處執行。第一片Flash代碼用來將程序下載到第二片Flash中,正常情況下則是簡單地啟動第二片Flash中已有的程序。在做第二片Flash中的BOOT+OS+APPLICATION映象時,需要將BSP中config.h文件的ROM_BASE_ADRS參數修改為第二片Flash的基址,表示基于第二片Flash啟動運行。這里第二片Flash執行并不等同復位CPU,只是又執行了一次與第一片Flash中上電復位后內容類似的初始化代碼并新啟動了一個OS,這個OS重新接管了SDRAM以及CPU的所有寄存器等,而第一片Flash中代碼不再執行。

下面提供一種方法,通過第一片Flash中的代碼,可以將遠程PC機上編譯好的二進制可執行文件 rom.bin(含有BOOT+OS+APPLICATION)ftp到第二片Flash:

基于VxWorks實時操作系統的映象特點和構建方案

方案四

第一片小容量Flash放BOOT+OS+LOADER代碼(Tornado圖形環境下選項為bootable映象,rules=VxWorks_rom);第二片大容量Flash放APPLICATION(Tornado圖形環境下選項為downloadable應用模塊且可重定位,rules=objects),此片Flash必須有文件系統。

第一片Flash中是一個完整的產品映象,等同于BOOT+OS+APPLICATION,LOADER就是一個簡單的APPLICATION,利用VxWorks提供給用戶的目標模塊加載器loadlib來完成LOADER功能。在第一片Flash啟動運行到LOADER時,由LOADER的loadModule()函數將第二片Flash的APPLICATION文件動態加載入RAM,并與OS連接為可直接執行的映象,然后用symFindByName()找到應用代碼文件appl.o中用戶應用入口點”ApplEntry“,最后跳到應用入口函數執行。

第一片Flash中的LOADER代碼如下:

FUNCPTR StartEntry;

fd = open (”/Flash2/appl.o“, O_RDONLY,0);

loadModule(fd, LOAD_ALL_SYMBOLS);

symFindByName(sysSymTbl,“ApplEntry”,(char **)%26;amp;StartEntry,%26;amp;Type);

(*StartEntry)( );

其中,(1)loadModule(int fd,int loadFlag)函數從指定的文件fd中裝載目標模塊,并將Text、Data、BSS段放入目標內存池中;(2)SymFindByName(SYMTAB_ID symTblId, char* name, char** pValue, SYM_TYPE* pType)從符號表中搜尋與指定符號名匹配的符號,并將值考入pValue和pType中。

VxWorks產品映象設計方案比較

以上方案中,第一種設計只適合代碼小的產品映象;第二、三、四種適合大容量代碼的映象設計。第二種設計啟動最快,但用戶可修改性差,不靈活。第三種設計啟動兩次,速度慢,但可以做到動態遠程更新包括BSP在內的整個第二片Flash中的映象。第四種必須在第二片Flash中有閃存文件系統TrueFFS,appl.o以文件形式存放其中,此設計最為復雜,但在增加遠程程序下載更新功能方面十分方便。以上映象構造方案在實際中都得到成功驗證,應用設計人員可以按照實際要求靈活選擇。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FlaSh
    +關注

    關注

    10

    文章

    1638

    瀏覽量

    148205
  • 操作系統
    +關注

    關注

    37

    文章

    6856

    瀏覽量

    123443
  • 代碼
    +關注

    關注

    30

    文章

    4803

    瀏覽量

    68754
收藏 人收藏

    評論

    相關推薦

    什么是VxWorks操作系統

    VxWorksVxWorks操作系統是美國WindRiver公司于1983年設計開發的一種實時操作系統VxWorks擁有良好的持續發展能力、高性能的內核以及良好的用戶開發環境,在
    發表于 06-07 14:17

    Vxworks實時操作系統分析

    1 前言目前市場上比較著名的實時操作系統有:VxWorks、PSOS、Nucleus、QNX、VRTX、Windows CE、PalmOS、LynxOS等。 其中,VxWorks是一個
    發表于 07-22 07:21

    VxWorks操作系統具有哪些優點

    1.嵌入式Linux2. VxWorks(推薦課程:VxWorks應用開發培訓班(TSVW0701))VxWorks操作系統是美國WindRiver公司于1983年設計開發的一種嵌入式
    發表于 12-22 08:12

    VxWorks操作系統實時多任務程序設計

    VxWorks操作系統實時多任務程序設計
    發表于 03-25 10:38 ?13次下載

    實時操作系統VxWorks下的并口通信技術

    實時操作系統VxWorks下的并口通信技術
    發表于 03-29 12:26 ?11次下載

    實時操作系統VxWorks下PCI總線配置技術

    實時操作系統VxWorks下PCI總線配置技術
    發表于 03-29 12:26 ?19次下載

    基于VxWorks操作系統的WindML 2D顯示方案

    基于VxWorks操作系統有多種2D 顯示的解決方案,但由于種種原因,僅介紹基于VxWorks操作系統的WindML 2D顯示解決
    發表于 12-05 16:35 ?14次下載

    什么是VxWorks操作系統

    VxWorksVxWorks操作系統是美國WindRiver公司于1983年設計開發的一種實時操作系統VxWorks擁有良好的持續發展能力、高性能的內核以及良好的用戶開發環境,在實
    發表于 06-17 00:33 ?4108次閱讀

    VxWorks實時操作系統的USB驅動程序

    VxWorks是一種由開發的先進的實時操作系統,廣泛地應用于各種嵌入式實時應用領域。論文是作者實踐的結果。首先在簡單介紹了VxWorks
    發表于 09-16 15:20 ?44次下載
    <b class='flag-5'>VxWorks</b><b class='flag-5'>實時</b><b class='flag-5'>操作系統</b>的USB驅動程序

    風河VxWorks實時操作系統引入應用商店體驗

    ?風河Marketplace允許客戶從風河合作伙伴生態系統中挑選最佳組合方案,增強VxWorks。 ?VxWorks應用商店包括安全、防衛、儲存、互聯性、圖形和開發工具等軟件包。
    發表于 06-17 10:45 ?978次閱讀

    關于實時操作系統VxWorks下的并口通信技術

    關于實時操作系統VxWorks下的并口通信技術
    發表于 08-31 15:21 ?4次下載
    關于<b class='flag-5'>實時</b><b class='flag-5'>操作系統</b><b class='flag-5'>VxWorks</b>下的并口通信技術

    VxWorks嵌入式操作系統特點與應用

    VxWorks嵌入式操作系統特點與應用
    發表于 10-26 10:40 ?6次下載
     <b class='flag-5'>VxWorks</b>嵌入式<b class='flag-5'>操作系統</b>的<b class='flag-5'>特點</b>與應用

    VxWorks實時操作系統的新增功能及簡介

    VxWorks 是美國 Wind River System 公司( 以下簡稱風河 公司 ,即 WRS 公司)推出的一個實時操作系統。Tornado 是WRS 公司推出的一套實時
    發表于 12-02 10:20 ?2525次閱讀

    實時操作系統特點_實時操作系統的組成

    本文主要闡述了實時操作系統特點及組成。實時操作系統(RTOS)是指當外界事件或數據產生時,能夠接受并以足夠快的速度予以處理,其處理的結果又
    發表于 09-01 16:48 ?5220次閱讀

    嵌入式實時操作系統:Intewell操作系統VxWorks操作系統有啥區別

    Intewell操作系統VxWorks操作系統都是工業領域常用的操作系統,它們各有特點和優勢。以下是它們之間的一些主要區別:
    的頭像 發表于 07-08 14:16 ?458次閱讀
    嵌入式<b class='flag-5'>實時</b><b class='flag-5'>操作系統</b>:Intewell<b class='flag-5'>操作系統</b>與<b class='flag-5'>VxWorks</b><b class='flag-5'>操作系統</b>有啥區別
    主站蜘蛛池模板: 国产亚洲精品免费视频| 欧美18videosex| 十分钟在线观看免费视频高清WWW| xxx性欧美在线观看| 日韩亚洲国产欧美免费观看| 国产二级一片内射视频播放| 羞羞漫画视频| 久久精品一区二区免费看| 98国产精品人妻无码免费| 日韩一区二区三区四区区区| 国内精品视频久久久久免费 | A级超碰视频在线观看| 日韩欧美一区二区三区在线视频| 国产精品久久久久影院嫩草| 影888午夜理论不卡| 热99RE久久精品国产| 国厂精品114福利电影| 99精品观看| 亚洲精品成人a| 欧美人与动牲交A免费| 国精品产露脸偷拍视频| 99久久久A片无码国产精| 香蕉免费高清完整| 男同志在线观看| 狠狠干.in| 成人国产在线不卡视频 | 最近中文字幕MV高清在线| 日韩在线av免费视久久| 精品香蕉99久久久久网站| 超碰99热在线精品视频| 印度性hd18| 午夜一区欧美二区高清三区| 女人爽到高潮嗷嗷叫视频| 国语自产一区视频| 抽插内射高潮呻吟V杜V| 最近韩国日本免费观看mv免费版| 无码一卡二卡三卡四卡| 欧美一区二区三区男同| 快播金瓶梅| 经典WC女厕所里TV| 国产产一区二区三区久久毛片国语 |