Vxworks嵌入式开发系统入门基础概念学习

来源:互联网 发布:知进退 明得失 编辑:程序博客网 时间:2024/05/22 02:07

1.VxWorks应用

       自动化设备、工业控制(实时性好)、军用设备以及消费电子。

2.实时性

       实时性包括硬实时、软实时。硬实时系统有一个刚性的、不可改变的deadlines,它不允许任何超出deadlines的错误。而软实时是一个柔性灵活的,它可以容忍偶然的超时错误,失败造成的后果并不严重,例如在网络中仅仅是轻微地降低了系统的吞吐量等。一句话区别就是是不是所有的响应都在规定的deadlines内完成。

3.系统结构


4.BSP的功能

       (1)CPU初始化(2)内存控制器初始化(3)串口、网口、硬盘的初始化(4)中断控制器、时钟和定时器初始化

5.vxworks image类型

   主要包括四种:

       (1)Loadable:这种包含用户程序的Vxworks操作系统镜像不具备引导功能,需要借助bootrom通过网口或串口下载到RAM中,多用于调试。

       (2)BootRoom:引导程序,通常烧写在rom或flash,,上电后执行本身引导操作系统。Rom-based image包括bootroom压缩的引导程序以及bootrom_uncmp未经压缩的引导程序。上电以后会从ROM启动,加载vxworks镜像到内存中运行,类似于u-boot。

       (3)Vxworks_rom以及Vxworks_romCompress产品中应用,直接从ROM启动,包含了引导程序以及OS镜像,适用于最终产品。

       (4)ROM-Resident:image的指令部分在ROM中运行,仅将数据段拷贝到RAM适用于内存较小的嵌入式处理器。

6. 什么是bootrom

       Vxworks引导程序,不是BSP,类似于uboot。上电先自解压,再从指定的地址加载OS,可以用于做logo。

7.开发流程

       建立开发环境à内核启动之前代码研究à启动vxworks最小内核,提供系统时钟和中断向量à使用Tornado进行调试à完成具体驱动。

8.wind内核


9.Vxworks没有进程和线程的概念,任务相当于线程,所有的线程都可以访问共有资源。

10.Vxworks中断处理

       中断抢占最高优先级任务。ARM有专用中断堆栈

       不能调用信号量、不能调用malloc()、不能调用IO函数printf等阻塞函数,要做到尽量短小,避免做浮点运算,因为运行速度慢,可以使用logMsg。

11.应用程序的开发

       线程间通信


       任务间通信手段:共享数据结构、共享内存,信号量,消息队列,管道,信号,socket通信。
原创粉丝点击