




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Vxworks嵌入式编程基础 邓国旭 实时嵌入式系统 嵌入式系统 由CPU控制 即自带CPU相对于常见的pc而言 不对用户提供开发环境 用户与系统交互的唯一接口就是系统提供给用户的应用 提供功能通常带有针对性 大多为专用系统 手机 医疗设备 微波炉 mp3 实时嵌入式系统 实时性 任务切换时间 抢占时间 中断等待时间 信号量延迟时间 死锁解脱时间 任务间消息传递延迟 数据报吞吐量小型化 可裁剪 系统资源有限强稳定性 一旦运行不需要人过多干预固化代码 操作系统和应用软件代码固化在嵌入式系统ROM中弱交互性 工作过程不需人干预 嵌入式系统开发 交叉编译 在某一体系结构的宿主机上为另一体系结构的目标板编译可运行的目标代码 即编译与运行不在同一地方 宿主机 host 编写代码和编译目标机 target 调试和执行程序 VxWorks VxWorks 美国风河公司 WindRiverSystem 推出的一种嵌入式实时操作系统 强实时性 微内核设计 可裁剪 可移植 高可靠VxWorks系统功能 WindKernelANSIC POSIXI O系统文件系统TCP IP网络协议栈BSP开发包 提供BSP模块 驱动程序模板和BSP测试工具包WDB WindDebugAgent 支持交叉调试 BSP BSP BoardSupportPackage 开发嵌入式应用时系统开发商提供的各种驱动支持库VxWorks OS的驱动程序VxWorks提供的大部分功能模块与硬件无关 为使VxWorks能运行于不同的处理器体系结构上 必须在功能模块与硬件之间加入一层软件 并对这层软件规定标准接口 这层软件即为BSP提供对硬件进行的描述性操作提供对目标板的初始化 中断管理以及一些简单的驱动程序最好的情况下 OS与驱动程序的移植只需要更换相应平台下的BSP支撑库 TornadoBSPDeveloper sKitforVxWorks VxWorks系统结构 Tornado集成开发环境 Tornado 基于VxWorks操作系统的嵌入式软件集成开发环境 给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境 Tornado包含以下三部分 运行在宿主机和目标机上的强有力的交叉开发工具和实用程序 文本编辑器GNU和DiabC C 编译器调试工具 WindShell Browser WindView VxSim系统模拟器 VxWorks提供的在实验与测试环境下仿真VxWorks目标机的程序 无需硬件的支持 运行在目标机上的高性能 可裁剪的实时操作系统VxWorks 即为编译生成的目标机上可执行代码镜像 image 内含os 连接宿主机和目标机的多种通讯方式 如 以太网 串口线 ICE或ROM仿真器等 使用Tornado创建工程 创建工程 exeWorkSpace WorkProject每一个工程都需要有一个WorkSpace来保存一些相关的环境变量 BootableVsDownable 前者表明建立一个新的VxWorks操作系统 该工程是基于某个BSP生成的镜像 它包含了必须的VxWorks的内核 组件以及BSP 并且应用程序可以静态包含在工程中 也可以静态链接已编译好的应用工程模块 开发者可以根据自己的需求进行适当的配置 添加 删除VxWorks的组件 设置所选组件的运行参数等 后者顾名思义 应用模块可以以静态链接的方式编译至VxWorks镜像工程中 还可以在VxWorks运行之后 通过网络将将应用模块 out格式 下载到目标板 并与VxWorks镜像进行链接 在单独对某个模块进行调试时 我们常常会用到这种动态链接的方法 VxSim的HelloWorld 一 VxSim的HelloWorld 二 选择ABSP 板级支持包 在下拉菜单中选择simpc打开文件usrAppInit c 它的函数usrAppInit是应用的入口点 添加HelloWorld打印语句 保存文件 VxSim的HelloWorld 三 VxSim的HelloWorld 四 最后 查看新弹出的对话框 VxWorksSimulator 可以看到输出的HelloWorld 此时 还会弹出了一个VxSimLaunch的界面 这是主机用来连接目标机的 点击OK 如果正确安装Tornado并配置正确的话 此时桌面右下角会出现的图标 如果出现问题 会出现的图标 点击它可以看到TargetServer是否正常工作 Tornado工具 CrossWind 源程序 C或C 以及汇编程序等 的调试工具Browser 可对系统对象 任务 消息队列 信号量等 和存储器使用情况进行观察的浏览器 可以方便地监视用户的目标系统 Browser汇总了应用进程 内存消耗和一个目标内存的映射 通过Browser 用户可以观察信号量 消息队列 内存分配 看门狗计时器 堆栈使用情况 目标CPU使用率 对象模块结构和符号表以及每个任务的详细信息 WindShell 提供从宿主机到目标机之间的一个命令shell 允许用户调用内存中的应用程序模块或是VxWorks模块中的任何例程 WindView 非常出色的系统可视诊断和分析工具 可非常容易地观察各任务 中断程序之间的相互作用 VxSim 快速原型仿真器 可在硬件设备未完成之前 在宿主机上对应用程序进行仿真分析 VxWorks程序设计 任务 Task 在VxWorks中 任务是一段独立运行的程序 类似于Linux中的进程 从系统的角度看 任务是竞争系统资源的最小运行单元 任务可以使用或等待CPU I O设备及内存空间等系统资源 并独立于其他任务 VxWorks实时内核Wind提供了基本的多任务环境 因此当系统运行多个任务时 从表面上看多个任务正在同时执行 而实际上系统内核是根据某一调度策略让它们交替运行 系统调度器使用任务控制块 TCB 的数据结构来管理任务调度功能 每一个任务都与一个TCB关联 TCB包括了任务的当前状态 优先级 要等待的事件或资源 任务码的起始地址 初始堆栈指针等信息 任务编程 任务创建taskSpawn 任务删除taskDelete 任务控制taskSuspend taskDelay等WindShell允许用户调用内存中的应用程序模块或是VxWorks模块中的任何例程 创建任务 在usrAppInit函数中添加函数userMain 作为自己应用程序的入口函数 编写一个C文件 uesr c 内容如下 编译代码及运行 选择AddFiles 添加uesr c到工程中 编译并启动 启动WindShell 在Launch工具栏中选择 这时候就可以看到shell的界面 输入i命令 回车 即可以查看到我们起的任务tTick的有关信息 WindShell常用命令 i 显示所有的任务信息Tt 显示一个任务的函数栈的调用状态Ti 显示一个任务的tcb信息Sp 启动一个任务Ts 挂起一个任务Tr 恢复一个任务Td 删除某个任务memShow 显示系统内存信息checkStack 查看指定或所有任务的堆栈大小和使用率 Tornado中Host与target通信 TargetServer以进程的形式 tgtsvr exe 运行在Windows主机上 而TargetAgent则以VxWorks的一个任务 tWdbTask 运行在目标机上 两者通常使用网络进行通讯 但也可以使用其他通讯方式 TargetServe与TargetAgent间使用WDB WindDebug 协议进行通信 这就好比一座桥梁 将目标机与主机上的Tornado开发工具联系在一起 开发板开发嵌入式程序 操作系统的制作与下载修改Config h制作BSP及bootrom制作操作系统配置FTPServer启动超级终端引导和下载操作系统应用程序的编制和调试 操作系统的制作与下载 修改Config hVxWorks的缺省配置参数由tornado target config all目录中的configAll h决定 如第528行开始通信路径的配置对于某一目标板特定的配置参数 如ads860 使用tornado target config下相应目录中的config h 下面以ads860板为例如果没有相应目录 可定制 如建立8240目录 其文件代码由BSP开发人员编写 操作系统的制作与下载 修改Config hconfig h首先定义BSP版本 然后includeconfigAll h缺省下载调试口为10M网口 对应代码为 undefFADS 860T如改用100M网口下载调试 将该行改为 defineFADS 860T 操作系统的制作与下载 修改Config h10M网口使用cpm 0 0 100M网口使用motfec 0 0 host 后跟VxWorks操作系统在主机的存放路径 h指主机IP地址 e指目标板IP地址 u指用户名 pwd指密码实例 使用10M网口 VxWorks在主机D 主机地址10 16 17 1 目标板地址10 16 17 2 账号及密码均为tornado 其代码为 cpm 0 0 host d vxWorksh 10 16 17 1e 10 16 17 2u tornadopwd tornado 操作系统的制作与下载 修改Config h如采用串口调试 可增加下列代码 undefWDB COMM TYPE defineWDB COMM TYPEWDB COMM SERIAL undefWDB TTY CHANNEL defineWDB TTY CHANNEL0 undefCONSOLE BAUD RATE defineCONSOLE BAUD RATE115200 undefWDB TTY DEV NAME defineWDB TTY DEV NAME tyCo 0 undefWDB TTY BAUD defineWDB TTY BAUD115200 defaultbaudrate 操作系统的制作与下载 Buildbootrom修改BSP后 应生成对应的bootrom在Tornado中选Build BuildBootROMBSP可选择ads860Image一般选择bootrom hex 仿真时选择bootrom uncmp 操作系统的制作与下载 烧制bootrom目的 将build成功的bootrom烧制到Flash中FADS860板通过配套的ADI卡烧制按照ADI卡相应的8bug程序中的readme 安装ADI卡在DOS方式下键入 mpc8bugxy 操作系统的制作与下载 验证bootrom连接主机与目标板的串口线启动和配置FTPServer 方法后面介绍 选择Tornado2 VxWorksCOM1 COM2 启动超级终端超级终端中选文件 属性 配置 设置正确的目标板波特率目标板上电 检查终端是否能正确回显 显示参数与BSP配置是否一致 操作系统的制作与下载 创建操作系统工程选File NewProject CreateabootableVxWorksimage在step1键入Name和Location目录 选择Workspace在step2选择相应的BSP 如ads860 仿真选simpc 操作系统的制作与下载 选择操作系统组件在Workspace窗口的相应Project中 点击VxWorks选择所需组件 击右键 选Include添加 选Exclude删除例如需要使用POSIX消息队列 可选operatingsystemcomponents POSIXcomponents POSIXmessagequeue并添加组件选择完毕后 右击Project 选Build vxWorks 注意有些组件必须组合使用 操作系统的制作与下载 FTPServer的配置目标板上电后 bootrom引导初始化 启动TFTP协议 作为Client端与主机通信 此前主机应运行FTPServer点击Tornado2 FTPServer如果目标板使用匿名账号登录 在Security General中 选择AllowAnonymous在Security Users rights中 选择UserName 对于新开账号用NewUser配置 在HomeDirectory中键入操作系统所在目录 然后点击Done 操作系统的制作与下载 常用TFTP命令TFTP通信建立后 在超级终端上可使用TFTP命令p 查看BSP预先设置的用户参数c 修改用户参数 根据用户参数下载操作系统 应用程序的编制与调试 程序Project的制作选File NewProject Createdownloadableapplicationmodules在step1键入Name和Location目录 选择Workspace在step2选择相应的toolchain 如PPC860gnu 仿真选SIMNTgnu 应用程序的编制与调试 增删project文件在Workspace窗口下方点击Files 右击相应的ProjectFiles 选择AddFiles 增加所需的 c文件右击单个 c文件 可选择Remove来删除 选择Open来编辑 选择Compile来编译如果编辑新文件 选File New 确定文件类型 文件名和存放位置 添加到相应的project中 也可用其它编辑器编辑 增删project文件 续 完成 c文件的添加后 右击ProjectFiles 选择Dependencies 自动添加所有的include h文件 显示在ExternalDependencies中 不显示系统 h文件 注意 h文件的路径 应用程序的编制与调试 路径和宏的加入在Workspace窗口点击Builds 双击xxxgnu 选择C C compiler 可编辑所需的编译路径和宏 路径用 I 如 IE mydirectory 宏用 D 如 DBIG ENDIAN 中间无空格不同选项间用空格隔开 不能使用回车键路径用UNIX格式 不能使用DOS格式 应用程序的编制与调试 o库的加入在xxxgnu窗口中选Macros 在Macros下拉菜单中选PRJ LIBS 在Value栏键入 o文件及其绝对路径 如e mydirectory my o 然后点击Add Set按钮 再点击Apply即可路径同样使用UNIX格式 应用程序的编制与调试 Build应用程序在代码编辑完成后 右击ProjectFiles 选择Build或ReBuildAll 可对Project进行编译 链接 生成 out文件在BuildOutput窗口中 Tornado会显示错误 警告信息 此时修改代码 重新Build 直至出现Done 调试应用程序的步骤连接主机与目标板之间的串口线和网线配置和启动FTPServer配置和启动超级终端目标板上电 下载操作系统配置和启动TargetServer下载应用程序 out文件启动Shell 运行程序启动Debugger调试 应用程序的编制与调试 TargetServer的配置和启动选择Tools TargetServer Configure 选择相应的TargetServer 点击New可添加1个新的Configuration 自行定义TargetServer名称 可选 键入目标板IPAddress 必选 在TargetServerProperties下拉菜单中选BackEnd 网口调试时在AvailableBack窗口选wdbrpc 串口调试选wdbserial在TargetServerProperties下拉菜单中选CoreFileandSymbols 选中File 在该栏键入操作系统路径及名称 如e vxworks1 应用程序的编制与调试 TargetServer的配置和启动 续 当程序下载太慢时 可在TargetServerProperties下拉菜单中选MemoryCacheSize 选中Specify 键入字节数 如4096 KByte 配置完毕后 点击OK时保存配置 点击Launch时直接启动TargetServer当TargetServer启动成功后 在Tornado主窗口下拉菜单中选定Target 应用程序的编制与调试 下载应用程序右击ProjectFiles 选Download 下载Workspace中的应用程序如果选Unload 撤销下载的应用程序如果只有 out文件 而无project及源代码 在主窗口点击Downloadobjectfileorbootimage 选择相应文件下载在主窗口点击LaunchShell 启动Shell 应用程序的编制与调试 常用Shell命令在Shell窗口键入help 可查看外部Shell命令i查看已运行的所有任务的TCB tX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川公务员真题2025
- 蚌埠事业单位笔试真题2025
- 第2课 信息处理的好助手说课稿-2023-2024学年小学信息技术(信息科技)第一册(供三年级使用)浙教版(广西)
- 2025加工承揽合同与销售代理合同的区别
- 广东省仲元中学高中信息技术教案实例解析Photoshop图层样式的各项命令
- Unit 3 Mysteries of the World说课稿-2025-2026学年高中英语重庆大学版选修十一-重大版2004
- 本册综合说课稿-2025-2026学年高中体育人教版2019必修第一册-人教版
- 劳动项目三 烹调酸辣汤说课稿-2023-2024学年初中劳动七年级上册人教版
- 六、运动和力的关系说课稿-2023-2024学年初中物理八年级全一册北京课改版
- 2017年高二人教版选修3-1第三章磁场第四节《通电导线在磁场中受到的力》教学设计
- 居室环境的清洁与消毒
- ××领导班子及成员分析研判报告
- GB/T 9124.1-2019钢制管法兰第1部分:PN系列
- GB/T 2518-2008连续热镀锌钢板及钢带
- Frenchay构音障碍评定
- 第二讲国外教育评价的发展历程
- 教育学原理课后答案主编项贤明
- 建筑装饰施工技术-轻质隔墙工程施工课件(-)
- 语言领域核心经验《学前儿童语言学习与发展核心经验》
- 德国工业4.0与数字化制造课件
- 肉制品加工技术完整版ppt课件全套教程(最新)
评论
0/150
提交评论