《嵌入式系统课程设计》[99M]百度网盘|pdf下载|亲测有效
《嵌入式系统课程设计》[99M]百度网盘|pdf下载|亲测有效

嵌入式系统课程设计 pdf下载

出版社 机械工业出版社京东自营官方旗舰店
出版年 2015-04
页数 390页
装帧 精装
评分 9.5(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供嵌入式系统课程设计电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

内容简介

  综合实践是嵌入式系统教学中的重要实验环节。
  《嵌入式系统课程设计/高等院校计算机课程设计指导丛书》是基于VxWorks操作系统的嵌入式系统综合实践教材。
  在《嵌入式系统课程设计/高等院校计算机课程设计指导丛书》的前导部分,介绍了VxWorks/Tornado的基本知识,概述了VxWorks综合课程设计的特点与分类,以及综合课程设计的基本类型与步骤。
  在《嵌入式系统课程设计/高等院校计算机课程设计指导丛书》的核心部分介绍了控制类、模拟器类、游戏类、实用软件类……等类型课程设计的基本解决方案、关键技术和实验要点。
  在《嵌入式系统课程设计/高等院校计算机课程设计指导丛书》给出的两个到三个嵌入式综合课程设计实验讲解中,涉及到了选题说明、功能设计、任务划分和模块划分、详细设计、测试设计、测试用例、测试报告、运行结果等教学范例内容。
  《嵌入式系统课程设计/高等院校计算机课程设计指导丛书》可作为高等院校研究生、本科生进行嵌入式系统教学或者案例教学的教材,也可作为工程技术人员和嵌入式系统爱好者的参考读物。

内页插图

目录

前言

第0章 引言
0.1 对读者基本知识和技能的要求
0.2 对读者自行开展课程设计的期望

第1章 VxWorks/Tornado概述
1.1 VxWorks基本组成
1.2 VxWorZks特点
1.3 Tomado概述
1.4 VxWorks任务管理
1.4.1 任务状态转换
1.4.2 任务框架
1.4.3 任务相关API函数
1.4.4 任务相关API函数使用范例
1.5 VxWorks任务间通信
1.5.1 信号量
1.5.2 信号量语句编程实验
1.5.3 消息队列
1.5.4 消息队列语句编程实验
1.5.5 管道
1.5.6 信号(软中断)
1.5.7 进程间通信函数综合使用范例
1.6 VxWorks中断机制
1.7 VxWorks设备驱动
1.7.1 VxWorks设备描述符
1.7.2 VxWorks的I/O系统
1.7.3 基本I/O接口
1.7.4 安装VxWorks驱动程序
1.8 VxWorks图形组件
1.8.1 WindML 3.0
1.8.2 通用图形库
1.8.3 WindML基本知识
1.8.4 UGL获得输入设备信息的详细解释
1.8.5 典型WindML绘图程序结构
1.8.6 UGL常用的窗口函数
1.9 小结

第2章 嵌入式系统课程设计概述
2.1 嵌入式课程设计的基本特点
2.2 嵌入式课程设计的教学目标
2.3 嵌入式课程设计的基本分类
2.3.1 控制类课程设计
2.3.2 模拟器类课程设计
2.3.3 通信类课程设计
2.3.4 地理位置服务类课程设计
2.3.5 游戏类课程设计
2.3.6 实用工具类课程设计
2.4 嵌入式课程设计的基本步骤
2.4.1 选题说明书
2.4.2 可行性分析
2.4.3 概要设计
2.4.4 任务划分
2.4.5 常用编码规则
2.4.6 头文件编程范例
2.4.7 代码优化
2.4.8 测试方案设计和测试用例
2.4.9 测试报告
2.4.10 实验文档编写指导
2.5 小结

第3章 控制类课程设计
3.1 LED点阵汉字滚行显示扩展板
3.1.1 软硬件开发环境
3.1.2 硬件功能分析与设计
3.1.3 扩展板电路设计
3.1.4 汉字显示原理
3.1.5 软件功能分析与设计
3.1.6 驱动程序设计
3.1.7 测试方案设计
3.1.8 测试应用程序设计
3.1.9 CPLD程序注解
3.1.10 VxWorks驱动程序注解
3.1.11 驱动程序测试步骤和测试结果
3.2 其他实现方案
3.3 思考题
3.4 替换练习
3.5 小结

第4章 模拟器类课程设计
4.1 列车自动售票机模拟器
4.1.1 概述
4.1.2 自动售票机软硬件环境需求
4.1.3 自动售票机用户需求
4.1.4 功能分析和设计
4.2 数据分析
4.2.1 主要结构体数据变量定义
4.2.2 数据流分析
4.3 任务划分和定义
4.4 人机交互设计
4.4.1 主函数progStart设计
4.4.2 usrApplnit函数
4.4.3 模拟钱币输入时间限制处理
4.5 进一步理解TTVM程序
4.5.1 完整源代码清单阅读指南
4.5.2 任务处理流程的着色说明
4.5.3 二进制信号量使用分析
4.5.4 消息队列使用分析
4.5.5 其他IPC语句使用
4.6 任务执行流程分析
4.6.1 LCD任务的处理流程
4.6.2 触摸屏任务的处理流程
4.6.3 计算任务的处理流程
4.6.4 输入任务的处理流程
4.6.5 输出任务的处理流程
4.6.6 键盘任务的处理流程
4.6.7 LED数码管任务的处理流程
4.6.8 自动售票机模拟器的主要函数
4.7 测试方案设计
4.8 异常处理测试方案设计
4.9 测试结果和故障排除
4.10 思考题
4.11 联网自动售票机模拟器
4.12 小结

第5章 网络游戏类课程设计
5.1 跳棋溯源
5.2 联网跳棋电子游戏简介
5.2.1 软硬件环境
5.2.2 主要功能
5.3 跳棋游戏运行指南
5.3.1 运行前的准备工作
5.3.2 游戏操作说明
5.4 自然人走棋版本系统设计
5.4.1 主界面设计
5.4.2 棋位极坐标系设计
5.4.3 绘图坐标系设计
5.4.4 主要数据结构和数纽賦值
5.4.5 颜色确定算法
5.4.6 旋转映射算法
5.4.7 走棋规则
5.4.8 光标改变及走棋设计
5.4.9 可达棋位搜索算法
5.4.10 游戏胜利的判断及排名和记录步数算法
5.4.11 判断当前和下一步该谁走棋的算法
5.4.12 程序模块划分
5.4.13 任务划分
5.4.14 数据包结构描述
5.4.15 网络通信处理流程
5.4.16 光标闪烁的实现及信号的使用
5.4.17 程序间通信
5.4.18 图形界面绘制
5.4.19 函数
5.5 任务函数处理流程
5.5.1 progStart任务
5.5.2 taskGame任务
5.5.3 taskGlint任务
5.5.4 taskRecv任务
5.5.5 taskTick任务和taskTimeShow任务
5.6 机器走棋版本系统设计
5.6.1 跳棋游戏平台描述
5.6.2 可判优坐标系设计
5.6.3 机器走棋的棋盘坐标系变换
5.6.4 智能走棋策略
5.6.5 数据结构改动
5.6.6 程序模块改动
5.6.7 taskCMP任务工作原理及流程图
5.6.8 开局阶段走棋函数说明
5.6.9 中局阶段走棋函数说明
5.6.10 收尾阶段走棋函数说明
5.6.11 循环走棋判断
5.6.12 程序间通信
5.6.13 每步走棋等待时间设置
5.6.14 增加的函数
5.7 机器走棋版本编程指南
5.7.1 跳棋B版本的工程文件
5.7.2 处理流程总控制结构
5.7.3 对模板程序中智能走棋算法的改造
5.7.4 改造后的程序测试及算法评估
5.8 编码过程中的故障排除
5.9 设计测试方案并进行测试
5.9.1 测试方案
5.9.2 测试实施
5.9.3 6个自然人玩家的实测记录
5.9.4 4个自然人玩家的实测记录
5.9.5 2个自然人玩家和1个机器玩家的实测记录
5.9.6 2个机器玩家的实测记录
5.9.7 2个自然人玩家和4个机器玩家的实测记录
5.9.8 6个机器玩家的实测记录
5.10 机器棋手博弈走棋算法
5.10.1 博弈走棋的图例说明
5.10.2 红色玩家的优选走棋路径
5.10.3 黄色玩家的优选走棋路径
5.10.4 绿色玩家的优选走棋路径
5.10.5 浅蓝色玩家的优选走棋路径
5.10.6 深蓝色玩家的优选走棋路径
5.10.7 紫色玩家的优选走棋路径
5.10.8 当前玩家敏感走法案例图解
5.10.9 博弈算法基本处理流程
5.11 功能扩展练习和替换练习
5.12 小结

附录 WindML绘图程序例子

参考文献

前言/序言

  嵌入式系统课程的教学内容大致包括:嵌入式处理器、现场可编程逻辑器件设计、嵌入式操作系统、嵌入式调试技术、外部设备与驱动、软硬件协同设计、典型应用项目、高级语言程序设计等。这门课程的教学内容多,系统性和综合性的特点较强。只从课堂上学习这些理论知识是远远不够的,需要通过各种课程内和课程外的实验活动来深化、夯实、巩固对嵌入式理论与知识的理解,进而掌握嵌入式系统设计和开发的主要方法和技能。因此,实验是嵌入式系统课程的重要环节。
  一般而言,嵌入式系统教学实验活动可以分为单项实验、课程设计和自主创新实践三个类别。
  1.单项实验单项实验是基础实验,属于软硬件工作原理的验证性实验。单项实验的典型代表有硬件实验、软件实验和软硬件实验。硬件实验主要指单个外部设备的裸板驱动程序和实验板的引导加载程序实验。软件实验主要指操作系统的特别函数功能实验,还包括高级语言的特别函数功能实验。软硬件实验主要涉及外设驱动和控制程序的综合实验,例如在开发板的LCD模块上显示表达式和计算结果的计算器实验,以及多个开发板联网的黑白棋实验。
  通过单项实验,学生可以在嵌入式实验平台上验证理论知识、工作原理、编程技巧和技术解决方法。以基于ARM处理器和VxWorks操作系统的实验平台为例,单项实验可以包括:Tornado集成开发环境实验、WindSh命令实验、VxWorks组件裁减实验、模拟器VxSim应用实验、软件逻辑分析仪WindView实验、实时多任务实验、字符设备驱动实验、网络驱动实验、IPC实验、闪存实验、WindML图形用户界面实验等。
  单项实验的特点是面向技术细节,引导学生逐步掌握硬件器材的运作机制和函数编程原理,训练学生掌握嵌入式开发过程中的一个单项作业。单项实验所需要的实验时间长短不一。举例来说,工具和操作界面类型的实验借助实验指导书可以在几分钟内完成,含有源代码的实验则需要学生投入较多的时间理解和消化。例如,一个LCD驱动程序实验大约需要学生一到两天的时间进行源代码阅读,这样才能完全理解该LCD控制器各个寄存器的作用,以及LCD驱动程序的架构和编程方法。
  单项实验有许多不足。首先,如果学生没有足够的时间通读源代码,就容易造成即使得到了正确实验结果,但也不理解程序内部流程的“知其然不知其所以然”现象。此外,单项实验的程序多半是实验平台供应商已经开发好并且经过调试、排错的。直接阅读经过他人调试好的程序,而不经过调试和排错,实验者对现有程序的认识就比较肤浅,容易停留在表面,无法深入理解程序代码的细节与技巧。为了克服单项实验的局限性,需要让学生掌握单项实验编程的要领,如让实验者对于每一个单项实验至少完成一个替换练习或者修改练习。例如,变换高分辨率LCD输出画面的外观,让学生理解图形用户界面相关函数的作用、功能和编程方法。又例如,对包含三个外设驱动的组合单项实验程序,添加另外两个独立的外设驱动,做到在集成开发环境下编译通过,并且要求这5个外设都能够在调度程序的协调控制下正常动作。这样就让学生理解了开发板上裸板运行系统的生成原理,它是经过对多个单独外设驱动程序进行集成和控制而获得的。
  2.课程设计一般认为,嵌入式系统课程设计是一种学生在学校学习期间,结合在嵌入式系统课程中学习得到的理论知识,自主独立完成的较大编程规模的应用实验。所以也可称之为嵌入式系统课程设计实验,或者嵌入式系统综合课程设计实验。上述这三个术语的内涵基本是一致的,都表达了一个意思,即课程设计是嵌入式系统教学中的一个重要实验环节。
  参考百科知识门户网站(例如百度百科、互动百科)的定义,嵌入式系统课程设计是“为掌握嵌入式系统课程教学内容所进行的实验设计或者实践”。它的含义大致与嵌入式系统综合实践工程(或者嵌入式系统综合实验工程)的含义相当。
  我们认为,对于高等院校IT专业的学生而言,嵌入式系统课程设计实验就是让学生综合在校期间已经学习到的各门课程知识和技能,针对一个简单的实际项目解决方案或者一个简单的应用原理,开动脑筋,完成项目构思以及实验方案设计、开发、测试和文档制作的全套作业,以提高应用能力和动手操作能力。由于嵌入式系统课程设计(实验)或者综合实践工程都应该在一个学期的一门课程里完成,两者的含义非常接近,可以认为一门课的课程设计就是这门课的综合实践工程,反之亦然,因此,在本书里,我们不加区别地使用这两个名称。
  课程设计实验是单项实验项目的集成实验或者综合应用实验。例如开发一个在嵌入式开发板上运行的图形数字时钟,就需要在高分辨率的液晶屏上绘制一个具有交互功能的指针式时钟和数字时钟,它是键盘驱动、LED七段数码管驱动、LCD驱动、触摸屏驱动、RTC编程、GUI编程、控制程序编程等多个单项实验的无缝衔接与集成。
  嵌入式综合课程设计实验具有一定的难度,而且经常具有工程性质和原型开发性质。多数情况下课程设计实验不是单项实验的简单堆砌,可以认为它是介于高等院校的实验项目与专业团队研发项目之间的过渡性实验工程项目。学生在学校经受了课程设计实验的实训之后,到了工作岗位就能够较快地熟悉所面临的工作,独立地完成工作任务。
  在课程设计实验的开始阶段,学生通常得不到现成的解决方案和答案。因此让学生自己思考、查阅参考资料、最终完成可行性分析和设计报告是比较好的做法。这要求学生投入较多的时间和精力。在许多情况下,由于课程设计的功能综合性强,工作量比较大,经常需要两人或者更多人组成团队才能够完成。这样就提供了一个团队工作的实验环境,学生可以从中体验嵌入式开发团队的工作方法。综合课程设计实验一般要求学生在学校课程学习的中间阶段着手进行,并且在全部课程结束之前完成。
  3.自主创新实践自主创新实践是比课程设计或者综合实践层次更高的实验活动,它需要更加综合的理论知识和实践技能,这往往超越了一个专业课程群的知识范畴,与多个专业的课程相关。以嵌入式系统的自主创新实践为例,它涉及处理器技术、软件技术、电子工程、自动控制技术、通信技术等,工程开发性质更加突出,要求的技术水平更高。
  自主创新实践强调应用和实用,要求实验成果能够产生一定的经济效益或者社会效益,至少能够产生一个好的教学案例。例如设计开发一个嵌入式处理器的指令集模拟器就是一个很好的自主创新实践活动。如果开发成功,就有可能投入实际的科研或教学运用中,也有可能作为嵌入式软件工具产品出售。
  自主创新实践具有提高开发水平、深入关键技术和注重细节的特点。一个自主创新实践项目往往就是一个产品原型的正式开发。在实践过程中,通常由教师和学生共同组成一个研发团队。这样的团队会提出不低于当前技术水平的解决方案,最终给出一个完整、可运行的工程原型,而且在设计、编码、测试、试运行的各个阶段提供质量合格、文笔流畅、图表规范的文档。
  自主创新实践还常常具有产、学、研相结合的特点。企业和科研院所的技术人员也可以加入以教师和学生为主的团队中,参与实践项目开题、项目咨询、项目评估、项目测试和项目鉴定等活动。业界专业技术人员的参与对提升学生的专业技能意义重大,使他们能够接触到嵌入式专业工作者的观点和做法,从更加广阔的视野来考虑实践活动中所遇到的技术创新问题。产、学、研相结合能够使培养出的毕业生具有较强的适应能力,毕业后能够更快地适应自己的工作岗位。
  本书的编写背景本书署名作者当中的前三位是南京大学的校友,第4位是南京邮电大学的EDA实验室高级实验师。从2004年到2013年,四位作者都先后参加过嵌入式系统课程设计的实验活动。
  在南京大学计算机系历时近10年的本科生和研究生嵌入式系统课程教学中,使用的硬件嵌入式实验平台之一是CVT2410(创维特公司的ARM9实验箱产品),使用的典型操作系统之一是VxWorks5.5/Tornado2.2,使用的与VxWorks配套的图形用户界面是WindML3.0。在参与嵌入式系统教学和实验的过程中,作者们一再强调实验环节的重要性,并对修课学生参加实验环节给予力所能及的指导和帮助。
  在VxWorks的实验教学活动中,我们整理出50多个单项实验,并在此基础上先后提出了近十个课程设计让优秀学生实践,包括:自动洗衣机模拟器、实时时钟、华容道、飞行棋、联网跳棋、自动售票机模拟器等。
  由于我国目前嵌入式系统综合课程设计的教材还比较少,而在实际教学过程中学生对这一类图书又有较大的需求,作为嵌入式系统课程的任课教师,我们有责任帮助学生解决综合课程设计的实验用书问题。为了给学生提供一个开发步骤合格、流程正确、能启迪思维的教学用书,我们从2010年起就开始着手制订编写计划,准备对其中的若干个课程设计的工作原理、任务功能、任务划分、任务设计方案和测试方案做出较为全面的总结,写作一本实验项目案例教材。基于这个计划,我们一边致力于嵌入式系统课堂教学,一边致力于实验环节的实践、指导和管理。在陆续积累VxWorks教学和实验的基础上,我们优选了3个比较完善的课程设计作为重点加以剖析和描述,逐步地编写出本书的各个章节。
  通过阅读本书,读者可以加深对VxWorks重要知识点的理解,掌握嵌入式系统课程设计的概貌与过程,并借鉴本书的三个课程设计对书中提出的其他典型课程设计项目加以尝试,提高嵌入式系统设计与开发的技能。
  致谢在本书的编写过程中,参考和借鉴了许多专家学者的研究成果,我们在列举参考文献时可能有疏漏,在此向相关所有者和机构表示诚挚的谢意。
  由于作者专业教学水平有限及编写时间紧,书中难免有不当甚至错误之处,恳请读者批评、指正和评价,与我们一起对书中内容进行完善。我们对来自读者的评价、批评和建议信息表示欢迎和致谢,将认真地考虑并酌情处理。