- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chapter7裸机系统软件开发.ppt
例: 硬件: Z80,STD总线——工业PC 软件: DOS的DCS——windows平台、Vxworks平台 * 5.2裸机系统的软件移植 裸机系统的特点 通常比较简单(如8位字宽) 使用汇编语言或C语言开发 不易移植的情况 汇编语言开发 跨平台 模块化差 * 基于硬件抽象层可移植软件结构 * 应用软件 输入/输出模块 处理器硬件 应用软件 硬件抽象层 处理器硬件 输入/输出模块 硬件相关 可移植性结构 硬件抽象层的特点 硬件抽象层具有与硬件密切相关性; 为上层应用软件的开发提供统一的接口 接口定义的功能应包含硬件或系统所需硬件支持的所有功能; 接口定义简单明了,太多接口函数会增加软件模拟的复杂性; 具有可测性的接口设计有利于系统的软硬件测试和集成。 * 应用软件 硬件抽象层 处理器硬件 输入/输出模块 硬件抽象层设计方法和原则 软件硬件并行、协同设计 分析接口的数据传输特性(双向/单向数据传输,字节型/数据帧型传输模式); 分析接口配置属性; 定义接口所需的相关函数。 * 应用软件的开发原则 不直接操作硬件 调用硬件抽象层的接口函数 完成面向应用的软件开发 * 硬件抽象层例子 RS232串行通信接口 发送功能 接收功能 模式、参数设置功能 控制功能 对于MCS51,8251,16450/16550,etc设计同样的接口函数, uart_putc(uint8 ch, uint8 c); uart_getc(uint8 ch, uint8 *buf); uart_puts(uint8 ch, uint8 *pstr); uart_gets(uint8 ch, uint8 *pbuf); uart_init(uint8 ch, uint8 rate, uint8 data_len, uint8 check, uint8 start_bit, uint8 stop_bit); * 应用程序中使用可移植的UART的功能 初始化uart uart_init(…) 发送一个字符 uart_putc() 接收一个字符 uart_getc() * 5可移植应用软件的设计原则 嵌入式系统开发的初期考虑移植问题 设计原则 层次化 模块化 层次化与模块化的结合 可设计硬件抽象层 可设计操作系统抽象层 * 5.5.3层次化与模块化的结合 * datatype.h /* 基本数据类型 */ typedef unsigned char BOOLEAN; typedef unsigned char UINT8; typedef signed char INT8; typedef unsigned short UINT16; typedef signed short INT16; typedef unsigned int UINT32; typedef signed int INT32; typedef float FP32; typedef double FP64; * 可移植数据类型的定义 基于中间层的系统设计的特点 优点 可移植性好 缺点 效率低 例子: ODBC * 小结 嵌入式系统的软件结构 裸机系统 含有操作系统的复杂系统 关于嵌入式应用软件的移植问题 可移植系统的设计 * 作业思考题 针对于每一种(共4种)裸机系统的设计方法,各举一个应用的例子,并用类C语言描述你的方案 熟悉嵌入式操作系统的基本概念和术语 * 嵌入式系统基础 第7章 裸机系统的软件开发 fittingsoft@ * 嵌入式软件开发内容 开发系统软件---通用性 操作系统 协议栈 GUI 库函数 软件组件与IP(知识产权内核) 开发应用软件-专用性 在嵌入式操作系统之上进行开发 在硬件层上进行开发 * 本章内容 软件的结构和组成 监控程序 裸机系统软件的设计方法 软件的移植问题 可移植应用软件的开发原则 * 本章目的 了解嵌入式系统的软件结构与组成 掌握裸机系统的软件结构及应用 前后台结构 中断驱动结构 巡回服务结构 基于定时器的巡回服务结构 了解可移植程序的设计原理,掌握可移植程序的设计方法 * #include stdio.h //普通程序 main() { printf(“hello,world\n”); } * 1 软件的结构和组成 #include stdio.h //嵌入式软件主程序 main() { while(1) { action1(); action2(); … } } * 嵌入式系统的软件开发问题 嵌入式操作系统。 操作系统与应用软件的集成。 软件的结构。 嵌入式系统的软件是没有出口的,程序不能“退出”,整个程序的结构应该是无限的循环。 嵌入式系统的软件设计需要考虑硬
文档评论(0)