VxWorks软硬件设计及实例分析 tof@felab 2005.3.27.

Slides:



Advertisements
Similar presentations
高校教师、高级项目经理 任铄 QQ : 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
Advertisements

高级服务器设计和实现 1 —— 基础与进阶 余锋
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
2017年3月5日 单片机原理与应用 背景知识调查.
校园信息管理系统 河北科技大学网络中心 2000/4/10.
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
实用操作系统概念 张惠娟 副教授 1.
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
Oracle数据库 Oracle 子程序.
Nucleus嵌入式操作系统.
J2EE与中间件技术 ——Lab.
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
OpenMP简介和开发教程 广州创龙电子科技有限公司
瑞斯康达—MSG1500 产品类型:路由器 建议零售价格:198元 上市时间:2017 年 3月
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
第二讲 搭建Java Web开发环境 主讲人:孙娜
VxWorks基础培训.
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
UCOS -II的使用 撰写:李湧 2006-06-29.
《手把手教你学STM32-UCOS》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
华为—E8372h- 155 外观设计 产品类型:数据卡 建议零售价格:299元 上市时间:2017年6月7日 目标人群:大众
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
SPI驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
按键驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
课程设计.
Erlang emulator 实现分析 2007/10.
逆向工程-汇编语言
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
Session 2: Testing Windows CE .NET
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
Simple , Powerful and fee
Windows 7 的系统设置.
UI 软件 设计 移动UI设计(三).
陈香兰 年7月 VxWorks及其应用开发 陈香兰 年7月.
Gzip编译及调试 曹益华
Agenda 嵌入式系统概述 嵌入式系统硬件基础 嵌入式系统软件基础 嵌入式系统开发过程.
三:基于Eclipse的集成开发环境搭建与使用
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
微机系统的组成.
Platform Builder使用介绍 WINCE系统应用开发流程说明 ACTION RDC 杨 涛 2005.Dec.3th
实验七 安全FTP服务器实验 2019/4/28.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
微信商城系统操作说明 色卡会智能门店.
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
信号量(Semaphore).
解决“最后1公里”问题.
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
临界区问题的硬件指令解决方案 (Synchronization Hardware)
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
VxWorks软硬件设计及实例分析
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
一个实时嵌入式操作系统移植问题研究 报告人:荣峰华.
Presentation transcript:

VxWorks软硬件设计及实例分析 tof@felab 2005.3.27

主要内容 VxWorks特点 Tornado界面 硬件实例 软件流程 用户程序框架 更多技术细节

一、VxWorks的特点 支持多任务 实时性强 体积小,可裁剪 支持多种CPU 支持网络通讯、串口通讯 汇编 + 标准C的编程模式 内核和定制任务可以分开编译、动态下载,支持用户自定义启动任务

VxWorks多任务 为什么多任务 每个明显单独运行的程序称为一个任务

任务包含什么 任务名和任务ID 任务优先级(0~255) 任务状态

任务操作 taskSpawn() 发起任务 taskDelete() 删除任务 taskDeleteForce() 删除设置了安全保护的任务 taskSafe() 设置任务的安全保护 taskUnsafe() 取消任务的安全保护 taskSuspend() 挂起一个任务 taskResume() 使任务退出挂起状态 taskPrioritySet() 设定任务的优先级 taskPriorityGet() 获得任务的优先级 taskLock() 锁定任务调度 taskUnLock() 重新允许任务调度 taskIdSelf() 获得任务本身的ID taskIdVerify() 判断ID对应的任务是否仍然存在 taskDelay() 延迟 taskTcb 获得任务的控制块TCB

任务间通讯 共享内存(全局变量、数组、结构体) 管道(pipe) 信号灯(semaphore) 消息队列 (message queue)

二、Tornado--集成编译环境

GDB--调试界面

WindView--多任务观察界面

程序编辑--Source Insight

参考文档 Tornado安装目录\docs\books.html 《嵌入式实时操作系统VxWorks及其开发环境Tornado》,中国电力出版社 VxWorks开发人员指南丛书 ,清华出版社 http://www.windriver.com/ http://bbs.edw.com.cn/list.asp?boardid=3 ,电子产品世界——嵌入式设计论坛 BSP training, Device driver, Tornado training Workshops BSP Developer’s Kit for VxWorks, user’s Guide

三、硬件实例

硬件框架

四、软件流程

文件分布 Tornado docs host target

文件分布 BSP all bspname

文件分布 用户程序 .c .h makefile [XXXgnu]

硬件控制 板载灯 串口(后期调试) 网口(TCP/IP, UDP) PCI器件 配合EPLD或者FPGA进行初期调试 Bootrom启动后期 bootrom和VxWorks中都用关于PCI通用寄存器(256byte)配置的部分 用户程序负责用户寄存器的填写

五、用户程序框架

中断处理 初始化部分 中断服务程序 中断服务任务 挂接终端(intConnect()) 关中断(intDisable()) 通知硬件中断已经被相应 中断服务任务 处理中断 开中断(intEnable())

硬件轮询(while(1)+taskDelay()) 软件延迟 void dailyFunc(int param1,int param2…) { while(1) taskDelay(TIME_TO_GO); /*需要定时执行的内容*/ } void initDailyFunc() taskSpawn(…,(FUNCPTR)dailyFunc,…param1,param2…);

硬件轮询(watchdog) 硬件延迟 void dailyFunc(int param) { wdStart(wdDailyFunc,TIME_TO_GO,(FUNCPTR)dailyFunc,param); /*需要定时执行的内容*/ } void initDailyFunc() wdDailyFunc = wdCreate(); wdStart(wdDailyFunc, TIME_TO_GO,(FUNCPTR)dailyFunc,param);

基于缓冲队列的双工通讯模式

网络运行(一) 通讯协议

网络运行(二) 网络监控 socket函数返回错误 ping()

六、更多技术细节… 网络通讯的缓冲队列实现 多任务控制 善用宏定义 自启动VxWorks制作 嵌入式软件的控制端调用 VxWorks编程规范