VxWorks培训笔记.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VxWorks培训笔记

VxWorks培训笔记 VxWorks培训笔记 tof 2003年1月 嵌入式开发涉及的内容 1硬件选型:CPU,板子架构,总线,存储方式,外设,接口 2软件: 自编操作系统:编译原理,语言选择,调试工具,第三方开发工具 高级操作系统:IDE,驱动的支持(架构),多cpu类型的支持,开发工具 引进小部件:移植,编译环境,接口 3测试:开发、检验 2.VxWorks开发方式:交叉开发,即将开发分为主机(host)和目标机(target)两部分。 合并开发的例子有QNX,类似于dos下C语言程序的开发。 合并开发的优点:简单 缺点:资源消耗量大,CPU支持(QNX最初只支持X86),非标准体系的支持 vxWorks实际采用开发模式 Tornado提供:编辑,编译,调试,性能分析工具,是vxWorks的开发工具 vxWorks:面向对象可以剪裁的实际运行操作系统 3.vxWorks启动方式 1Rom方式 (vxWork_rom) vxWorks直接烧入rom 2Rom引导方式(bootrom+vxWorks) 其中bootrom烧入rom,vxWorks可以通过从串口,网口,硬盘,flash等下载 !这里的bootrom不是开发环境中的bootable,在开发环境里bootable指的是vxWorks,downloadable指application 4.调试 1attach 用来在多任务调试时将调试对象绑定到某个任务 2任务级调试(attach taskName) 单个任务的调试不会影响到其他任务的运行,主要用来调用户的应用程序。 全局断点:在调另一任务或本任务时,系统运行本任务断点,则停下。各任务要配合使用。 任务断点:调本任务时,系统运行到本任务断点,则停下。如果没有attach到本任务,不起作用。 一次性断点:跑到一次之后自动删除。 3系统级调试(attach system) 把所有task和系统core、中断看成一个整体,可用于调试系统和中断。对中断调试,如果不是系统级调试,无论是那种断点都不起作用 !wdbAgent不在调试范围内,当任务级调试时工作在中断方式,系统级调试工作在轮询方式。 !可是使用命令行方式的调试,参看crossWind教程。 5.调度 优先级调度(无条件) 时间片:同优先级,如果时间片没有打开,任务采取先到先运行,运行完毕在交出cpu,如果打开,则轮流使用cpu。 !死循环使比它优先级低的任务都不能运行。 6.任务间通讯 信号量,全局变量,管道,signal,message queue,socket 信号量:分互斥、同步(二进制)、计数三种。其中互斥用于资源管理,禁止多任务同时共享内存。它的优势是:速度快;同一任务如果已经take到,再次take还会成功。 !全局变量一定要有信号量保护。 Message queue:封装了全局变量和信号量,优势是:快;有很多操作项(send多recv少:消息可以排队,用priority_urgent选项加到队列头。send少recv多:取的时候支持fifo和优先级,即有消息到达时给高优先级任务还是先被recv阻塞的任务) signal:紧急通信机制,仅次于中断,依赖于系统调度,不依赖时间片(中断依赖于硬件时间),因此signal又称为软中断。 !exeption:内部中断,属于硬中断(例如除法出错)。它与signal的关系如下图: 7.内存分配 在config.h中由宏定义指定。 !bootrom中的内存驱动在config/scr/drv/mem下,直接include *.c就可以使用其中的函数。对于flash必须在config.h中加上类型的定义,换flash芯片在flash***.h中修改控制字等宏定义。 8.中断 中断分三层含义: 中断引脚号(或从中断控制器得到)(interrupt level) ***_LEVEL 中断号(interrupt number) INT_VEC_GET(***_LEVEL) 中断向量(对x86是中断号*4)(interrupt vector) INUM_TO_IVEC(INT_VEC_GET(***_LEVEL) !中断处理程序和中断向量必须connect再enable后才能被激活,对x86使用sysIntEnablePIC(),对MIPS,ARM,PPC等使用intEnable()。 !中断中不能含有会使中断阻塞的函数接口。(例如printf就不行,使用logMsg) 9.Timer vxWorks使用3个timer,分别用于系统时钟,辅助时钟和时标。 Timer0:用于系统时钟(system clock),可用sysClkRateSe

文档评论(0)

cj80011 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档