亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        在DiskOnChip上構(gòu)建VxWorks系統(tǒng)開發(fā)環(huán)境

        2016-10-19 11:13:09于金成
        中國(guó)科技博覽 2016年18期

        于金成

        [摘 要]結(jié)合工程實(shí)踐,介紹了在VxWorks實(shí)時(shí)操作系統(tǒng)下利用DiskOnChip建立開發(fā)環(huán)境的步驟、方法,可以滿足系統(tǒng)的使用要求,方面嵌入式系統(tǒng)的開發(fā)。

        [關(guān)鍵詞]嵌入式系統(tǒng);DiskOnChip; VxWorks

        中圖分類號(hào):TP216 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-914X(2016)18-0368-01

        隨著嵌入式系統(tǒng)的廣泛使用,VxWorks下基于DiskOnChip的軟件開發(fā)也日益流行。本文詳細(xì)介紹了VxWorks下基于DiskOnChip的軟件開發(fā)環(huán)境的建立過程及方法,通過實(shí)驗(yàn),驗(yàn)證了該方法方便可行,可以極大的方便軟件開發(fā)人員,提高嵌入式軟件的開發(fā)效率。

        1 在BSP中添加對(duì)DiskOnChip設(shè)備的支持

        下載DiskOnChip的驅(qū)動(dòng)包并解壓,得到驅(qū)動(dòng)MSYSVXW.o和.h頭文件。將所有的.h文件拷貝到宿主機(jī)文件下。使用ar命令從/target/lib/libi80486gnuvx.a庫(kù)文件中刪除tffsDrv.o tffsLib.o dosformt.o fatlite.o fltl.o nftllite.o flflash.o nfdc2148.o reedsol.o flsocket.o flbase.o等目標(biāo)文件。例如,刪除tffsDrv.o,命令格式為:ar386 -dv libI80486gnuvx.a tffsDrv.o。

        然后執(zhí)行命令行:

        ar386 -cru libI80486gnuvx.a MSYSVXW-I80486.o將驅(qū)動(dòng)文件MSYSVXW.o加入到BSP庫(kù)文件中;修改config.h文件,在config.h中增加對(duì)電子盤宏定義,同時(shí),關(guān)閉TFFS的宏定義。

        #define INCLUDE_DISKONCHIP #undef INCLUDE_TFFS 修改bootConfig.c文件,在函數(shù)usrInit()之前增加下面的代碼:#ifdef INCLUDE_DISKONCHIP#include "flioctl.h"

        #include "fldrvvxw.h"#ifdef __STDC__void devSplit (char *fullFileName, char *devName);#elsevoid devSplit ();#endif /* __STDC__ */unsigned long tffsAddresses[] = {0xd0000, 0xd0000};

        STATUS usrTffsConfig(int drive, /* TFFS handle (usually zero) */int removable, /* 0 - nonremovable flash media */char * fileName /* mount point */{

        BLK_DEV * pBootDev;char bootDir [BOOT_FILE_LEN];/* create block device spanning entire disk (non-destructive?。?*/if ((pBootDev = tffsDevCreate (drive, 0)) == NULL)

        {printErr ("tffsDevCreate(%d,0) failed.\n", drive);return (ERROR);}/* split off boot device from boot file */devSplit (fileName, bootDir);/* initialize boot block device as dosFs device named */if (dosFsDevInit (bootDir, pBootDev, NULL) == NULL)

        {printErr ("dosFsDevInit failed.\n");return (ERROR);}ioDefPathSet(bootDir);return (OK);}LOCAL STATUS tffsInit(void){/* tell driver to detect single DiskOnChip */

        tffsSetup (1, tffsAddresses);if (tffsDrv () != OK){printErr ("Could not initialize.\n");return (ERROR);}printf ("Attaching to TFFS... ");dosFsInit (NUM_DOSFS_FILES); /* initialize DOS-FS */if (usrTffsConfig (0, 0, “/tffs0”) == ERROR){printErr ("usrTffsConfig failed.\n");return (ERROR);}printErr ("done.\n");

        return(OK); } LOCAL STATUS tffsLoad(int drive, /* TFFS handle (normally zero) */

        int removable, /* 0 - nonremovable flash media */char * fileName, /* file name to download */FUNCPTR * pEntry){int fd;if ((fd = open (fileName, O_RDONLY, 0)) == ERROR)

        {printErr ("\nCannot open \"%s\".\n", fileName);return (ERROR);}if (bootLoadModule (fd, pEntry) != OK)goto tffsLoadErr;close (fd);return (OK);tffsLoadErr:printErr ("\nerror loading file: status = 0x%x.\n", errnoGet ());close (fd);return (ERROR);}#endif /* INCLUDE_DISKONCHIP */

        修改bootConfig.c文件,在函數(shù)bootHelp()的helpMsg[]中增加下面的代碼段:

        #ifdef INCLUDE_DISKONCHIP

        "boot device: tffs=drive,removable file name: /tffs0/vxWorks","",

        #endif /* INCLUDE_DISKONCHIP */

        在bootConfig.c的函數(shù)bootHelp()中增加下面的代碼段:

        #ifdef INCLUDE_DISKONCHIP printf (" tffs");#endif /* INCLUDE_DISKONCHIP */

        在bootConfig.c的函數(shù)bootLoad()的最后增加下面的代碼段:

        #ifdef INCLUDE_DISKONCHIP

        if (strncmp (params.bootDev, "tffs", 4) == 0)

        {int drive = 0;int removable = 0;if (strlen (params.bootDev) == 4)

        return (ERROR);elsesscanf (params.bootDev, "%*4s%*c%d%*c%d", &drive, &removable);

        if (tffsLoad (drive, 0, params.bootFile, pEntry) != OK){printErr ("\nError loading file: errno = 0x%x.\n", errno);return (ERROR);}return (OK);}#endif /* INCLUDE_DISKONCHIP */

        在bootConfig.c中下面代碼段增加宏定義INCLUDE_DISKONCHIP:

        #if (defined (INCLUDE_SCSI_BOOT) || defined (INCLUDE_FD) || defined (INCLUDE_IDE) || defined (INCLUDE_ATA) || defined (INCLUDE_DISKONCHIP) || defined (INCLUDE_TFFS))

        最后,在bootConfig.c的函數(shù)bootCmdLoop中調(diào)用tffsInit()。

        #ifdef INCLUDE_DISKONCHIP tffsInit();#endif

        到這里,BSP包修改完畢,已經(jīng)增加了對(duì)DiskOnChip設(shè)備的支持,可以支持從DiskOnChip啟動(dòng)VxWorks操作系統(tǒng)了。

        2 DiskOnChip的環(huán)境配置

        為了能夠從DiskOnChip中啟動(dòng)VxWorks系統(tǒng),必須先將電子盤格式化成VxWorks可引導(dǎo)的。首先,制作一張DOS啟動(dòng)盤并引導(dǎo)目標(biāo)機(jī),然后執(zhí)行dformat /win:d000 /s:doc123.exb命令實(shí)現(xiàn)對(duì)DiskOnChip的格式化和驅(qū)動(dòng)安裝。用DOS啟動(dòng)盤重新引導(dǎo)目標(biāo)機(jī),執(zhí)行vxsys命令,將DiskOnChip設(shè)備做成VxWorks可引導(dǎo)的。這樣,DiskOnChip就可以引導(dǎo)bootrom啟動(dòng)了。

        3 結(jié)論

        DiskOnChip作為一種新型的存儲(chǔ)設(shè)備,以體積小、功耗低和方便使用等特點(diǎn),使得它被廣泛應(yīng)用于嵌入式系統(tǒng)。VxWorks系統(tǒng)由于它的強(qiáng)實(shí)時(shí)性和高可靠性,也成為嵌入式系統(tǒng)軟件開發(fā)的首先。本文詳細(xì)介紹了VxWorks下基于DiskOnChip設(shè)備的開發(fā)環(huán)境的建立方法和步驟,經(jīng)過實(shí)驗(yàn)驗(yàn)證,本方法切實(shí)可行,可以方便軟件開發(fā)人員,快速構(gòu)建VxWorks環(huán)境下基于DiskOnChip的嵌入式系統(tǒng)的軟件開發(fā)。

        參考文獻(xiàn):

        [1]洪艷偉. 基于DOC的嵌入式遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)開發(fā)[J]. 信息安全與技術(shù),2011,12:64-65.

        [2]趙旭,羅晉,吳捷,楊杰,祝小蓮. TrueFFS文件系統(tǒng)技術(shù)研究及實(shí)現(xiàn)[J]. 信息安全與通信保密,2008,05:83-85.

        [3]甄鵬,趙磊,劉永亮,范靜麗. 在DOC上創(chuàng)建嵌入式實(shí)時(shí)Linux[J]. 微計(jì)算機(jī)信息,2008,29:68-70.

        [4]吳浩,吳非. 基于DOC的嵌入式系統(tǒng)引導(dǎo)研究與實(shí)現(xiàn)[J]. 微處理機(jī),2007,03:114-116+119.

        亚洲国产成人久久综合| 午夜视频手机在线免费观看| 澳门蜜桃av成人av| 蓝蓝的天空,白白的云| 综合亚洲伊人午夜网| 亚洲综合精品伊人久久| 伊人久久亚洲综合影院首页| 一区二区三区在线观看视频| 大奶白浆视频在线观看| 少妇被猛男粗大的猛进出| 欧美国产日本精品一区二区三区| 精品视频一区二区在线观看| 日本精品一区二区三区福利视频 | 日韩av无码一区二区三区不卡| 伊人蕉久中文字幕无码专区| 第十色丰满无码| 全部亚洲国产一区二区| 精品久久人妻av中文字幕| 亚洲国产中文在线二区三区免| 中文字幕人妻少妇美臀| 日本人妖熟女另类二区| 男女爱爱好爽视频免费看| 久久久国产精品福利免费| 亚洲精品一区二区三区四区| 国产激情一区二区三区| 亚洲成色在线综合网站| 黑人巨大亚洲一区二区久| 青青草免费在线爽视频| 欧美裸体xxxx极品少妇| 国产美女一级做a爱视频| 91国产熟女自拍视频| 国产精品成人免费视频一区| a毛片全部免费播放| 极品少妇在线观看视频| 69国产成人精品午夜福中文| 无码人妻少妇色欲av一区二区| www.尤物视频.com| 国产精品美女久久久网站三级 | 蜜桃视频一区二区三区在线| 蜜臀av一区二区三区免费观看 | 国产精品久久久久国产a级|