软考在线  |  计算机技术与软件专业技术资格(水平)考试   |   [请选择科目]
[ 成为 VIP会员 ]        登录  |  注册      我的  购物车
0
 
科目切换  联系我们 
    
  |   [请选择科目]

VIP:有效提升20分!  真题  历年真题 (可免费开通)/  百科全书/ 机考模拟平台/  最难真题榜/  自测/  攻打黄金十二宫/  真题检索/  真题下载/  真题词库
知识   必会知识榜/  最难知识榜/  知识点查询/      文档   学习计划/  精华笔记/  试题文档     纸质图书   《百科全书》HOT!!/         /        首页/  2025年上半年专区/  手机版/ 
首页 > 知识点讲解
       无操作系统的软件移植
知识路径: > 嵌入式系统软件基础知识 > 嵌入式系统程序设计 > 嵌入式应用软件移植 > 无操作系统的软件移植 > 
考试要求:掌握      相关知识点:2个      
        如果在一个嵌入式系统中,软件的开发是直接在硬件平台的基础上进行的,没有使用操作系统。那么当处理器等硬件设备发生变化时,需要把原有的应用软件移植到新的硬件平台上运行。一般来说,对于这一类的嵌入式系统,它们的应用软件通常都比较简单,软件的代码量不是很大。在移植的时候,如果编程语言使用的是与处理器密切相关的汇编语言,那么移植将会变得非常困难,甚至是不可能的。此时的移植类似于重新开发,当然在数据结构和算法的层面上还是可以重用的,这里不考虑这种情形。
        如果软件大部分是用C语言开发的,那么可以考虑移植问题。一个好的程序设计应该是模块化和层次化的,而C语言的最大优点是可移植性比较好。
        基于层次化的嵌入式应用软件通常设计成下图所示的结构,其中,软件可分为两层结构,I/O模块属于设备驱动程序层,它以嵌入式硬件为运行平台,实现了各种I/O设备的输入/输出功能,并向上层的应用软件提供相应的I/O接口函数API,如控制功能、数据读写等。这些接口函数被设计成与硬件无关的,因此在移植系统时,只需要重新编写与处理器有关的I/O模块即可,不需要修改该模块的API。移植的工作量主要体现在I/O的编码工作上。
        
        基于模块化的嵌入式软件结构
        可以对上述软件结构作进一步的细化设计,如下图所示。在这种体系结构中,在处理器的硬件层之上添加了一个硬件抽象层,这层软件把不同类型的硬件进行了封装和抽象。对于I/O模块,它不再是直接面对处理器硬件,而是基于硬件抽象层。也就是说,它被设计为与硬件无关的。这样的3层软件结构的优点是需要移植的代码进一步减少,移植的工作量也进一步减少。
        
        具有硬件抽象层的软件结构
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。



京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2025 All Rights Reserved 软考在线版权所有