1 前语
MCU(Micro Controller Unit),又称单片机(Single Chip Microcomputer),是指跟着大规划集成电路的呈现及其开展,将计算机的 CPU、RAM、ROM、定时数器和多种 I/O接口集成在一片芯片上,构成芯片级的计算机。当时 MCU嵌入式体系之间各自关闭开发,不同体系之间的重复作业比较多,大大增加了软件开发的本钱和周期,一起体系的可靠性却得不到确保,MCU嵌入式开发面临着软件规划和复杂性敏捷扩展、开发时刻严重,一起又要确保开发质量的问题。因而,迫切需要新的嵌入式软件开发技能。
1968年,Mellroy在其论文“很多出产的软件构件”中初次提出软件复用的思维,其意图在于探究运用“为了复用意图而规划的软件成分”出产软件的进程,得到人们的高度重视。在各种软件重用办法中,根据构件的软件开发技能 (Component-Based Software Development CBSD)也是人们研讨的热门,并且在实践中也获得了杰出的作用。
构件化的软件进程可以分红范畴工程(开发构件)和运用进程(运用构件开发运用程序)两个独立的子进程。范畴工程是可复用软件财物出产的首要技能手段,它包括范畴剖析、范畴规划和范畴完结 3个阶段。在整个软件的复用进程中,范畴剖析是其要害,只要经过范畴剖析才干得到类似体系中的可复用财物(范畴模型、软件体系结构、可复用构件等)然后进一步支撑范畴中新体系开发的复用。因而构成在 MCU嵌入式体系中的有用的范畴剖析办法是极为重要的。
2 MCU嵌入式体系开发形式及现状
2. 1MCU嵌入式体系开发的形式
现在 MCU嵌入式体系的软件流程根本以包括人机界面处理的主流程 (缓处理)、外部非同步中止处理(急处理)、时序输入为中心,再加上机芯操控处理 (依照必定规矩处理)等各种其他操控组成。MCU每完结一种功用,其处理进程都遵从 IPO形式(Input,Process,Output),如图 1所示。
图1 IPO现状
关于每个形式来说,它的输入参数,输出效果都是固定的格局,所以关于一个老练的形式来说,它的行为是确认的,束缚是清晰的。因为这些特色,可以很明显地观察到 MCU嵌入式体系范畴所具有的内聚性,和稳定性。
因为范畴的内聚性,咱们可以运用相对较少的、有限的可复用信息来反响整个范畴的需求,以及运用。因为范畴的稳定性,咱们经过范畴工程所得到的效果,可以对进行范畴工程所花费的人力、物力在将来的作业中得到补偿。
2.2 MCU嵌入式体系开发的现状
MCU的运用可以深化人类日子的各个方面,要害的原因在于可以经过对软件的灵敏定制以到达不同的功用然后针对不同的运用。跟着功用的日益增长,MCU嵌入式体系的开发难度也随之加大。假如内藏 ROM容量在 8K字节之内,有经历的技能人员可以独自一人花费 2-3月用汇编语言进行软件开发,而超越 16K的 ROM想要独自完结会更有困难。特别在消费电子范畴,产品的更新换代从曾经的年为单位到现在的以月乃至以周为单位,这导致在以产品质量为生命的企业中,发生质量问题而不得不很多召回产品构成巨大丢失的状况层出不穷。值得注意的是,在开发中,有经历的开发者通常会挑选性的复用曾经的作业效果(代码、软件体系、东西、文档),但这种复用一般是个人的,复用的来历也是个人曾经的经历效果。在一个特定的范畴中,例如一个企业中,这样的复用是经常性的,它们有着以下的特色:
· 一个范畴内可复用的资源和复用的机会是十分多的,但通常状况下无法对可复用资源进行办理,无法决议何时复用以及复用的方法,然后无法对产品的质量进行有用操控。
· 一个范畴内把握某种复用资源的往往是个别,复用资源无法同享,构成资源的糟蹋和出产力不能进一步的进步。
· 因为把握资源的个别的脱离,导致资源的丢失 ;新参加的个别无法体系地获得这些资源,而导致作业功率的下降。
这种复用被称为个人复用(ad-hoc reuse)。假如可以对范畴内资源进行有用的整合,经过更有用的方法进行办理、复用,将能进一步进步软件产品的出产功率、下降出产本钱以及进步产品的质量,这种方法被称为体系复用 (systematic reuse)。范畴工程正为处理这一系列的问题提出了处理方案。
3 范畴工程与范畴剖析
3. 1范畴的意义
范畴是指一组具有类似或附近软件需求的运用体系所掩盖的功用、问题、问题处理方案或常识区域。范畴可分为水平范畴和笔直范畴:水平范畴是指根据运用体系内部模块的功用性分类而得到的类似问题空间,如数据库体系、作业流体系等 ;笔直范畴是指具有类似事务需求的一组类似运用体系所掩盖的事务区域,而咱们的 MCU嵌入式体系范畴则归于笔直范畴。
3.2范畴工程
范畴工程是为一组类似或附近体系的运用工程树立根本才能和必备根底的进程,它掩盖了树立可重用的软件构件的一切活动。范畴工程对范畴中的体系进行剖析,辨认这些运用的一起特征和可变特征,对描写这些特征的目标和操作进行挑选和笼统,构成范畴模型,根据范畴模型发生范畴中运用一起具有的体系结构,即特定范畴的软件体系结构 (Domain Specific Software Architecture DSSA),并以此为根底,辨认、开发和安排可复用构件。