CN1238211C - 车载设备用嵌入式操作系统启动方法 - Google Patents
车载设备用嵌入式操作系统启动方法 Download PDFInfo
- Publication number
- CN1238211C CN1238211C CN 03135054 CN03135054A CN1238211C CN 1238211 C CN1238211 C CN 1238211C CN 03135054 CN03135054 CN 03135054 CN 03135054 A CN03135054 A CN 03135054A CN 1238211 C CN1238211 C CN 1238211C
- Authority
- CN
- China
- Prior art keywords
- user
- dos
- different
- file
- select
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种车载设备用嵌入式操作系统启动方法,通过生成不同的影像文件,并且在启动时或下次启动前由用户选择,从而可以满足用户的不同需求。希望完成单一任务的用户可以选择较小的影像文件,从而可以较快地启动系统,而希望具有较多功能的用户可以选择较大的影像文件,以满足其对功能的需求。而且它可以多次选择,对同一用户在每次启动也可以有不同的选择。
Description
技术领域:
本发明涉及一种车载设备用嵌入式操作系统启动方法,更具体涉及多Microsoft Windows CE OS影像文件可选择启动方法。
背景技术:
随着嵌入式系统的广泛应用,越来越多的开发商采用MicrosoftWindows CE(以下简称Windows CE)作为自己的操作系统。Windows CE的一个显著特性是可剪裁性,即开发商可以根据具体硬件及实际需要来选择自己需要的组件,而抛开其它与己无关的组件,从而得到一个精简、高效的客户操作系统(Custom Operation System或Custom OS),该客户操作系统在物理上是一个名称为nk.bin的文件,微软称之为操作系统影像(OS Image)文件。
微软将运行nk.bin的硬件系统统称为CEPC,nk.bin即运行在CEPC上。CEPC的启动过程如下:
1.通过DOS系统文件(msdos.sys和io.sys)启动系统;
2.启动后使用OS影像文件装入器(boot loader)loadcepc.exe来装入nk.bin,从而启动Windows CE操作系统。该命令通常在自启动文件autoexec.bat中执行。
loadcepc.exe的输入参数如下(自Microsoft Windows CE.net帮助文件):
loadcepc[/B:Baud][/C:Port][/D:Display][/E:IO:IRQ:[DottedDecimal Notation]][/H][/L:DXxDYxBPPP[:PXxPY][/K][/N][/P][/Q][/V][InputFile]
最后一个参数[InputFile]即为操作系统影像文件,即nk.bin。
根据具体的nk.bin文件的大小不同(小至2、3M,大至几十M),loadcepc.exe的运行时间(即Windows CE启动时间)可能长达10秒以上。
由于用户的多样性,或者由于用户使用嵌入式系统目的的多样性,用户对Windows CE的启动时间要求不同。例如在汽车卫星导航系统中,当用户希望完成单一的任务,例如导航、播放DVD、播放MP3等,装入一个全功能的操作系统影像文件的时间可能使用户难以容忍。
发明内容:
本发明的目的就是为了解决以上问题,提供一种车载设备用嵌入式操作系统启动方法,让用户可以根据需要启动系统,从而可以既兼顾到部分用户对快速启动的需要,又兼顾到另一部分用户对全功能的需要。
为实现上述目的,本发明提出一种车载设备用嵌入式操作系统启动方法,其特征是包括如下步骤:1)提供用户界面供用户选择不同的Windows CE,所述不同的Windows CE是指事先根据不同的要求制作并按照要求复制到CEPC启动盘上的包含不同组件的OS影像文件;2)执行下述步骤之一:A)根据用户的选择装入相应的OS影像文件;或者:B)将用户的选择写入一个文件中,待下次启动时读入该文件,并根据该文件的内容来选择装入相应的OS影像文件;或者:C)根据用户的不同选择在存贮器上建立不同的文件,待下次启动时根据这些文件是否存在来选择装入相应的OS影像文件。
其中步骤1)中提供用户界面供用户选择的方法至少有如下三种:
一、在硬件系统通过DOS系统文件启动系统后,在DOS自启动批处理文件autoexec.bat中,利用DOS外部程序choice.exe为用户提供选择界面;此种情况适用于所述步骤2)中之A)。
二、在硬件系统通过DOS系统文件启动系统后,在DOS自启动批处理文件autoexec.bat中,利用一个自主编写的DOS程序为用户提供选择界面,且该界中面中包含图形;此种情况适用于所述步骤2)中之A)。
三、在前一次启动完成后,根据用户的指令随时运行一个基于Windows CE的事件驱动类型的程序,利用该程序为用户提供选择界面;此种情况适用于所述步骤2)中之B)和C)。
本发明提出的以上方案通过生成不同的影像文件,并且在启动时或下次启动前由用户选择,从而可以满足用户的不同需求。希望完成单一任务的用户可以选择较小的影像文件,从而可以较快地启动系统,而希望具有较多功能的用户可以选择较大的影像文件,以满足其对功能的需求。而且它可以多次选择,对同一用户在每次启动也可以有不同的选择。
附图说明:
图1是本发明实施例自启动批处理文件运行界面示意图。
图2是本发明实施例一流程示意图。
图3是本发明实施例二图形界面示意图。
图4是本发明实施例三中一个选择界面实例示意图。
图5是本发明实施例三流程示意图。
具体实施方式:
下面通过具体的实施例并结合附图对本发明作进一步详细的描述。
为实施本发明,首先要根据不同的要求,制作包含不同组件的OS影像文件,例如nkA.bin、nkB.bin、nkC.bin(假设装入(即启动)这三个影像文件的时间分别为2秒、8秒、15秒);然后按照要求将这些影像文件复制到CEPC的启动盘上。
这样,就可以在适当时机提供用户界面供用户选择不同的WindowsCE;需要指出的是,有多种方式来为用户提供用户界面供用户选择,下面列举3种方式。
实施例一:在DOS自启动批处理文件autoexec.bat中,在硬件系统启动后为用户提供选择界面(在以下的程序片段中,分号“//”后面的内容为注释):
autoexec.bat文件清单1: call batslt.bat//调用batslt.bat call loadit.bat//调用loadit.bat batslt.bat文件清单2: <!-- SIPO <DP n="3"> --> <dp n="d3"/> @echo off cls echo. echo A Minimum Version,nkA.bin echo B Middle Version,nkB.bin echo C Full Version,nkC.bin echo. choice /c:abc Choose an option: loadit.bat文件清单3: if errorlevel 3 goto nkc if errorlevel 2 goto nkb if errorlevel 1 goto nka :nka loadcepc /l:320x240x16 nk.bin goto End :nkb loadcepc /l:320x240x16 nk1.bin goto End :nkc loadcepc/l:320x240x16 nk4.bin goto End :End
batslt.bat批处理文件提供选择界面,并等待用户选择,运行后在屏幕上的显示如图1所示。
用户根据图1所示界面选择后batslt.bat设置环境变量erroelevel的值,分别为1、2、3。
loadit.bat批处理文件根据errorlevel的值装入相应的OS影像文件,框图如图2所示。
autoexec.bat文件依次调用batslt.bat和loadit.bat来接受用户选择并装入不同版本的Windows CE。
实施例二、在实施例一中,程序示例中使用了DOS的外部程序choice.exe来接受用户的输入。为了给用户提供更友好的界面,可以自主编写一个DOS程序并等待用户的输入,将这个程序命名为mychoice.exe,则autoexec.bat可以修改为:
autoexec.bat文件清单:
mychoice.exe
call loadit.bat
上述批处理文件首先调用mychoice.exe接受用户的输入,再执行loadit.bat来根据用户的装入启动不同的影像文件。
可以有许多中方法在mychoice.exe中为用户提供友好的图形界面,接收用户选择并设置errorlevel的C语言代码如下:
int status;//定义整型变量
......//显示图形界面代码
status=getch();//等待用户输入
exit(status-′0′);
//返回用户输入,即设置DOS环境下errorlevel的值
......
图3是一个图形界面的例子。
实施例三:实施例一和实施例二都是在系统启动初始让用户做出选择,为了使用的方便性,在系统启动后,也应该为用户提供手段来设置下一次启动的模式。
与实施例二类似,该方案是一个基于Windows CE的应用程序,设为winmc.exe。从功能上来讲,它与mychoice.exe相同,都是接受用户的输入。但是,由于是为下一次启动作准备,所以不能够使用errorlevel变量。尽管如此,仍然有很多方法将用户设置传递到下一次启动时使用,例如:
方法一:将用户的选择写入一个文件中,同时在autoexec.bat中调用一个自己编写的DOS程序,读入该文件,并根据文件内容执行相应的动作。以下对此不再详述。
方法二:在存贮器(例如硬盘或CF卡)上建立不同的文件,在autoexec.bat中根据这些文件是否存在来执行相应的操作。下面的内容说明了方法二的实现方法。
基于Windows CE的程序是事件驱动类型的程序,winmc.exe首先显示一个对话框,如图4所示。如果用户选择了小模式版本,程序在存贮器上建立os1.txt文件;如果用户选择了推荐版本,程序在存贮器上建立os2.txt文件;如果用户选择了全功能版本,程序在存贮器上建立os3.txt文件。
响应用户点击“小模式版本”按钮的程序代码片段示例如下:
CWinmc::OnButtonl()
{
Create(1);
}
响应用户点击“推荐版本”按钮的程序代码片段示例如下:
CWinmc::OnButton2()
{
Create(2);
}
响应用户点击“全功能版本”按钮的程序代码片段示例如下:
CWinmc::OnButton 3()
{
Create(3);
}
为了方便起见,在对话框中加入了一个按钮“在下次启动时选择”,用户点击该按钮后,清除已经生成的os1.txt、os2.txt和os3.txt。程序代码示例如下:
CWinmc::OnButton4()
{
Create(0);
}
在以上3段程序中,都调用了Create(intn)函数,该函数首先删除全部os1.txt、os2.txt、和os3.txt(即清除已有的选择),然后根据n的值分别生成os1.txt、os2.txt、和os3.txt。
void Create(int n) { char fn[128]; int i; for(i=1;i<4;i++){ wsprintf(fn,“os%d.txt”,i);//生成文件名 CFile::Remove(fn);//调用MFC函数删除文件fn } if(n>0&&n<4){ wsprintf(fn,“os%d.txt”,i);//生成文件名 CFile f;//定义类CFile f.Open(fn,CFile::modeCreate|CFile::modeWrite);//生成并打开<br/> 文件fn f.Write(fn);//将文件名作为内容写入文件中 f.Close();//关闭文件 } }
相应的,Autoexec.bat也要做必要的修改,一个可能的方案如下所示:
autoexec.bat文件清单:
if exist os1.txt goto os1 if exist os2.txt goto os2 if exist os3.txt goto os3 goto choice ::os1 set errorlevel 1 goto load ::os2 set errorlevel 2 goto load ::os3 set errorlevel 3 goto load ::choice mychoice.exe :load call loadit.bat
该批处理框图如图5所示。
以上实施例和程序示例只是为了对本发明进行清楚的说明,不应理解为对本发明保护范围的限制。例如,上述方法还可以用来选择不同语言的CE操作系统,等等。
Claims (4)
1、一种车载设备用嵌入式操作系统启动方法,其特征是包括如下步骤:
1)提供用户界面供用户选择不同的Windows CE,所述不同的WindowsCE是指事先根据不同的要求制作并按照要求复制到CEPC启动盘上的包含不同组件的OS影像文件;
2)执行下述步骤之一:
A)根据用户的选择装入相应的OS影像文件;或者:
B)将用户的选择写入一个文件中,待下次启动时读入该文件,并根据该文件的内容来选择装入相应的OS影像文件;或者:
C)根据用户的不同选择在存贮器上建立不同的文件,待下次启动时根据这些文件是否存在来选择装入相应的OS影像文件。
2、如权利要求1所述的车载设备用嵌入式操作系统启动方法,其特征是其中步骤1)中提供用户界面供用户选择的方法是:在硬件系统通过DOS系统文件启动系统后,在DOS自启动批处理文件autoexec.bat中,利用DOS外部程序choice.exe为用户提供选择界面;此种情况适用于所述步骤2)中之A)。
3、如权利要求1或2所述的车载设备用嵌入式操作系统启动方法,其特征是其中步骤1)中提供用户界面供用户选择的方法是:在硬件系统通过DOS系统文件启动系统后,在DOS自启动批处理文件autoexec.bat中,利用一个自主编写的DOS程序为用户提供选择界面,且该界中面中包含图形;此种情况适用于所述步骤2)中之A)。
4、如权利要求1或2所述的车载设备用嵌入式操作系统启动方法,其特征是其中步骤1)中提供用户界面供用户选择的方法是:在前一次启动完成后,根据用户的指令随时运行一个基于Windows CE的事件驱动类型的程序,利用该程序为用户提供选择界面;此种情况适用于所述步骤2)中之B)和C)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03135054 CN1238211C (zh) | 2003-09-09 | 2003-09-25 | 车载设备用嵌入式操作系统启动方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN03140461.8 | 2003-09-09 | ||
CN03140461 | 2003-09-09 | ||
CN 03135054 CN1238211C (zh) | 2003-09-09 | 2003-09-25 | 车载设备用嵌入式操作系统启动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1522893A CN1522893A (zh) | 2004-08-25 |
CN1238211C true CN1238211C (zh) | 2006-01-25 |
Family
ID=34314808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03135054 Expired - Fee Related CN1238211C (zh) | 2003-09-09 | 2003-09-25 | 车载设备用嵌入式操作系统启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1238211C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NZ591762A (en) * | 2008-08-18 | 2014-02-28 | Neil T Mylet | Monitoring and control system for commodity loading |
CN102541581A (zh) * | 2010-12-27 | 2012-07-04 | 广明光电股份有限公司 | 启动操作界面方法 |
CN102169329B (zh) * | 2011-04-29 | 2012-09-26 | 深圳市大富科技股份有限公司 | 车载信息终端及其控制方法 |
CN102826010B (zh) * | 2011-06-14 | 2016-01-06 | 上海博泰悦臻电子设备制造有限公司 | 一种车载系统的需求处理方法 |
CN102567058B (zh) * | 2011-12-26 | 2014-11-05 | 中标软件有限公司 | 一种制备用于安装linux操作系统的镜像文件的方法 |
CN102854867B (zh) * | 2012-09-21 | 2014-07-16 | 南京中网卫星通信股份有限公司 | 卫星通信车车载设备运行集中控制方法 |
CN104142842B (zh) * | 2014-08-04 | 2017-09-22 | 青岛海信智能商用系统股份有限公司 | CedarTrail平台支持UCDOS的方法 |
CN105005493A (zh) * | 2015-08-25 | 2015-10-28 | 天津市英贝特航天科技有限公司 | 多系统选择启动电路及启动方法 |
CN106891830A (zh) * | 2017-01-23 | 2017-06-27 | 斑马信息科技有限公司 | 控制方法,控制装置、车载设备和交通运输工具 |
-
2003
- 2003-09-25 CN CN 03135054 patent/CN1238211C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1522893A (zh) | 2004-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1306754C (zh) | 平衡网格计算环境中的工作负荷的方法和系统 | |
CN1096636C (zh) | 执行减少运行存贮空间要求执行线程的计算机系统和方法 | |
CN1219253C (zh) | 与创建Applet的WEB/HTML页面独立地缩放Applet的方法 | |
CN1866212A (zh) | 在引导和关机期间显示图象 | |
CN1961307A (zh) | 用于渐进式安装软件应用程序的系统和方法以及api | |
CN1238211C (zh) | 车载设备用嵌入式操作系统启动方法 | |
CN1673962A (zh) | 多操作系统的计算机系统及改变计算机系统的操作系统的方法 | |
CN1234548A (zh) | 混合执行堆栈及异常处理 | |
CN1283817A (zh) | 一种为计算设备的自动配置创建并展开较小Microsoft Windows应用程序的方法和设备 | |
CN1975679A (zh) | 用于优化分段资源分配的方法和设备 | |
CN1993676A (zh) | 发现数据处理系统内的硬件的方法和设备 | |
CN101650660A (zh) | 从中央存储装置引导计算机系统 | |
CN1841299A (zh) | 信息处理装置和程序产品 | |
CN1831771A (zh) | 一种更新软件的方法 | |
CN101036123A (zh) | 自动翻译程序和程序翻译服务器 | |
CN106201660A (zh) | 一种虚拟机自动升级虚拟硬件和软件的方法 | |
CN1949169A (zh) | 电视机软件升级方法 | |
CN1920787A (zh) | 信息处理设备及其控制程序和控制方法 | |
CN1848111A (zh) | 用于内存数据库的一种数据操作接口的实现方法 | |
CN1664813A (zh) | 构建、展开、服务并管理可定制和可配置可重复使用应用程序的框架 | |
CN1329309A (zh) | 操作系统的多语言用户接口 | |
CN1369779A (zh) | 用于下载应用数据的方法和设备 | |
CN1096025C (zh) | 信息处理装置及多任务控制方法 | |
CN1869934A (zh) | 实现网络间克隆软件系统的方法及嵌入式系统 | |
CN1892597A (zh) | 通过随插即用储存装置更新手持式设备操作功能的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |