空心雨毕业论文网提供毕业论文、职称论文、硕士论文、计算机论文等的代写服务,同时还提供各种期刊论文的发表。如果你有需要,请联系我们QQ:5599630;电话:13350726595;E-mail:singlehearted@vip.qq.com
RSS
 
当前位置 :空心雨毕业论文网 >> 工学论文 >> 电子机械 >> 正文

Bootrom功能改进经验谈(2)

来源:网络转载 作者:okxy168.com 时间:2008-01-10 浏览:1 字体:【

2 增加重启功能VXWORKS的BOOTROM用户命令缺少重启功能,给调试和实际应用带来诸多不便。与BOOTROM在线更新方法相同,增加这项功能其实并不难,只要在函数BOOTCMDLOOP()中增加新命令“R”(RESET的缩写),在命令中调用系统重启函数SYSREBOOT()即可。SYSREBOOT()由设计师根据系统的不同自行编写。SWITCH(*(PLINE )){……CASE 'R'; /*重启系统*/SYSREBOOT();BREAK;……}举一反三,还可以根据需要在BOOTROM中增加许多自己的命令。完成之后,不要忘了在BOOTROM命令解释函数BOOTHELP()中添加新增命令的用途、用法等帮助信息。3 自动运行应用软件在实际应用中,一般将上层软件和VXWORKS映象链接在一起,暂且称之为应用程序。默认情况下,当BOOTROM运行后,它会倒计时7S,然后从启动参数(BOOT_LINE)指定的路径下载应用程序。但是,因为BOOTROM提供了启动参数修改命令,启动参数可能由于某些原因发生更改。例如调试时需要从FTP服务器下载,或者疏忽好奇等,给下次应用带来不少麻烦,很可能出现应用程序下载挫败等故障。为了保证自动启动总是从固定路径下载应用程序,而不受启动参数的影响,需要修改文件BOOTCONFIG.C中的自动启动函数AUTOBOOT()。例如,自动启动总是从CF卡读取应用程序。IF(BYTESREAD ==0){ /*倒计时期间没有输入*/LOADAPPLICATIONIMAGE();/*复制应用程序映象到起始地址为ENTRY的内存中*/GO((FUNCPTR)ENTRY;/*从ENTRY地址开始运行*/}ELSE{……}ENTRY是应用程序的入口地址,VXWORKS系统中该值是RAM_LOW_ADRS。LOADAPPLICATIONIMAGE()函数将应用程序映旬从CF卡复制到起始地址为ENTRY的内存中,然后将PC指针指向该地址,启动系统。如果在倒计时期间有字符输入,则进入BOOTROM的命令界面,用户可以修改启动参数,然后按“@”从启动参数指定的路径下载程序,而不影响调试,但是更改后的参数不会影响下次自动启动的下载路径。4 多种应用软件的选择在通信领域,许多产品的硬件平台其实相同,区别在于应用软件。不同的软件塑造出了一个个特色鲜明的产品。如果能够将不同的软件集成到一个硬件平台上,由用户在启动时选择,那么这个产品就拥有一机多能的特性,大大增强了产品的市场竞争力。退而言之,即使硬件平台只适合于一种应用软件,将故障检测程序作为另一种应用软件,会带给产品测试和现场维修人员诸多的方便。参考以上三点经验,在BOOTROM中增加这项功能并非难事。以两个应用软件为例,在函数BOOTCMDLOOP()中增加新命令“O”(OTHER的编写),如下所示。SWITCH(*(PLINE )){……CASE 'O': /*启动另一应用软件*/LOADANOTERAPPLICATIONIMAGE();/*复制另一应用程序映象到起始地址为ENTRY的内存中*/AUTOSYSTEMVERSIONSET();/*询问用户是否将另一应用软件设置为默认启动*/GO((FUNCPTR)ENTRY);/*从ENTRY地址开始运行*/BREAK;……}

图3

在BOOTROM代码中定义一个变量DEFAULTVERSION,用于记录谁是默认的启动软件,该变量保存在FLASH等非易失媒质中。上电后,如果在倒计暑期间没有任何输入,系统自动启动DEFAULTVERSION指定的应用软件;否则,用户进入命令界面。如果键入“O”命令,BOOTROM调用函数LOADANOTHERAPPLICATIONIMAGE()将另一应用程序映象复制到起始地址为ENTRY的内存区域,然后询问用户是否希望将另一应用程序设置为默认启动;如果用户回答“是”,更改DEFAULTVERSION值;否则,DEFAULTVERSION值不变。最后运行当前选定的应用软件。上述的几点经验大部分是修改文件BOOTCONFIG.C的代码。因为BOOTCONFIG.C是一个公用文件,为了不影响其它底层软件的开发,建议将它复制到当前BOOTROM开发目录下,并且在MAKEFILE文件中增加定义:BOOTCONFIG=BOOTCONFIG.C。嵌入式系统开发需要经常开辟新的思路,一些微小的简单改动通常能够带给产品新的功能和特征。启动代码是嵌入式系统的重要组成部分。笔者的以上四点经验在POWERPC处理器(MPC8260)平台和MIPS处理器(RM7000A)平台上得到了验证,希望对其它系统的启动代码的开发有所借鉴和启迪。 上海横河国际易有限公司  WELCOME TO YOKOGAWA SHANGHAI TRADING CO.,LTD.  ADVICEPLUS仿真器 ADVICEPLUS系列仿真器为您提供最强大的嵌入式调试解决方案。

阅读更多内容<<上一页 · 1 · 2
1
最新评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
      本站是由一个众多学科的博士群体组建而成,主要创办者为成都各重点高校博士。本论文网内理工科写手均为博士,文科类写手大部分为博士,且领域涵盖广泛,写作势力强大,若有部分专业,没有相关的写手,我们给你寻找合适的写手! 依托强大的人力资源,我们本着诚心交流的宗旨,专门为您排解写作上的难题。从在科研及实践工作中稳扎稳打的经历,我们具备了研究问题,解决问题的能力。论文写作和论文发表,作为教育体系的一个重要环节,我们确实有能力给您解决好问题,正所谓,真金不怕火来炼,请相信我们的势力,没有把握的事,我们不会做!
      本站受多家期刊委托,其中包括国家级中文核心期刊目录正刊,CSSCI目录正刊,增刊,省级以上公开出版的优秀期刊正刊,本站负责论文推荐发表,加急1个月即可发表。本站负责论文发表,不发表承诺退款!!目前主要负责法律,管理,经济,理工,农学,行政,医学,艺术,英语等类论文发表论文代写。详细期刊目录见本站相关内容。
赞助商链接