loading请求处理中...

介绍可靠嵌入式软件开发的三个小技巧

2021-12-01 19:14:31 阅读 9072次 标签: 软件开发 作者: 夏目yx
    近两年,嵌入式成为软件开发的热潮,几乎所有软件开发人员都在学习开发嵌入式,但可靠的嵌入式程序可不是随便就能开发出来的。在开发嵌入式软件的过程中,必须要讲究技巧,关注细节,才能让系统流畅、方便、高效。硬件发生障碍了怎么办?应用程序崩溃了怎么办?这些问题都要提前预想到。今天我们就来介绍一些可靠嵌入式软件开发的小技巧,希望可以帮助到您。
介绍可靠嵌入式软件开发的三个小技巧
    一、用已知值填充ROM

    软件开发人员往往都是非常乐观的一群人,只要让他们的代码忠实地长时间地运行就可以了,仅此而已。微控制器跳出应用程序空间并在非预想的代码空间中执行这种情况似乎是相当少有的。

    然而,这种情况发生的机会并不比缓存溢出或错误指针失去引用少。它确实会发生,发生这种情况后的系统行为将是不确定的,因为默认情况下内存空间都是0xFF,或者由于内存区通常没有写过,其中的值可能只有上帝才知道。

    不过有相当完备的linker或IDE技巧可以用来帮助识别这样的事件并从中恢复系统。技巧就是使用FILL命令对未用ROM填充已知的位模式。要填充未使用的内存,有很多不同的可能组合可以使用,但如果是想建立更加可靠的系统,最明显的选择是在这些位置放置ISR fault handler。

    如果系统出了某些差错,处理器开始执行程序空间以外的代码,就会触发ISR,并在决定校正行动之前提供储存处理器、寄存器和系统状态的机会。

    二、检查应用程序的CRC

    对嵌入式工程师来说一个很大的好处是,我们的IDE和工具链可以自动产生应用程序或内存空间校验和(Checksum),从而根据这个校验和验证应用程序是否完好。有趣的是,在许多这些案例中,只有在将程序代码加载到设备时,才会用到校验和。

    然而,如果CRC或校验和保持在内存中,那么验证应用程序在启动时(或甚至对长时间运行的系统定期验证)是否仍然完好是确保意外之事不会发生的极好途径。现在一个编程过的应用程序发生改变的概率是很小的,但考虑每年交付的数十亿个微控制器以及可能恶劣的工作环境,应用程序崩溃的机会并不是零。

    更有可能的是,系统中的一个缺陷可能导致某一扇区发生闪存写入或闪存擦除,从而破坏应用程序的完整性,可靠的嵌入式软件开发可以说只是一个梦想了。

    三、在启动时执行RAM检查

    为了建立一个更加可靠和扎实的系统,确保系统硬件正常工作非常重要,毕竟硬件会发生故障。在启动时验证RAM的内部或外部没有问题,是确保硬件可以如预期般运作的一个好方法。

    有许多不同的方法可用于执行RAM检查,但常用的方法是写入一个已知的模式,然后等上一小段时间再回读。结果应该是所读就是所写。真相是,在大多数情况下RAM检查是通过的,这也是我们想要的结果。但也有极小的可能性检查不通过,这时就为系统标示出硬件问题提供了极好的机会。

    上文介绍了开发出可靠的嵌入式软件的三个小技巧,每个技巧都很有针对性,考虑的也很全面。要想做软件开发人员,强大的分析能力和预见能力是必须的,这样才能开发出更可靠的系统。嵌入式软件开发最好请专业的人士,一品威客网上有许多专业的软件开发人员,如果您有需要,可以注册一品威客账号发布任务需求。

嵌入式软件公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

留言( 展开评论

快速发任务

价格是多少?怎样找到合适的人才?

官方顾问免费为您解答

 
嵌入式软件相关任务
DESIGN TASK 更多
归寝签到软件开发

¥5000 已有1人投标

工业软件开发

¥50000 已有0人投标

快递发货终端软件开发

¥3000 已有1人投标

软件开发UI设计

¥3000 已有0人投标

应急系统管理软件开发

¥100000 已有3人投标

小游戏开发类的软件开发

¥20000 已有4人投标

电商软件开发

¥50000 已有18人投标