想了解VxWorks系统映象?怎么存储的?(vxworks地址映射)
VxWorks 是一种嵌入式实时操作系统(RTOS),在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
VxWorks是一种灵活的、可裁剪的嵌入式实时操作系统。用户可以根据需要创建自己的VxWorks映象,由它来引导目标系统,而后下载并运行应用程序。
操作系统
根据应用场合的不同,VxWorks映象可分为三类:
1、 可加载的VxWorks映象
一种运行于RAM的VxWorks映象,不包含搬移程序,需要借助于一些外部的程序如BOOTRom才能加载到RAM的低端RAM_LOW_ADRS地址处,这是缺省的开发映象。
一般在开发的初期阶段,用户可以根据需要添加或删除一些VxWorks组件,生成自己的可加载的VxWorks映象,存放在开发主机的某个目录下。目标板上电后,由烧写在BOOT中的起始引导程序(BootStrap Programs)将BOOT中的ROM引导程序(ROM Boot Programs)拷贝到RAM的高端地址RAM_HIGH_ADRS处,并跳转至该地址执行ROM引导程序,配置好所选的加载方式(缺省为网络方式),将指定的主机目录下的可加载的VxWorks映象下载到目标板的RAM地址RAM_LOW_ADRS处,并跳转到此处执行。
可加载VxWorks映像
这种映象的优点是生成的VxWorks映象可以存放在开发主机PC机上,不用烧到BOOT中,节省了BOOT容量,也便于随时修改不同的VxWorks映象,适用于调试的初期阶段。不足之处是需要在主机上维护一个正确的VxWorks映象,对于调试硬件无关的上层应用程序显得不是很方便。
2、 基于ROM的VxWorks映象
这是一种运行于RAM中,但起初存放于ROM中的VxWorks映象。即该映象需要和搬移程序一起固化在BOOT中。目标板上电后,首先运行BOOT中的引导搬移程序,将整个VxWorks映象拷贝到RAM地址RAM_LOW_ADRS处,并跳转到此处执行。
基于ROM的VxWorks映像
该映象根据是否被压缩又可分为:
1)基于ROM的未压缩的VxWorks映象,可直接从ROM拷贝到RAM中;
2)基于ROM的压缩的VxWorks映象,这种映象主要是为了节约BOOT空间,在从ROM拷贝到RAM的过程中需要解压缩,因此与上述未压缩的映象相比,它的引导过程相对较慢,但两者在RAM中的运行速度是一样的。
3、驻留ROM的VxWorks映象
这种映象起初也和搬移程序一起固化在BOOT中。目标板上电后,首先运行BOOT中的引导搬移程序,但仅将VxWorks映象的数据段和BSS段拷贝到RAM地址RAM_LOW_ADRS处,映象的代码段仍旧留在ROM中,从ROM中开始执行。
驻留ROM的VxWorks映像
这种映象的优点是具有最快的引导速度,占用最少的RAM空间,适用于RAM空间有限的目标板。但是由于该映象在ROM中运行,运行速度在三种映象中是最慢的。
以上就是VxWorks最长用的3种映像类型,根据实际项目的应用需求,具体硬件资源的限制,灵活选择其中某种类型进行开发,你最常用哪种类型呢?
嵌入式系统
欢迎加入留言讨论,一起学习和探讨嵌入式系统相关的设计!
喜欢可以关注哦,这里会定期发布IT领域的相关知识和技能。