咨询热线

0371-86158370

嵌入式软件开发的十大技巧(一)

如果您正在寻找相关产品或有其他疑问,可随时拨打服务热线,或点击下方按钮与我们在线交流!

2024-03-18 14:25:54 发布者:超级管理员

技巧 1:流程图第一,实现第二

当工程师首次迈入软件开发领域时,会有一种强烈的诱惑力促使他们立刻投入工作并开始写代码。这种做法就好比在电路逻辑图还未完成前就试图设计印刷电路板(PCB)。

在着手开发软件时,抑制一上来就想写代码的冲动至关重要,应首先用流程图制定一个软件架构图。

这样的方法会使开发人员对应用所需的不同部分与组件形成一个概念,就像电路逻辑图可以告诉工程师需要哪些硬件元件一样。

这样可确保程序整体建立在良好的组织和深思熟虑之上,减少程序调试时间,从长期看,这样做还可以节省时间、省去麻烦。 

技巧 2:使用状态机控制程序流程

状态机是20世纪最伟大的软件发明之一。

一个应用程序往往可被分为多个状态机,每个状态机都控制该应用程序的特定部分。

这些状态机都拥有自己的内部状态和状态转换,从中可看出软件如何与各种激励相互作用。

用状态机来设计软件,可简化软件的开发,使之模块化、可维护,并易于理解。现在已经有多种资源来演示状态机理论和算法。 

技巧 3:避免使用全局变量

在函数式编程的年代,函数要先于形式,程序员的唯一目标是尽可能地让程序按预期方式快速运行,而不用考虑程序结构或可重用性。

这种编程范式会毫无顾虑地使用全局性变量,程序中的任何函数都可能修改它。其结果就造成了变量被破坏的几率增加或变量被误用。

在新推荐的面向对象的范式中,应在最小的范围内定义变量并封装它们,以防止其他函数的误用或破坏。

因此,建议限制使用全局变量的数量。在C语言中可用外部关键字标识这些变量。 

技巧 4:充分利用模块化特性

无论问哪一名工程师,项目的哪部分最有可能延迟交付并超出预算,答案都是软件。

软件往往是复杂的,且难以开发和维护,尤其是当整个应用都存在于单个文件或松散关联的多个文件中时。

为了改善可维护性、可重用性及复杂性,强烈建议程序员充分利用现代编程语言的模块化特性,将常用功能分解成模块。

以这样的方式分解代码,程序员就能着手建立函数与特性库,然后在一个接一个的应用中重用它们,从而通过连续测试而改善代码质量,同时也减少了开发时间,降低了开发成本。 

技巧 5:保持中断服务例程的简单性

中断服务例程用来中断处理器对当前代码的执行,而去处理刚刚触发中断的外围设备。

无论何时执行中断,都需要一定的开销,用于保存当前程序的状态并运行中断,然后将处理器回归原程序状态。

现代处理器要比多年前的处理器快得多,但仍需要考虑此花销。一般情况下,程序员都想把中断运行时间降至最低,以避免干扰主代码。

这意味着中断应该短而简单,中断中不应调用函数。

此外,如果中断变得过于复杂或耗时,那么就应该只在必要时利用中断做最少量的工作,

例如,将数据载入缓冲区并设置一个标志,然后让主代码处理输入的数据。这样做可保证大多数处理器的时间用于运行应用,而不是处理中断。

相关产品
更多推荐
科技·质量·服务·创新

科技·质量·服务·创新

提交需求

如果您对我们的产品感兴趣,或者我们有什么可以帮助到您的,您可以随时在线与我们沟通。 当然您也可以在下面给我们留言,我们将热忱为您服务!

快速响应给予技术咨询答复

专业优质软件服务

成熟领先产品解决方案

专业可靠合作伙伴

免费咨询 0371-86158370
免费获取报价

获取报价

销售热线销售热线:0371-86158370

返回顶部

首页 在线咨询在线咨询 一键拨打一键拨打
南京客控系统 | 郑州科技有限 | 储能散热器 |