提升嵌入式软件设计认知瓶颈

2b1764de3c24fe62dca455fdcc1e1992.gif

正文


大家好,我是bug菌~

大家应该都经常听到“什么要提升认知”、“人只能赚到个人认知以内的money”等等。

认知其实就是当你获取、处理和理解信息的心理过程,包括感知、记忆、思考和决策等,其实做技术一样的也有对技术认知。

当面对一个设计、一个bug,会从哪些维度去思考,准备怎样去处理,一些工程师立马就会进去无尽的debug and step,而有些工程师却能不慌不忙的用一些“偏门的”调试技巧和方法就能分析个大概,然后稍加调试就能直击问题的要害,又或者构建的系统中原本就有这种方法,他知道而你却不知道。

那在嵌入式软件开发过程中一般会面临哪些技术方面的认知瓶颈呢?

1、软件系统复杂性管理

系统功能越来越多,软件越来越大,如何有效管理和组织复杂的软件架构成为开发中的一大挑战,如今很多工程师常常只是负责自己那一小部分功能,核心算法功能实现估计都看不到,难以掌控系统的整体结构。

2、实时性

工业嵌入式系统通常需要满足严格的实时性要求,理解和深入不同实时操作系统的不同模式下的调度策略,以及给自己的任务进行最优的优先级管理是一个难点。

3、资源受限

嵌入式设备通常只有有限的计算能力和内存,需要在效率和资源使用之间找到平衡,压榨硬件,节省成本,这对设计和优化提出了较高的要求。

4、硬件平台抽象化(嵌入式的跨平台)这里并不谈linux与windows所谓的应用程序的跨平台,而是不同硬件平台和架构之间的抽象与统一,否则会导致代码重用性低和维护成本高。

5、安全性

随着物联网的发展,嵌入式系统面临着越来越多的安全威胁,如何设计安全可靠的系统仍然是一个重大挑战,还有固件会不会被恶意提取,反编译等问题都是一个成功产品需要考量的。

6、运行稳定与可靠性

24h、72h稳定运行工况,掉电不损坏系统,各异常能够正常捕捉与上报,都成为优秀系统设计中的一大考量点。

7、软件更新与维护

嵌入式设备如果在生产后难以进行远程更新,那肯定是一大设计败笔,如何设计便于后期维护和更新的系统架构是一个挑战。

8、调试

调试工具的熟练度和丰富度,不同的问题和现象采用不一样的调试手段和技巧。

9、测试自动化

尽管测试对确保软件质量至关重要,但许多嵌入式系统尚未完全实现测试自动化,增加了人工测试的负担。

最后

      好了,今天就跟大家分享这么多了,如果你觉得有所收获,一定记得点个~

唯一、永久、免费分享嵌入式技术知识平台~

推荐专辑  点击蓝色字体即可跳转

☞  MCU进阶专辑 e347013c6c2bdda7913f646174f84089.gif

☞  嵌入式C语言进阶专辑 2f3c47cb2a647f77397bdd317642c577.gif

☞  “bug说”专辑 1b8b62828e312518b4ca856664c0c986.gif

☞ 专辑|Linux应用程序编程大全

☞ 专辑|学点网络知识

☞ 专辑|手撕C语言

☞ 专辑|手撕C++语言

☞ 专辑|经验分享

☞ 专辑|电能控制技术

☞ 专辑 | 从单片机到Linux

b990b4136accc1a1c1bdc754a1ba7a8a.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值