软件开发与应用
Software Development And Application
电子技术与软件工程
Electronic Technology & Software Engineering
嵌入式系统中C 语言编程软件设计
刘林芳
(长沙华中涉外职业高中湖南省长沙市 410000 )
摘要:本文为了克服传统方法存在的编程过程耗时长、软件空间资源占用率高等问题,本研究提出了一种嵌入式系统中C 语言编程 软件设计方法。首先对嵌入式系统的层次架构展开设计,在此基础上,通过代码调控、循环设计和函数表达设计过程,完成对C 语言编程 软件的设计。实验结果表明:提出的嵌入式系统中C 语言编程软件设计方法具有编程过程耗时少、软件空间资源占用率低、运行准确率高 的应用优势。
关键词:嵌入式系统;C 语言;编程软件;编程过程耗时;空间资源占用率
1引言
嵌入式系统是一种可以独立、自主运行的计算机器件,其特点 在于其中的软硬件可裁剪。嵌入式系统主要由软件及硬件两部分组 成,C 语言是其软件功能开发过程中应用最为广泛的一种计算机语
古[1-21
口
〇
C 语言计算的灵活性较高,且管理与维护较为容易,可在很大 程度上提高嵌入式系统编程软件的拓展性和高效性。为此,设计嵌
入式系统中C 语言编程软件的重要性不言而喻131。
目前,常用的编程软件主要有文献w 中提出的基于ZYNQ - 7000的远距无线时间同步系统的C 语言编程软件设计方法和文献151 中提出的基于C 语言技术的计算机软件编程设汁方法。但在实际的 应用中发现,上述传统方法存在编程过程耗时长、软件空间资源占 用率高、运行准确率低的问题,使得其可靠性大大降低。
为有效解决传统方法存在的不足,本研宄设计了一种嵌入式系 统中C 语言编程软件设计方法,以期为嵌入式系统的发展提供可靠、 有效的技术支持。
2嵌入式系统层次架构设计
伴随着现代计算机技术的飞跃式发展,嵌入式系统的功能性也 越来越强大,与此同时,其技术性也逐渐变得愈加复杂[64]。因此, 为有效提高嵌入式系统软件部分的开发以及运行效果,本研究提出 对其展开层次架构设计。2. 1层次架构设计思路
本研究以层次化划分为理念,将嵌入式系统中编程软件部分规 划为不同的层次架构,每个架构对应不同的软件模块,与此同时确 定模块与模块间的关联性。层次架构的设计思路如下:
(1)
本研究将嵌入式系统的层次架构划分为数据整理层、分 析处理层以及功能展示层三个主要的部分,各层次架构之间的功能 呈现出渐进的关系。应用过程中,注重嵌入式系统各个功能模块的 协调性和层次性,针对相同的问题,对不同的层次架构均可提供有
效的处理方案,上一层次架构的运行需依靠下…层次架构的支撑;
(2) 保障嵌入式系统软件模块功能的高内聚与低耦合,在划
分其层次架构的过程中,按照任务分析、功能选择、重用程度的顺
利实现;
(3)
尽可能地降低层次架构与层次架构间的相关性,以此来
避免因某一层次架构发生故障而对整个嵌入式系统软件模块产生影
响。
2. 2层次架构设计方法
本研宄设计的嵌入式系统软件模块层次架构设计方法的步骤如 下:
步骤一:按照递进式的方式对嵌入式系统的功能需求展开分析, 并将其抽象化,从而确定嵌入式系统的概念层次,再将概念层次变 化为软件层次。上述步骤是一个明确功能需求并将其变化为开发设
计需求的过程|9^;
步骤二:按照反向递进式的方式对嵌入式系统硬件部分的功能 需求展幵分析,并将其抽象化,从而细化出必要的嵌入式系统硬件 环境操作原语。针对嵌入式系统来说,规模庞大的幵发过程是通过 软件编程设计来实现系统硬件的各项功能的过程。封装硬件功能能 够有效降低嵌入式系统开发过程的繁杂性,同时也可以提高嵌入式 系统软件编程代码的复用性|IM21;
步骤三:按照递进式和反向递进式相融合的方式,逐级检查相 邻的两个层次架构间的调用关系,在此基础上,保障二者间数据交 流的畅通性,从而保障每一个层次架构上的调用都有效;
步骤四:对嵌入式系统软件模块的每一个层次架构的功能实施 整合处理,优化其各项功能,以此来达到软件模块最优化,这一过 程也是对软件编程代码重用的最优选择过程。3 C 语言编程软件设计
在上述设计嵌入式系统层次架构的基础上,利用C 语言技术对 其中的编程软件展开设计。3. 1代码调控
尽管标准的C 语言幵发过程缺少软件框架管理,但结合上述设 计的嵌入式系统层次架构,可建立嵌入式系统的管理原则,从而提 高对编程代码的组织管理和调控开发能力。3.1.丨代码管理
首先按照层次划分的原理对代码目录实施组织管理,主程序代 码以及头文件置于根目录中,其余文件置于其余文件夹中,文件 名的格式要统•。在此基础上,在嵌入式系统C 语言开发的过程中,
就能够充分利用不同层次架构的优势,使得操作人员能够在不同的
文件夹中同时完成不同种类的工作。
3.1.2模块管理
为了实现嵌入式系统软件模块的高内聚性功能,本研究尽量避
免使用全局变量来完成对系统模块的管理,而是利用函数参数来实 现信息的交互与处理。相同种类的系统任务尽量储存于同一文件夹 内。上一层次架构在开发时能够调用下一层次架构,但要注意下层 次架构尽可能避免交叉和越级调用。3. 2循环设计在任务循环设计时,尽量让循环变量接近于零,以此来减少因 循环终止而造成的不必要嵌入式系统开销。一般情况下,for ()循 环的格式应表示为如下形式:
for (x =0,x < 10,x ++) {…}这一过程中,x 从0增加到9。若将上述代码改写为如下形式, 则x 从9减少到0,循环执行速度将会大大提高。
for (x = 10,x ™) {…}3. 3函数表达设计
24
电子技术与软件工程
Electronic Technology & Software Engineering
软件开发与应用
Software Development And Application
表1:
方法的编程过程耗时统计结果
实验次数/次
本文方法
编程过程耗时/S 文献141方法
文献|5j 方法
100 6.508.509.40200 6.308.409.20300 6.108.1010.00400 5.908.909.70500
6.708.70
8.80
表2:不同方法的软件空间资源占用率对比结果
实验次数/次
本文方法
软件空间资源占用率/%
文献141方法 文献|5]方法10018.0
34.033.020017.0
33.030.030016.030.031,040018.031.0
31.0500
18.0
32.035.0表3: +同方法的运行准确率对比结果
实验次数/次
c语言编程软件是系统软件吗
本文方法运行准确率/% 文献141方法
文献15]方法
100
96.083.082.020098.082.079.030097.085.080.040098.080.080.0500
95.083.0
84.0
c 语言编程中包拈很多含有参数和函数的表达式,W 此,设计 函数表达并研究函数的变化至关重要。本研究对m ain 函数实施编 辑处理,将其中的参数利用agent 来表示,在这一过程中,需通过 分析来获得m ain 函数相关的即时数组信息。
嵌入式系统软件模块的函数变化会对函数的配置启动产生直接 影响,因此,本研究首先对m ain 函数实施归零处理,从而使C 语 言编程程序进入高效运行状态,且m ain 函数可以对嵌入式系统模 式实施智能调控,通过交叉比对结果删除无用数据,避免C 语言程 序混乱,然后重新定义新的m ain 函数表达式,以此来保障函数间 的有效串接,从而使嵌入式系统编程程序更好地适应不同的语言环 境。
4仿真实验与结果分析
为验证上述研究的嵌入式系统中C 语言编程软件设计方法的可 行性与W 效性,设计如下实验加以证明。实验在MATLAB 仿真平 台上完成。为有效避免实验结果过于单一、提高其说明性,将文献[41 中的基于ZYNQ -7000的远距无线时间同步系统的C 语言编程软件 设计方法和文献151中的基于C 语言技术的计算机软件编程设计方 法作为对照,与本文方法共同完成性能对比验证。对比指标如下:
(1) 编程过程耗时。该指标可直接反映不同方法的编程效率。 编程过程耗时越短,说明编程效率越高。
(2) 软件空间资源占用率。该指标可直接反映+同方法的空 间资源占用差异。
(3) 运行准确率。该指标可体现不N 方法编程结果的可靠性。 运行准确率越高,说明方法编程结果的可靠性越高。
在实验次数不断增加的情况下,统计不同方法的编程过程耗时,
结果如表1所示。
分析表1可知,文献141方法的编程过程耗时在8.10s -8.90s 之间, 文献m 方法的编程过程耗时在8.80s 〜10.00s 之间,而木文方法的 最大编程过程耗时仅为6.60s ,明显少T 两种传统方法。根据上述
结果可知,应用本文方法能够使得编程过程耗时大大缩短。
在此基础上,为进一步验证嵌入式系统中C 语言编程软件设计 方法的可行性与有效性,测试不同方法的软件空间资源占用率,对 比结果如表2所示。
分析表2中的实验数据可知,由于3种方法采用的编程处理 方式不同,随着试验次数的增加,其软件空间资源占用率也会随 之发生变化。2种传统方法的软件空间资源占用率均在30.0%以 上。而本文方法的软件空间资源占用率最低为16.0%,最高也仅为 18.0%,说明本文方法占用的软件空间资源量最少。
最后,在实验次数不断增加的情况下,统计不同方法的运行准 确率,结果如表3所不。
分析表3中的实验数据可知,由于3种方法采用的编程处理方 式不同,随着试验次数的增加,其运行准确率也会不断变化。2种 传统方法的软件空间资源占用率均在85.0%以下。而本文方法的软 件空间资源占用率最低为95.0%,最高也仅为98.0%,说明本文方 法编程结果的可靠性更高。
综上所述可知,本文提出的嵌入式系统中C 语言编程软件设计 方法具有编程过程耗时少、软件空间资源占用率低、运行准确率高 的应用优势。5结束语
本研究提出了一种嵌入式系统中C 语言编程软件设计方法,并 通过仿真实验,证明了该方法具有编程过程耗时少、软件空间资源 占用率低、运行准确率高的应用优势,可有效为嵌入式系统的发展 提供技术
支持。
参考文献[1] 陈韬,王明明.面向多线程程序的内存安全运行时验证[J ].
计算技术与自动化,2019, 38 (02): 107-112.
[2] 朱怡迪.C 语言嵌入式系统编程软件设计架构研究[J ].电脑编
程技巧与维护,2018, 000 (009): 34-36.
[3] 茅胜荣,肖家文,乔东海.嵌入式C 语言中的面向对象与多线
程编程[J ].单片机与嵌入式系统应用,2017, 017 (05):22-26.[4] 胡庆,罗孝杰.基于Z Y N Q -7000的远距无线时间同步系统的 软件设计与实现[J ].成都大学学报(自然科学版),2019,
038 (04): 297-400.
[5] 胡其荣.基于C 语言技术的计算机软件编程发展探究[门.电 脑编程技巧与维护,2020, 425 (11): 39-40+57.[6] 胡杨建.关于C 语言程序开发与维护研究[J ].数字化用
户,2019, 000 (011):265-265.
[7] 刘琨,刘卓,魏娜娣等.试析根据软件应用领域选用计算机语 言[J ].电脑编程技巧与维护,2018, 000(009): 54-58.[8] 徐玉莲.基于嵌入式系统的C 语言编程软件设计研究[J ].微
型电脑应用,2019, 035 (010): 113-114, 131.
[9] 唐思超.RISC -V 处理器的C 语言启动代码设计方法[J ].单片
机与嵌入式系统应用,
2020, 020 (04): 14-17.[10] 王照.C 语言在单片机程序设计中的应用[J ].电脑编程技巧 与维护,
2020, 423 (09): 36-37+70.[11] 杨成,初蕊,刘浩平.敏捷实践测试驱动开发在嵌入式C 语 言中的应用[J ].电脑迷,2018, 000 (031):21,24.[12] 尤嘉洵,徐兆楠,卜志鹏等.C 语言编程界面化软件的设计[J ].
电脑编程技巧与维护,2019, 000 (002): 20-22, 25.
作者简介刘林芳( 1983-),女,湖南省长沙市人。大学本科学历,现长沙 华中涉外职业高中讲师。研究方向为软件与信息。
25
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论