如何建立嵌入式系统开发平台_第1页
如何建立嵌入式系统开发平台_第2页
如何建立嵌入式系统开发平台_第3页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本文格式为Word版,下载可任意编辑如何建立嵌入式系统开发平台 1.如何建立嵌入式系统开发平台 2.数据队列 3.串口驱动 4.MODEM接口模块 5.I2C总线模块 6.SPI总线模块 7.其它软件模块 8.1 如何建立嵌入式系统开发平台 平台的概念 平台是一个意义很广泛的词,要精确的定义平台不是件简单的事。在嵌入式系统中的开发平台具有如下特点: 层次性 服务性 规范性 通用性 技术密度 平台是一个意义很广泛的词,要精确的定义平台不是件简单的事。在嵌入式系统中的开发平台具有如下特点: 层次性 层次性首先表现在平台本身具有层次,高层的平台是以低层平台为基础搭建起来的。还表现在每个层次的平台的内

2、部还有层次性。越高层次的平台越简单使用,对使用者的要求也就越低。 服务性 平台是为应用服务的,没有应用的平台是无意义的,没有存在的必要。对于元器件来说,线路板就是它的应用。而API是硬件平台的应用,应用程序又是API的应用。 规范性 通用性 技术密度 平台是一个意义很广泛的词,要精确的定义平台不是件简单的事。在嵌入式系统中的开发平台具有如下特点: 层次性 服务性 规范性 通用性 技术密度 平台特殊是商业平台通常由相关领域的专家建立。这是由于往往需要适应不同的应用的要求,所以其需要的技术含量是很高的。 平台的例子 使用平台开发的优势 应用程序接口这个嵌入式软件开发平台的提出和应用是由于其能够解决

3、当前及今后的嵌入式开发过程中消失的一些冲突。以下是使用嵌入式软件开发平台(API)开发的优点: 缩短开发时间 降低对开发人员的要求 降低开发成本 增加稳定性和牢靠性 降低软件对硬件变化的敏感性 不适合使用平台开发的场合 虽然使用平台开发有许多优点,但其也不是万能的。有一些场合并不适合使用平台开发,这些场合主要有以下几种: 极大批量的产品 这种产品往往要求硬件成本和生产成本最低化。而使用平台开发不行避开带来资源占用的增加,反映到硬件上就是成本的增加。有时这种增加是不行接受的。这种状况不适合用平台开发。 没有合适的平台但产品需要尽快上市时 开发平台是需要时间的,甚至比当前的项目的时间更长。但假如后

4、续有类似的产品,则还是建议开发者逐步建立起自己的开发平台,这会对以后全部的项目带来好处。 需要极度榨取硬件性能的场合 除了极大批量的产品需要极度榨取硬件性能外,估量只有科学讨论和一些一件一件制造的高价值产品(如巨型机)需要这样做了,在一般的企业中应当不简单见到。 建立开发平台的方法 1.选择操作系统 操作系统(OS)是一个基础的软件平台。因此,建立软件开发平台(自己的API)首先需要选择一个合适的操作系统。操作系统的选择与应用相关的,但对于嵌入式系统一般需要选择嵌入式操作系统。 2.制定API规范及应用程序编写规范 有了操作系统,就可以制订API规范和程序编写规范了。这些规范一部分已经被操作系

5、统规定好了,另一部分需要自己制订。建议这些规范尽量靠近与已存在的事实标准,以削减学习时间。 3.猎取成熟的软件模块并修改适合指定的规范 开发人员可以通过各种途径猎取成熟的软件模块,还可以猎取一些商业和自由的软件模块。这些软件模块不肯定适合自己的规范,这就需要对这些软件模块进行进一步的修改或包装以适应自己的规范。 4.编写自己的软件模块 通过外部途径不肯定能够猎取全部必需的软件模块,此时就需要自己编写软件模块了。 编写自己的软件模块 由于开发平台基于操作系统,所以很可能多个任务和/或同时访问同一个API函数。这就需要API函数必需是可重入的。这里主要介绍如何使这些函数可重入,和其它一些内容。 1

6、.使用任务 2.禁止然后允许中断 3.使用信号量 4.使用数据队列 5.禁止然后允许任务调度 6.使用一个任务作为模块服务器 7.复合方法 由于开发平台基于操作系统,所以很可能多个任务和/或同时访问同一个API函数。这就需要API函数必需是可重入的。这里主要介绍如何使这些函数可重入,和其它一些内容。 1.使用任务 有一些设备需要CPU周期为其服务,典型的是扫描显示和扫描键盘。可以给它们安排相应的任务,与用户任务一起调度。这样,就可以使用任何任务间通信的方法实现。 2.禁止然后允许中断 有一些设备需要的访问时间很短,如全局变量。它们可以通过禁止中断访问设备允许中断的方式编写软件模块。 3.使用信

7、号量 一些设备需要的访问时间比较长,使用方法2可能造成关中断时间过长。此时可以使用信号量来编写软件模块。详细过程为申请信号量访问设备发送信号量。 4.使用数据队列 有一些设备具有自己的中断,典型的是串口输出。可以利用消息队列将用户任务需要的服务通过消息队列排队、缓冲起来,利用中断功能依次服务。 5.禁止然后允许任务调度 当中断服务程序不行能访问这个资源时,可以使用本方法避开实现函数重入。但是不推举用户使用此方法。 6.使用一个任务作为模块服务器 当一个软件模块非常简单,使用上述方法难以保证API函数可重入性时,或软件模块需要在单任务环境和多任务环境都能够使用时,可以依照单任务的方式编写,然后编写一个任务作为服务器,由这个服务器直接操作这个软件模块,而其它的任务通过消息队列等方式与之通讯,把需要的操作提交给服务器,而服务器通过消息邮箱等方式返回操作结果。 7.复合方法 有一些驱动程序比较简单(例如通讯协议),可以结合两种或两种以上的方法实现。 编写软件模块由一个要留意的地方是:必需把与硬件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论