账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
Linux与WinCE在SoC嵌入式系统上的移植与模块化设计
 

【作者: 嚴育屏】2001年11月05日 星期一

浏览人次:【5234】

@内文:在嵌入式系统的设计中,软件、硬件与机构设计三足鼎立,缺一不可。笔者以任职于SoC设计公司软件/系统整合方面的多年经验,期能在操作系统上以浅薄的知识与大家一同分享。


操作系统的功能

操作系统(Operation System)经过了二十多年的发展,由以往单纯的DOS,至今天复杂的窗口及网络环境,功能日趋强大,定义亦逐渐模糊。不过,在嵌入式系统中,多任务环境为常见的需求,也因此其操作系统基本上具有下列功能:


Task Schedule Control

负责各个Task的Switching Control,包含Time Slice及Priority问题。而常见的算法为Round Robin或其衍生方式。


Task Communication

不同的Task之间需要互相传递控制信号及数据。一般常见的方式为Message Queue。


Semaphore

当系统上具有某些有限资源(如硬件Device)时,操作系统所提供之信号臂板功能,可确保于同一时间不会有两个或以上的Task存取同一资源,而造成系统状态的混乱甚至当机。


Timer

负责提供时间相关的功能。


除以上基本功能外,目前许多中/大型操作系统还包含General Device Driver、Protocol Modules、Algorithm Modules、Application Modules等延伸功能,以减轻应用程序发展负荷,加速产品发展时程并达成资源共享。


一些商业化的大型操作系统套件,则包含整合发展环境(IDE),提供如Compiler/Assembler/Linker、Downloader、Debugger、Simulato、Performance Profiler等更强大而完整的软件解决方案;如(图一)。


《图一 嵌入式系统中的操作系统功能》
《图一 嵌入式系统中的操作系统功能》

Linux与WinCE的比较

Linux

有着光荣的传统历史,Linux出身自学术界的UNIX,这一脉相传的技术也伴随过大部份计算机信息相关科系人才的求学阶段。「开放」与「免费」是这个操作系统的最大优点,也使得其有一定程度的忠诚支持者。


如同聚沙成塔一般,Linux从核心、文件系统、网络、X窗口到各式的应用程序,随着时间的演进而一一加入,并经由所有用户不断考验与改进。但也由于其免费的特性,除学术机构之外一直并没有强大的力量来建立一些产业标准及完整的文件包装,使得所有的用户皆必须历经一段不算短的学习周期,才能从庞大的原始码中堆砌起自己的程度与知识,进而能将其移植于嵌入式系统的应用中。然而一但建立起此种能力,则往往易于将软件作优化,并达成加值及与他人区隔等目的。


WinCE

微软不是提出窗口概念的第一人,但却把其发扬光大,成就了今日PC世界中的软件巨人,以及众多的第三方,人才及资源。由于看好日后IA等相关嵌入式系统的市场,微软急欲重演十字军东征,期将PC上十余载所发展的资源优势,藉由WinCE这座桥梁「导入」此一新的IA市场,继续其称霸软件业界的雄心。


基本上,WinCE可视为Windows家族的模块化精简版本,其发展环境及链接库的行为亦与Windows大同小异,并支持市面上众多热门的微处理器。熟悉Windows发展环境的人,对WinCE的学习应不致感到太多困难。以往WinCE最为人所诟病的理由之一,为其半封闭性架构造成系统除错的困难。针对这个问题,微软亦已于日前将 WinCE之原始码开放下载(当然授权金仍然要收),显示出其对于IA新兴市场的积极态度。


另外由于是模块化设计,WinCE对于内存的需求视所纳入的模块而易;如(表一)。


(表一) WinCE的内存需求
模块 内存需求
Kernel and file system ~ 400K
Kernel, file system, communications ~ 800K
Kernel, file system, communications, graphics, shell ~ 1.3M
Kernel, File System, communications, graphics, shell, and pocket word ~4M
Browser ~ +3M

比较

其实Linux与WinCE两者不论在技术或概念上皆有太多差异,并没有绝对的优劣;前者好比修道多年的少林高僧,而后者则似配备齐全的特种部队。兹列出(表二)对于两种操作系统做一比较。


(表二) Linux与WinCE的比较
比较项目\操作系统 Linux WinCE
硬件需求 较低 较高
权利金 约USD $10 / Set
产品发展维护人力 较高
产品发展时程
功能/模块数 较少 众多
发展工具 较少 齐全方便
技术支持取得 较难 较易
原始码 完全开放 核心开放
系统弹性
平台互操作性

操作系统的选择与移植关键

操作系统的选择

如同硬件平台的选择,软件操作系统的选择所牵涉的因素甚多,包括市场、资源、定位及技术考虑,以下将分别说明之:


市场因素

目前市场上相关产品以何种系统为大宗?开发时程有无急迫性?公司的获利优势定位为何?


公司资源

是否愿意投入众多软件研发人力?长期培养或打带跑?是否愿意以外购模块方式解决不足?单一投入或平行投资?


产品定位

产品为高阶或低阶?是特定功能的产品,还是通用的应用平台?


技术考虑

是否牵涉与其它系统的互操作性?有无多媒体或数据库系统需求?是否将长期维护?


考虑过以上因素之后,也应该归纳出不同操作系统的应用范围及成本,如(图二),方能选择出最适当的解决方案。


《图二 Linux与WinCE的应用区隔》
《图二 Linux与WinCE的应用区隔》

操作系统的移植关键

硬件平台在进行软件操作系统移植时应有下列步骤:


除错界面移植

这是最重要,也是最基础的第一步。有了除错界面才能为问题开启一道曙光。


启始码移植

内存控制器、记忆区块及必要之硬件启始码移植,有了这些启始码,后续的程序才能在此硬件平台上加载执行。


中断控制器及定时器句柄移植

由于Timer将负责触发Task Switch工作,此步骤攸关后续应用程序等的正常执行。


其它驱动程序撰写

如键盘、显示界面及通讯等其它的硬件驱动码。


良好的界面区隔、撰写格式、说明文件及批注对于移植工作亦有极重要的帮助,可避免不必要的猜测并加快发展时程。


IP与模块化设计概念

SoC的目标

近年来SoC为红极一时的设计趋势,国内的许多IC设计公司也多以此为目标。综观SoC的最终目标可归纳为以下三点:


◆低芯片量产成本;


◆增快芯片研发速度;


◆建立功能市场区隔。


以其中第二点来说,如何能在最短的时间内达成客户所要求的功能,一直是所有SoC厂商的努力方向。由于国内不论系统厂或是上游半导体厂,在过去二十年来所建立的获利模式皆着重于量产成本的降低,在设计研发的基础功夫往往不够踏实。这样的思维于以往单一芯片复杂程度不高的情形下尚可应付,但在今日SoC中晶体管闸数动辄数百万的要求下,就不能不对于这种「每次重头来」的高研发成本,低单位时间产出进行检讨;由此IP (Intelligent Property)的观念便应运而生。藉由IP的模块化及可重复使用特性,单一项目中的各个模块可由不同管道取得而进行整合,达成快速符合市场需求的目的。


模块化设计

虽说模块化设计为众人皆知的良药,但真能静下心来,潜心架构界面规格及说明文件的却不多。如果说标准化是量产的先决条件,那模块化则是可重复使用的不二法门。也唯有建立好完善优质的软硬件模块组件,才能有如医师抓药般对于客户的要求「药到病除」,而非「药到命除」。


从另一方面来说,模块化的前身是界面规格订定。唯有对于软硬件全面考虑下所订出的规格,才能经得起时间的考验,并能被顺利植入其它的模块设计中,而仍保有各模块原有的功能及效能。因此,在缺乏标准化的IA产业中,如何建立合理规格使得模块得以在不同产品重复使用,常更甚重于如何来完成设计。以笔者任职的源捷科技来说,不论从界面规格订定、功能模块分析到细部的原始码写作、验证及整合,皆有以过去经验为基础而建立的完整制度及规范,并以积极态度成功协助许多客户达成SoC的最终目标。


再回到软件的设计上,「面向对象「其实可以为模块化设计建立良好的基础。藉由对象的继承、封装及多形性,我们可以将大系统分类为严谨而可执行的小区块,而一一加以拼凑。当然在业界熟悉面向对象又能善加应用的人才有限,但面向对象的精神仍可经由C语言中的Structure及Function Pointer来达成。虽说初期投入的分析时程较长,但比起后期再来补破网,仍旧是绝对值回票价。


综结

在SoC及嵌入式系统盛行的当前,软件亦成为提高产品价值的关键之一。如何选择适当的操作系统平台有赖于对市场,产品及技术进行审慎评估。Linux及WinCE在功能,成本及时效性上各有不同特性,但在中高阶应用程序共通平台上,WinCE由于继承庞大的PC资源,优势上较为明显。然而除了厂商本身掌握的技术之外,寻求良好口碑的设计服务公司亦为重要课题之一。毕竟在系统日趋复杂,分工逐渐精细,产业持续西进的今日,独大通吃的局面不再;唯有能快速掌握市场,技术并与合作伙伴达成「双赢「的适者,才能于严苛的竞争中脱颖而出!


相关文章
出囗管制风险下的石墨替代技术新视野
用Arduino 打造机器人:循迹、弹钢琴、下棋都行!
树莓派推出AI摄影机、新款显示器
智慧充电桩百花齐放
充电站布局多元商业模式
comments powered by Disqus
相关讨论
  相关新闻
» 英特尔Lunar Lake处理器将於2024年第三季上市 助AI PC扩展规模
» IBM与SAP协作 助企业运用生成式AI提高生产力、创新与获利
» 新思科技利用台积公司先进制程 加速新世代晶片创新
» 明基隹世达集团20+公司 COMPUTEX齐心打造2.0版绿色展会
» 制造业Q1产值4.56%终结负成长 面板及汽车零组件制造创新高


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK85M0WK0PSSTACUKJ
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw