VxWorks嵌入式操作系统,是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
我工作中的VxWorks平台核心板由:OMAP芯片(ARM+DSP)* 2 + FPGA * 1组成。开发工具为Wind River workbench。
一、嵌入式系统架构
该嵌入式软件由三层组成:操作系统层、中间层、应用层。
操作系统层:存放VxWorks嵌入式操作系统源码,已固化到芯片中。
中间层:平台共性程序,主要负责封装复杂的数据处理、数据交互、外设初始化等,为应用层提供接口即可。
应用层:顾名思义,实现所有逻辑控制、简单的数据处理、动作响应、故障判断及保护等等实际应用。
二、程序运行流程
1. 启动
使用FTP连接主板之后,可以看到其中的文件系统:
其中,在主控板上电之后,系统会自动读取引导文件“startup.txt”(刚才百度了一下…这个txt引导的模式好像只有我们在用…嘘?),根据startup文件中的指令,开始运行两个任务:arm_Main、mai_init。这两个任务分别是中间层和应用层的入口程序。
2. 周期任务建立
VxWorks中有一个启动线程任务的api接口:taskSpawn()
根据手册查得 taskSpawn函数原型如下:
* int taskSpawn
* (
* char * name, // name of new task (stored at pStackBase)
* int priority, // priority of new task
* int options, // task option word
* int stackSize, // size (bytes) of stack needed plus name
* FUNCPTR entryPt, // entry point of new task
* int arg1, // 1st of 10 req'd args to pass to entryPt
* int arg2,
* int arg3,
* int arg4,
* int arg5,
* int arg6,
* int arg7,
* int arg8,
* int arg9,
* int arg10
* )
使用示例:
taskSpawn(TASKNAME_10MS, TPRI_10MSTASK, VX_FP_TASK, PDT10MS_STACK_SIZE, (FUNCPTR)mai_10msPdt,0,0,0,0,0,0,0,0,0,0);
最后
以上就是害怕大船最近收集整理的关于学习笔记——工作中的Vxworks嵌入式操作系统的全部内容,更多相关学习笔记——工作中内容请搜索靠谱客的其他文章。
发表评论 取消回复