班级规模及环境--热线:4008699035 手机:15921673576/13918613812( 微信同号) |
为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限20人,多余人员安排到下一期进行。 |
上课时间和地点 |
上课地点:【上海】:同济大学(沪西)/新城金郡商务楼(11号线白银路站) 【深圳分部】:电影大厦(地铁一号线大剧院站)/深圳大学成教院 【北京分部】:北京中山/福鑫大楼 【南京分部】:金港大厦(和燕路) 【武汉分部】:佳源大厦(高新二路) 【成都分部】:领馆区1号(中和大道) 【沈阳分部】:沈阳理工大学/六宅臻品 【郑州分部】:郑州大学/锦华大厦 【石家庄分部】:河北科技大学/瑞景大厦 【广州分部】:广粮大厦 【西安分部】:协同大厦
近开课时间(周末班/连续班/晚班):VxWorks应用:2024年11月30日...... |
实验设备 |
◆学时:1个月时间
☆注重质量
☆边讲边练
☆合格学员免费推荐工作
专注高端培训17年,曙海提供的课程得到本行业的广泛认可,学员的能力
得到大家的认同,受到用人单位的广泛赞誉。
★实验设备请点击这儿查看★ |
质量保障 |
1、培训过程中,如有部分内容理解不透或消化不好,可免费在以后培训班中重听;
2、培训结束后免费提供半年的技术支持,充分保证培训后出效果;
3、培训合格学员可享受免费推荐就业机会。 |
师资团队 |
【赵老师】
十几年嵌入式开发经验,精通嵌入式Linux和VxWorks软硬件的开发。曾独立开发完成大型FPGA上基于 VxWorks的以太网传输软件,开发过VxWorks操作系统下的ARM,Intel,PowerPC不同功能的总线外围接口驱
动程序,精通WindML图形驱动设计。熟悉Tilcon Graphics Suite的高级图形用户界面开发和应用,熟悉测试仪器仪表及测试系统集成。
【吴老师】
十多年嵌入式开发经验,精通嵌入式Linux和VxWorks软硬件的开发。曾独立开发基于VxWorks平台的大型通讯工程。精通测试系统集成,测试仪器仪表,以及VxWork BSP、应用等开发。
★更多师资力量请见曙海师资团队。 |
课程进度安排 |
课程大纲 |
课程内容 |
|
|
|
课程目标--- VxWorks应用开发培训班 |
通过vxworks培训课程的学习,学员将可以对当今主流的高端嵌入式操作系统VxWorks有一个全面的了解,具备使用VxWorks开发基于VxWorks的驱动程序、BSP和应用程序的能力。课程目标包括:
1) 熟悉Tornado
2.x/Workbench3.x/VxWorks5.x-6.x的基本原理和应用
2) 熟练掌握Tornado/Workbench3.x集成开发环境的使用方法
3) 熟悉并可以配置、裁剪、编译所需要的VxWorks
4) 能设计和开发基于嵌入式操作系统VxWorks的驱动程序
5) 能够设计和开发基于VxWorks的应用程序和系统
6) 熟悉基于VxWorks应用程序的编译、下载、调试和分析
7) 熟悉基于VxWorks
BSP的设计
本课程注重实际经验的传授,不会照本宣科,重点在于让大家对实时操作系统VxWorks有一个认识,真正会用VxWorks,拿到目标板后清楚如何开始VxWorks的使用及开发。 |
第一阶段 |
|
1. 实时嵌入式系统、VxWorks和Tornado开发环境
1.1 实时嵌入式系统介绍: 实时嵌入式系统,实时嵌入式操作系统,VxWorks概述
1.2 Tornado2.x/Workbench3.x与VxWorks系统组成:Tornado2.x/Workbench3.x集成开发环境,VxWorks系统结构,WIND内核,BSP,应用编程接口,shell,文件系统
2. Tornado/Workbench工程的创建和使用
2.1 bootable工程:工程创建, BSP选择,VxWorks裁减,工程编译/链接
2.2 downloadable工程:工程创建,BSP选择,程序管理,工程编译/链接
2.3 工程调试:断点介绍,程序单步/多步调试方式
3. 开发和仿真工具介绍
3.1 VxSim仿真工具:VxSim的启动,同tagert
server的连接, 仿真运行用户程序
3.2 图形化的交叉调试器和工程配置工具(CrossWind、WindConfig)
3.3 目标机工具集:目标机shell,目标机符号表,显示VxWorks系统信息的函数
3.4 Tornado/Workbench常用辅助工具介绍
|
实验
1、Tornado/Workbench和各种工具的操作;指导学员熟识Tornado/Workbench的界面风格,了解菜单、命令的作用和功能;
2、创建downloadable工程;指导学员创建downloadable工程;
3、创建bootable工程;指导学员使用BSP并创建bootable工程;
4、编写一段小应用程序仿真并调试;通过实验掌握仿真工具的使用和断点的使用;
5、裁剪VxWorks生成目标映像;通过实验掌握如何裁剪自己需要的VxWorks并生成自己的映像;
6、仿真下载、启动系统映像;通过此实验使学员掌握嵌入式VxWorks系统的开发和使用流程。
|
第二阶段 |
4. VxWorks多任务程序设计
4.1 VxWorks任务基础:任务的状态,任务状态切换
4.2 多任务调度方式:抢占式调度,轮转式调度,抢占上锁,优先级和任务调度
4.3 任务编程:任务创建/删除,任务控制, 任务相关函数介绍,
调度控制
4.4 多任务与函数重入
4.5 VxWorks系统任务
4.6 VxWorks任务异常处理:Task错误状态,用户error扩展
5. VxWorks任务间通信
5.1 共享数据结构、共享内存
5.2 信号量:二进制信号量,互斥信号量,计数信号量,共享内存信号量
5.3 消息队列:消息队列状态,消息队列建立/删除,消息队列的发送和接收
5.4 管道
5.5 信号
6. VxWorks内存管理
6.1 VxWorks内存空间布局
6.2 动态内存分配管理
6.3 虚拟内存接口:MMU,虚拟内存配置
|
实验
1、编写一个用户任务;通过实验学员掌握VxWorks下任务的创建方法,充分认识优先级和抢占式的意义;
2、编写双任务互相通信程序;通过实验学员熟悉任务间通信的方式,认识死锁和互斥、同步;
|
第三阶段 |
7. VxWorks中断,异常和看门狗
7.1 VxWorks的中断和异常
7.2 VxWorks中断服务:中断连接、使能、禁止,中断服务程序,ISR的特殊限制
7.3 VxWorks 异常服务
7.4 Watchdog定时器
8.VxWorks I/O和文件系统
8.1 VxWorks I/O系统概述:I/O系统接口,文件和文件名
8.2 基本I/O:基本I/O接口,标准输入输出,ioctl(),等待在多个fd上的select(
)
8.3 有缓冲和格式化的I/O
8.4 本地文件系统
9.VxWorks配置和映像的生成及其启动
9.1 裁剪VxWorks,编译、链接生成映像
9.2 VxWorks启动顺序概述
9.3 VxWorks引导:romInit(),romStart();sysInit()
9.4 激活内核:usrInit();sysHwInit();kernelInit
9.5 根任务:tUsrRoot
10. VxWorks BSP
10.1 BSP介绍
10.2 BSP的组成
10.3 交叉开发、编译
10.6 设备驱动开发中注重的问题 |
实验
1、以串口驱动程序为例,剖析中断机制、中断处理和中断服务例程:使学员掌握VxWorks中断的处理和使用,认识中断和任务间的关系;
2、以一个嵌入式系统实例为对象,分析VxWorks
BSP的实现,剖析组成和系统启动流程;
3、裁减、编译一个嵌入式系统所需要的bootRom映像;
4、裁减、编译一个嵌入式系统所需要的VxWorks映像;
5、创建一个嵌入系统,编译、裁剪生成一套VxWorks系统。
6,串口实验及例程讲解
7,按键中断实验及例程讲解
8,多任务实验及例程讲解
9,多任务信号量实验及例程讲解
10,程序运行效率测量实验及例程讲解
11,多任务消息队列的实验及例程讲解
12,内存管理实验及例程
13,TCP/IP 服务器和客户端通信实验及例程
14,“抢占”实验及例程讲解
15,"优先级反转"实验及例程讲解
16,烧写实验及程讲解
17,网络调试实验及讲解
18,应用程序调试实验及例程讲解
19,调试技巧实验及例程讲解
20,软件仿真调试技巧和调试流程 |
|
课程背景--VxWorks
BSP开发高班 |
VxWorks
BSP开发高级班主要是进行VxWorks下BSP的开发及调试方法以及高级技巧的学习,深入探讨如何根据单板情况选择正确的策略进行BSP的开发,如何高效的提取单板相关信息,解决BSP开发中的一些难点。课程中会结合实际的单板及代码讲解BSP开发中的流程、实用技巧以及新的技术,帮助学员短时间内理解消化和掌握这些高级技巧,并可以尽快应用到工程项目中去。 |
课程目标 |
通过课程的学习,学员将熟悉VxWorks下BSP的开发及调试方法,并通过实例,掌握开发和调试中常见问题的解决思路及技巧,熟悉常见驱动模块的设计方法,具备独立开发VxWorks下BSP的能力。课程目标包括:
1) 掌握VxWorks下BSP的开发职责,开发策略,开发环境及开发工具。
2) 熟练掌握VxWorks下系统的启动流程,以及对kernel的配置。
3) 掌握VxWorks下BSP的中断管理。
4) 掌握VxWorks下BsP的内存管理。
5) 掌握VxWorks下BSP的Timer管理。
6) 熟悉VxWorks下常用的驱动程序的开发方法。
7) 熟练掌握VxWorks下BSP的调试及常见问题的处理方法。
8)了解VxWorks BSP的移植方法。
|
课程进度安排 |
课程大纲 |
课程内容 |
第一阶段 |
1. VxWorks下BSP基本知识的介绍
1.1 VxWorks下BSP的职责,组成及开发流程综述
1.2 VxWorks下系统启动流程
1.3 BSP及操作系统的文件组织结构
2. BSP需要关注的嵌入式系统的硬件
2.1 各种CPU体系架构所需要关注的:指令集,MMU的支持,CACHE,中断处理,硬浮点的支持,大小字序
2.2 总线:总线周期,仲裁,数据传输,中断策略
2.3 存储器:各种存储介质的配置及访问
2.4 设备:Timer,串口,网口
3. 开发环境及策略
3.1 BSP的开发流程及方法
3.2 开发环境的搭建,各种调试工具
3.3 调试BootRom的方法及技巧
4. 系统启动流程概述
4.1 系统启动流程介绍,启动流程图
4.2 BSP目录下各文件的属性及用途
4.3 编译满足要求的各种BootRom及VxWorks程序映像
5. BootRom启动流程分析
5.1 单板相关的文件
5.2 系统启动后第一个文件romInit.s的组成及功能
5.3 调试BootRom需要注意的问题:汇编指令,关于栈
6. 启动kernel前对硬件的初始化
6.1 启动kernel之前代码流程介绍
6.2 内核的激活
6.3 VxWorks内核的调试:调试通道的配置:串口,网口
|
【辅助实验】
1. Tornado/Workbench的目录结构的熟悉,通过一个BSP实例,熟悉BSP的文件组成;
2. 通过一个单板实例,掌握如何根据现有资源获得单板的信息,满足BSP开发的需要;
3. 通过一个处理器实例,掌握如何从芯片资料中获取BSP开发有用的信息的方法;
4. BSP开发环境的搭建以及各种软件调试工具的使用;
5. 通过一个BSP实例,分析系统的启动,使学员清晰VxWorks的启动流程;
6. 通过BSP实例,使学员熟悉BSP工程的搭建方法,makefile及romInit.s文件的设计;
7. 通过BSP实例,使学员掌握如何启动WDB,如何配置调试通道。 |
第二阶段 |
7.存储管理
7.1 内存的分配,BSP中各种地址的意义
7.2 MMU:MMU的使能,配置以及操作系统的接口
8.中断管理
8.1 中断管理概述:中断向量,中断栈,实现中断管理的函数
8.2 中断服务程序的连接
8.3 操作系统关于中断管理的库介绍
8.4 中断控制器的初始化
9. 时钟和定时器
9.1 系统时钟的初始化及配置,中断的连接,服务程序的实现,使能及关闭
9.2 关于辅助时钟及其与系统时钟实现的差异
9.3 时间戳:时间戳的用途,实现
10.BSP相关的设备驱动程序
10.1 串口驱动程序的设计及加载
10.2 END型驱动的设计及加载
10.3 PCIE数据采集驱动的设计及加载
11.VxWorks新的技术的介绍及移植方法
11.1 VxWorks BSP的移植
11.2 BSP开发中信息的获取以及求助渠道
11.3 BSP开发经验的总结 |
第三阶段 |
12.驱动开发的一般流程
13.网络驱动开发
13.1 和网络驱动相关的结构体
13.2 关键函数
13.3 和内核的结合
13.4 网络驱动开发案例讲解
14. 块设备驱动
14.1 块设备驱动关键函数
14.2
块设备驱动开发案例讲解
15.串口开发
16.PCIE驱动开发
16.1 PCIE驱动相关结构体
16.2 PCIE驱动开发中Datasheet中要注意的问题。
16.3
和内核的结合
16.4 PCIE驱动开发案例讲解 |
实验:
1.以网口驱动程序为例,剖析中断机制、中断处理和中断服务例程:使学员掌握VxWorks中断的处理和使用,认识中断和任务间的关系;
2. 通过一个BSP实例,分析使学员熟悉VxWorks下内存的分配;
3. 通过一个具体的单板,分析使学员熟悉如何配置中断控制器完成中断的挂接及使能,并熟悉操作系统的相关接口;
4. 通过一个BSP实例,分析使学员熟悉系统时钟的实现及配置;
5. 掌握串口驱动的开发方法;
6. 通过一个具体的END型驱动,分析使学员掌握以太网口驱动的开发方法;
7. VxWork配置实验及例程讲解
8.PCIE驱动开发实验
9.以Flash为例,通过分析使学员掌握TFFS的实现;
10.块设备驱动实验及其实例讲解
11.串口开发实验
|
|