提起嵌入式大家都并不陌生,可能对于嵌入式软件方面会有些问题,这回小编是来给大家介绍嵌入式软件需不需要设计框架,有想要了解的学员可以一起来看看哦。
一:嵌入式软件需要设计软件框架吗?
1)在接手第一个项目的时候,我认为:简单的单片机程序不需要设计软甲框架,毕竟软件框架的设计需要时间和实践去验证其正确性和稳定性,更何况在生产规模不大和需要变更少的情况下设计软件框架或许会延长了开发时间,造成开发成本的上升。
2)但从2015年年底的时候,因为一个项目亟需修改功能,而在此之前我并没有认真设计软件整体架构,一直都是沿用一个大循环的模式去实现基本功能。最后,修改的时间相当长久,这里有经验不足的问题。随着接下来的项目往复杂、多功能化的变化,我认为我有需要设定一个较稳定的嵌入式软件框架。
3)综上所述,得知即使嵌入式软件代码量少、功能简单都不能缺少软件架构的建立。我们都知道,嵌入式是软件硬件高度结合的产物,它的维护成本甚至高于一般的软件设计。
二:嵌入式软件需要怎么样的软件框架?
嵌入式软件的特定是:
a)嵌入式软件高度依赖于硬件。硬件会在不同方面上对软件设计设定“天生”的限制,而软件对这种类型的限制是不能抗拒的。
b)硬件的变更会对嵌入式软件造成巨大的影响。只有资深软件工程师会对不同的硬件接口等有深入的理解,但事实上并非所有人都具备这样的开发能力,尤其是想博主一样的学生。
c)嵌入式软件整个过程都是在硬件上进行的。除了特殊功能和非功能(即需求之外,包括逻辑等)问题是单纯的软件设计问题,其余都必须要配合到硬件工程师去调试测试。
d)嵌入式软件设计出来的产品往往是需要高度稳定性。因为,产品是用户能够触摸到的,这个用户体验是用户最直接的,我们无可避免去考虑各种各样的特殊要求去适应高度的稳定性。
e)同样是受限于硬件问题,嵌入式软件设计大部分是面向MCU、SOC等,这样就造成了不同的硬件平台对软件设计造成影响,最明显的就是内存问题,堆栈到底够用否?软件设计方案有可能因为硬件平台的不同而发生了不同的改变,比如我之前做一个项目包含了大数据量的传输工作,那我就需要将cpu和内存都留给数据以完成传输工作,这时间内,我若在再去进行同样消耗资源的操作就会使得软件崩溃。
f)嵌入式产品同时还需要实现较多复杂的功能。如今的互联网时代提出了更加高端的设备要求,机器人的机器学习、机器视觉等都需要GPU的进一步升级。而这时候也需要软件的多次升级。
以上介绍的就是嵌入式软件需不需要设计框架了,对于嵌入式的框架设计还是有特定的要求的,如果对嵌入式还有什么疑问都可以来咨询哦。