近年来,计算机技术、通信技术及小型电子设备制造业均取得了飞速发展。以计算机、通信产品、消费电子为典型产品代表的这三大产业正呈现越发明显的整合趋势,即3C整合。
产品制造方面,各厂家都争相以微型化和专业化作为设计、制造产品的核心理念,这使得具备这些特点的产品(即嵌入式产品)成为产业中毫无争议的主流;产品系统软件方面,拥有开放源码、高硬件兼容性、高稳定性、高定制性等特点的嵌入式Linux系统,已让越来越多的企业和研发机构由传统商业系统转向对其的研究开发;新兴的嵌入式操作系统市场上,嵌入式Linux正呈现出惊人增长率。
针对这一热点,本文以对目前嵌入式Linux的开发过程与工具选择分析为主题,力争向读者展示一个清晰的开发框架及实际操作方法指向。
系统开发复杂度确定及成本控制
根据实际构建方法定义,嵌入式Linux是指对标准Linux经过裁剪、固化至设备存储体中,完成特定嵌入式应用的专用Linux系统。
进行系统开发需兼顾软件、硬件两方面资源,针对特定应用,软件系统功能要配合硬件资源来设计。
硬件方面,确定应用范围和性能等级是首先要考虑的,因为二者的选型决定了整个产品的功能及性能,也就大体确定了产品的硬件成本。硬件资源固定后,就可针对所选资源进行软件选型、功能裁剪需求、工具搭配等软件系统方面的分析和定夺了。图1是一般的系统开发流程:
作为一个功能完整的操作系统,Linux能提供嵌入式系统所需的基本内核和所有用户界面。具有内存管理、任务切换和时间服务及其它分拆的微内核到完整的服务器,支持所有的文件系统和网络服务。要使其成为易用且高效的嵌入式系统,前期关键的工作分为Linux版本选择、系统功能裁剪分析、文件系统及工具搭配几步。
首先,按照选定的硬件选择合适的Linux系统版本,标准为系统要支持所选硬件且系统执行速度与硬件性能匹配较好。然后进行系统功能裁剪分析,标准为系统应在满足应用的前提下,尽可能减小尺寸,去掉不需要的模块。最后,为系统选择合适的文件系统及工具,同样以满足应用和减小尺寸为标准。
做好以上系统开发复杂度分析,不仅可较好规划产品开发成本,而且对后续开发过程也起到了关键的需求参照作用。
开发过程与对应开发工具选择
嵌入式Linux系统的开发过程与其对应的开发工具联系十分紧密,完成一个系统的开发,不仅需要大量的工具,而且多以平台交叉开发模式为主:
图1一般的嵌入式Linux系统开发流程
嵌入式Linux开发工具选择的基本依据
工具选择的基本依据主要有以下几点:
◆ 开源性,由于Linux系统本身的开源特性,从版权及成本两方面考虑,配套开发工具也应使用开源软件;
◆ 跨平台性,开发过程涉及宿主机与目标机,体系架构多有不同,因此有的工具需支持多平台;
◆ 精简性,在满足功能前提下,除应尽量使用较小体积的软件外,多功能、高整合度工具的使用也是必不可少的。
声明:LUPA开源社区刊登此文只为传递信息,并不表示赞同或者反对。

迷你博客
日志
相册
群组
分享
电影
问答
停车游戏
奴隶游戏
开源大搜索
项目点评
礼品中心
职业评测
开源博客
新闻阅读
LUPA教程
考试练习
LW3DK开发
开源论坛
下载频道





