嵌入式软件开发具有什么特点?有哪些规范及原则?
扫描二维码
随时随地手机看文章
嵌入式软件开发将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。
一、嵌入式软件开发的特点
嵌入式软件的开发具有如下几方面的特点:
1)需要交叉开发工具和环境。由于嵌入式软件本身不具备自主开发能力,即使设计完成以后用户通常也不俞对其中的程序功能进行修改,因此必须有一套开发工具和环境才能进行开发。这些工具和环境一般基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机交叉开发的概主机用于程序的开发、调试,目标机作为最后的执行机构。开发时主机和目标机需要交替结合进行念,
2)软硬件协同设计。软硬件协同设计涉及以下方面: 嵌入式软件设计、实时系统设计、硬件设计和软件设计。软硬件协同设计强调硬件与软件的协同性与整合性、软件与硬件的可裁减,以满足系统对功能、成本体积和功耗等要求
3)嵌入式软件开发人员以应用专家为主。通用计算机的开发人员一般是计算机科学或计算机工程方面的专业人士,而嵌入式软件则是要和各个不同行业的应用相结合的,要求更多的计算机以外的专业知识,其开发人员往往是各个应用领域的专家。
4)软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中。
5)软件代码高质量、高可靠性。尽管半导体技术的发展使处理器速度不断提高,片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度,提高执行速度。嵌入式软件的核心是系统软件和应用软件,由于存储空间有限,因而要求软件代码紧凑、可靠,大多对实时性有严格要求。
二、嵌入式软件开发规范及原则
1.头文件
对于C语言来说,头文件的设计体现了大部分的系统设计,不合理的头文件布局是编译时间过长的原因。
有很多人将工程中所有的头文件包含在一个include.h文件中,然后在每一个.c源代码文件中包含include.h头文件,这样做可以让代码看上去简洁,但实际忽视了编译效率问题,而且代码的可移植性也不好。
原则:
A.头文件中适合放置接口的声明,不适合放置实现;
B.头文件应当职责单一;
C.头文件应向稳定的方向包含。
规则:
A.每一个.c文件应有一个同名.h文件,用于声明需要对外公开的接口;
B.禁止头文件循环依赖;
C..c/.h文件禁止包含用不到的头文件;
D.头文件应当自包含;
E.总是编写内部#include保护符(#define保护);
F.禁止在头文件中定义变量;
G.只能通过包含头文件的方式使用其他.c提供的接口,禁止在.c中通过extern的方式使用外部函数接口、变量;
H.禁止在extern "C"中包含头文件。建议:
A.一个模块通常包含多个.c文件,建议放在同一个目录下,目录名即为模块名。为方便外部使用者,建议每一个模块提供一个.h,文件名为目录名;
B.如果一个模块包含多个子模块,则建议每一个子模块提供一个对外的.h,文件名为子模块名(降低接口使用者的编写难度);
C.头文件不要使用非习惯用法的扩展名,如.inc;
D.同一产品统一包含头文件排列方式。
2.函数
函数设计的要点:编写整洁的函数,同时把代码有效组织起来。
函数整洁的要求:代码简单直接、不隐藏设计者的意图、用干净利落的抽象和直截了当的控制语句将函数有机组织起来。
原则:
A.一个函数仅完成一件功能;
B.重复代码应该尽可能提炼成函数.
上述所有信息便是小编这次为大家推荐的有关嵌入式软件开发的内容,希望大家能够喜欢,想了解更多有关它的信息或者其它内容,请关注我们网站哦。