国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      運用ide接口的多個設(shè)備的文件系統(tǒng)操作方法

      文檔序號:6420104閱讀:189來源:國知局
      專利名稱:運用ide接口的多個設(shè)備的文件系統(tǒng)操作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種嵌入式操作系統(tǒng)下實現(xiàn)同時運用多個設(shè)備的文件系統(tǒng)操作方法,特別涉及一種VxWorks操作系統(tǒng)下運用具有IDE接口的多個設(shè)備的文件系統(tǒng)操作方法。
      背景技術(shù)
      嵌入式操作系統(tǒng)特別是VxWorks操作系統(tǒng)包含用于標(biāo)準(zhǔn)IDE接口的設(shè)備的文件系統(tǒng),該設(shè)備是使用標(biāo)準(zhǔn)IDE接口的硬盤或者電子盤,使得文件系統(tǒng)可以隨意與設(shè)備驅(qū)動程序連接。嵌入式操作系統(tǒng)特別是VxWorks操作系統(tǒng)包括用于串行通信線、磁盤、RAM磁盤、任務(wù)間通信設(shè)備和網(wǎng)絡(luò)上設(shè)備的設(shè)備驅(qū)動程序。同時應(yīng)用程序開發(fā)人員根據(jù)需要,可以寫入額外的驅(qū)動程序。嵌入式操作系統(tǒng)容許不再引導(dǎo)系統(tǒng),而是動態(tài)地安裝和拆去驅(qū)動程序。
      嵌入式操作系統(tǒng)特別是VxWorks操作系統(tǒng)的文件系統(tǒng)的原代碼提供的設(shè)備驅(qū)動程序只支持第1個接口的設(shè)備的文件操作;但一些特定的應(yīng)用中,需要在多個設(shè)備中進行文件操作,那么此時原代碼提供的設(shè)備驅(qū)動程序就不能支持其它IDE接口的設(shè)備的正常工作,無法使用多個具有IDE接口的設(shè)備。

      發(fā)明內(nèi)容
      本發(fā)明的目的是使嵌入式操作系統(tǒng)特別是VxWorks操作系統(tǒng)文件系統(tǒng)在使用多個設(shè)備時能正常工作,擴大嵌入式操作系統(tǒng)特別是VxWorks操作系統(tǒng)的應(yīng)用范圍。
      為實現(xiàn)所述目的本發(fā)明的操作方法為 (1)用DOS系統(tǒng)啟動盤把系統(tǒng)啟動起來,在DOS下分區(qū)、格式化設(shè)備; (2)在本機BIOS系統(tǒng)下讀取設(shè)備的參數(shù),包括柱面、磁盤大小、磁盤讀寫頭、中斷號的參數(shù); (3)在板級支持軟件包中修改參數(shù),包括柱面、磁盤大小、磁盤讀寫頭的參數(shù); (4)在板級支持軟件包中進行中斷號參數(shù)修改; (5)板級支持軟件包中關(guān)閉嵌入式操作系統(tǒng)原代碼的設(shè)備驅(qū)動程序; (6)編寫設(shè)備驅(qū)動程序 A、根據(jù)硬盤設(shè)備號、IDE接口控制號進行設(shè)備參數(shù)設(shè)定; B、設(shè)備初始化; C、把設(shè)備設(shè)置為DOS文件系統(tǒng); D、設(shè)置輸入/輸出系統(tǒng)缺省路徑; (7)在應(yīng)用程序的入口處,加載編寫的每個設(shè)備驅(qū)動程序。編程人員即可在多個具有IDE接口的設(shè)備進行文件系統(tǒng)的操作。嵌入式操作系統(tǒng)特別是VxWorks操作系統(tǒng)與硬件的層次關(guān)系分4層 第一層是硬件設(shè)備。
      第二層是板級支持軟件包,也稱BSP,對各種板子的硬件功能提供了統(tǒng)一的軟件接口,它包括硬件初始化、中斷產(chǎn)生和處理、硬件時鐘和計時器管理、局域和總線內(nèi)存地址映射、內(nèi)存分配等,每個板級支持包包括一個ROM啟動或其它啟動機制。
      第三層是嵌入式操作系統(tǒng)的微內(nèi)核和基本模塊wind是VxWorks操作系統(tǒng)的微內(nèi)核,它的主要特點包括快速多任務(wù)切換、搶占式任務(wù)調(diào)度、任務(wù)間通信手段多樣化等,還有任務(wù)間切換時間短、中斷延遲小、網(wǎng)絡(luò)流量大等特點。
      Components是VxWorks操作系統(tǒng)的基本模塊,包括調(diào)試、輸入/輸出系統(tǒng)、文件系統(tǒng)、網(wǎng)絡(luò)等。
      第四層是設(shè)備驅(qū)動程序,包括 語句邏輯層程序語句的邏輯是否正確 功能層設(shè)計的功能是否可以實現(xiàn) 任務(wù)層任務(wù)的劃分、調(diào)度是否合理 系統(tǒng)層系統(tǒng)的可靠性、效率 在嵌入式操作系統(tǒng)特別是VxWorks操作系統(tǒng)中,文件系統(tǒng)沒有被束縛到設(shè)備或驅(qū)動程序上,一個設(shè)備可以與任何文件系統(tǒng)相聯(lián)。依靠文件系統(tǒng)、設(shè)備驅(qū)動程序和輸入/輸出系統(tǒng)之間具有同樣的標(biāo)準(zhǔn)接口,程序員編寫的設(shè)備驅(qū)動程序可以使用嵌入式操作系統(tǒng)特別是VxWorks操作系統(tǒng)中的文件系統(tǒng)。其文件操作系統(tǒng)接口關(guān)系為 設(shè)備驅(qū)動程序是操作設(shè)備的軟件模塊,它完成簡單的操作,把數(shù)據(jù)寫入設(shè)備,從設(shè)備中讀取數(shù)據(jù)。在輸入/輸出系統(tǒng)中初始化設(shè)備驅(qū)動程序,應(yīng)用程序調(diào)用的一般文件系統(tǒng)函數(shù),如read()--讀文件函數(shù),實際上是嵌入式操作系統(tǒng)調(diào)用下層驅(qū)動函數(shù)接口,也稱xxDriver()上驅(qū)動程序指定的程序,如xxread()--讀文件函數(shù)。
      根據(jù)硬盤設(shè)備號、IDE接口控制號進行設(shè)備參數(shù)設(shè)定,其參數(shù)設(shè)定為 控制器號設(shè)為0,第1個IDE接口插槽的硬盤或者電子盤進行文件系統(tǒng)的操作,如設(shè)備為C盤,設(shè)備號選0;為D盤,設(shè)備號選1。
      控制器號設(shè)為1,第2個具有IDE接口插槽的硬盤或者電子盤進行文件系統(tǒng)的操作,如設(shè)備為C盤,設(shè)備號選0;為D盤,設(shè)備號選1。
      通過設(shè)定參數(shù),即可在多個具有IDE接口的硬盤或者電子盤進行文件系統(tǒng)的操作。
      嵌入式操作系統(tǒng)特別是VxWorks操作系統(tǒng)中文件系統(tǒng)的原代碼提供的設(shè)備驅(qū)動程序只支持第1個IDE接口插槽的設(shè)備的文件操作,本發(fā)明就是通過新的驅(qū)動程序替代原代碼驅(qū)動程序,使得文件系統(tǒng)可以既支持第1個IDE接口插槽的設(shè)備的文件系統(tǒng)操作,又支持另外多個IDE接口插槽的設(shè)備的文件系統(tǒng)操作,方便文件系統(tǒng)操作;擴大嵌入式操作系統(tǒng)的運用范圍。


      圖1嵌入式操作系統(tǒng)與硬件的層次關(guān)系示意圖 圖2文件操作系統(tǒng)接口關(guān)系圖 圖3本發(fā)明操作方法流程圖
      具體實施例方式 以下為嵌入式操作系統(tǒng)特別是VxWorks操作系統(tǒng)下多個設(shè)備的文件系統(tǒng)操作方法的具體步驟,以第2個IDE接口的設(shè)備為電子盤的文件系統(tǒng)操作為例。其具體步驟為 1.用DOS系統(tǒng)啟動盤把系統(tǒng)啟動起來,分區(qū)、格式化電子盤 fdisk c format c 2.進入本機的BIOS系統(tǒng),讀取電子盤的參數(shù)其柱面為490、磁盤讀寫頭為4、扇區(qū)為32、磁盤大小為32、電子盤中斷號為0xf。
      3.在Tornado\target\config路徑下,復(fù)制pcPentium目錄,并把復(fù)制的目錄改名為mypcPentiumBSP,新建一個工程,在新建過程中選mypcPentiumBSP目錄為新工程的板級支持軟件包(BSP)。
      4.板級支持軟件包(BSP)中進行柱面、磁盤大小、磁盤讀寫頭參數(shù)設(shè)置,Tornado\target\config\mypcPentiumBSP\sysLib.c中修改結(jié)構(gòu)-ataTypes[][]參數(shù)   /*************************************************/  /*******************修改前************************/  /*************************************************/  ATA_TYPE ataTypes[ATA_MAX_CTRLS][ATA_MAX_DRIVES]=  {  {{761,8,39,512,0xff}, /*ctrl 0 drive 0*/   {761,8,39,512,0xff}}, /*ctrl 0 drive 1*/  {{761,8,39,512,0xff}, /*ctrl 1 drive 0*/   {761,8,39,512,0xff}},/*ctrl 1 drive 1*/  };  /**********************************************************/  /***********************修改后*****************************/  /**********************************************************/  ATA_TYPE ataTypes[ATA_MAX_CTRLS][ATA_MAX_DRIVES]=  {  {{761,8,39,512,0xff},/*ctrl 0 drive 0*/   {761,8,39,512,0xff}}, /*ctrl 0 drive 1*/  {{490,4,32,512,0xff},/*ctrl 1 drive 0*/<!-- SIPO <DP n="5"> --><dp n="d5"/>  {761,8,39,512,0xff}}, /*ctrl 1 drive 1*/   };  /**********************************************************/ 5.板級支持軟件包(BSP)中進行中斷設(shè)置,Tornado\target\config\mypcPentiumBSP\pc.h中 修改中斷號ATA1_INT_LVL參數(shù) /*************************************************/ /*******************修改前************************/ /*************************************************/ #define ATA1_INT_LVL 0x09 /**********************************************************/ /***********************修改后*****************************/ /**********************************************************/ #define ATA1_INT_LVL 0x0f 6.板級支持軟件包(BSP)中關(guān)閉VxWorks操作系統(tǒng)原代碼的設(shè)備驅(qū)動程序,修改Tornado\target\config\comps\src\usrAta.c中函數(shù)usrAtaInit()   /*************************************************/  /*******************修改前************************/  /*************************************************/  void usrAtaInit(void)  {  int ix;<!-- SIPO <DP n="6"> --><dp n="d6"/>  ATA_RESOURCE *pAtaResource;  for(ix=0;ix<ATA_MAX_CTRLS;ix++)   {   pAtaResource=&amp;ataResources[ix];   if(pAtaResource->ctrlType==IDE_LOCAL)   ataDrv (ix, pAtaResource->drives,pAtaResource->intVector,  pAtaResource->intLevel,pAtaResource->configType,  pAtaResource->semTimeout,pAtaResource->wdgTimeout);  }  }  /**********************************************************/  /***********************修改后*****************************/  /**********************************************************/  void usrAtaInit(void)  {  int ix;  ATA_RESOURCE*pAtaResource;   /*for(ix=0;ix<ATA_MAX_CTRLS;ix++)   {<!-- SIPO <DP n="7"> --><dp n="d7"/>  pAtaResource=&amp;ataResources[ix];  if(pAtaResource->ctrlType==IDE_LOCAL)   ataDrv (ix, pAtaResource->drives,pAtaResource->intVector,   pAtaResource->intLevel,pAtaResource->configType,   pAtaResource->semTimeout,pAtaResource->wdgTimeout);  }*/  } 7.編寫電子盤驅(qū)動程序,根據(jù)電子盤設(shè)備號(drive)、IDE口控制號(ctrl)進行電子盤參數(shù)設(shè)定如C盤drive=0,E盤drive=1;第1個IDE口ctrl=0,第2個IDE口ctrl=1,第3個IDE口ctrl=2,第4個IDE口ctrl=3。
        /*********電子盤驅(qū)動程序******/  STATUS DiskFunc()  {   /******電子盤為C盤,第2個IDE口*****/  int ctrl=1,drive=0;   IMPORT ATA_RESOURCE ataResources[];   ATA_RESOURCE *pAtaResource=&amp;ataResources[ctrl];   int fd;<!-- SIPO <DP n="8"> --><dp n="d8"/>  /********初始化電子盤******/  if(ataDrv(ctrl,pAtaResource->drives,   pAtaResource->intVector,pAtaResource->intLevel,   pAtaResource->configType,pAtaResource->semTimeout,   pAtaResource->wdgTimeout)==ERROR)   {   printErr(″Could not initialize.\n″);   return(ERROR);  }  printf(″Attaching to ATA disk device....″);  /**********把電子盤設(shè)定為DOS文件系統(tǒng)********/  if(usrAtaConfig(ctrl,drive,″/atal″)==ERROR)  {   printErr(″usrAtaConfig failed.devName=%s\n″,ATA_NAME);   return(ERROR);  }  /**********設(shè)置輸入/輸出系統(tǒng)缺省路徑*******/  ioDefPathSet(″/atal″);  /**************建目錄*******************/   mkdir(″/atal/pathl″);<!-- SIPO <DP n="9"> --><dp n="d9"/>  } 8.在應(yīng)用程序的入口處,加載編寫的電子盤驅(qū)動程序 /*********程序入口*********/ void usrAppInit(void) {#ifdef USER_APPL_INIT USER_APPL_INIT;/*for backwards compatibility*/#endif /******入口處加載電子盤驅(qū)動程序****/DiskFunc(); }
      權(quán)利要求
      1、一種運用多個具有IDE接口的設(shè)備的文件系統(tǒng)操作方法,所述的方法包括以下步驟
      (1)用DOS系統(tǒng)啟動盤把系統(tǒng)啟動起來,在DOS下分區(qū)、格式化設(shè)備;
      (2)在本機BIOS系統(tǒng)下讀取設(shè)備的參數(shù),包括柱面、磁盤大小、磁盤讀寫頭、中斷號的參數(shù);
      (3)在板級支持軟件包中修改參數(shù),包括柱面、磁盤大小、磁盤讀寫頭的參數(shù);
      (4)在板級支持軟件包中進行中斷號參數(shù)修改;
      (5)板級支持軟件包中關(guān)閉嵌入式操作系統(tǒng)原代碼的設(shè)備驅(qū)動程序;
      (6)編寫設(shè)備驅(qū)動程序
      A、根據(jù)硬盤設(shè)備號、IDE接口控制號進行設(shè)備參數(shù)設(shè)定;
      B、設(shè)備初始化;
      C、把設(shè)備設(shè)置為DOS文件系統(tǒng);
      D、設(shè)置輸入/輸出系統(tǒng)缺省路徑;
      (7)在應(yīng)用程序的入口處,加載編寫的每個設(shè)備驅(qū)動程序。
      全文摘要
      本發(fā)明涉及一種嵌入式操作系統(tǒng)下實現(xiàn)同時運用多個設(shè)備的文件系統(tǒng)操作方法,特別涉及一種VxWorks操作系統(tǒng)下運用具有IDE接口的多個設(shè)備的文件系統(tǒng)操作方法,本發(fā)明就是通過以下步驟在DOS下分區(qū)、格式化設(shè)備;讀取設(shè)備的參數(shù);修改參數(shù);關(guān)閉嵌入式操作系統(tǒng)原代碼的設(shè)備驅(qū)動程序;編寫設(shè)備驅(qū)動程序;加載編寫的每個設(shè)備驅(qū)動程序;使得文件系統(tǒng)可以既支持第1個IDE接口插槽的設(shè)備的文件系統(tǒng)操作,又支持另外多個IDE接口插槽的設(shè)備的文件系統(tǒng)操作,方便文件系統(tǒng)操作;擴大嵌入式操作系統(tǒng)的運用范圍。
      文檔編號G06F9/44GK1632745SQ20031010406
      公開日2005年6月29日 申請日期2003年12月22日 優(yōu)先權(quán)日2003年12月22日
      發(fā)明者毛江梅 申請人:中國電子科技集團公司第三十研究所
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1