我在搞嵌入式 我有罪
做嵌入式也有几年了 刚学习的时候书上说嵌入式的定义是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
当初还不以为然 现在回头想想自己的工作 觉得嵌入式的核心思想还真就是这个“软硬件可剪裁”
说嵌入式研发不如说是嵌入式定制 现在我所谓的开发就是把几个功能模块组合起来形成一个产品。这个产品的大脑是控制器 思想就是我们写的代码。正是他的软硬件可剪裁才使我们能快速开发出自己需要的产品。
那么嵌入式开发是什么?
硬件拼凑?软件拼凑?
嵌入式的优势就在于你可以很快的拼凑/剪裁出自己的产品 甚至买个开发板设计几个功能电路(也许是模拟或高频) 然后直接搭一搭就成了产品的雏形。
然后经过一系列复杂的的系统设计 定制 优化 测试 包装 加上公司的文化 就成了产品。
可是这就是嵌入式产品设计吗?
难道嵌入式人开发者就是积累硬件设计经验 积累软件开发经验 然后根据需要拼凑出一个产品吗?
从最早的51 到PIC AVR C8051F 到ARM7 9 11 到cortex-M3 A8 控制器的性能,资源和功能不断的在提升
但是开发模式基本是类似的 拼凑!!
把几个功能模块拼在一起 画个电路板 套个外壳 测试几下就是产品了吗?
不能再拼凑了!
我们怎么才能设计出更好的嵌入式产品?
怎么才能设计出让自己都赞叹的嵌入式产品?
开发者应该又怎样的思维模式和设计思想?
我现在就不喜欢自己做出来的东西,感觉他们没有灵魂,只是一堆电子元器件推起来的一个物件,里面跑着没有味道的代码。我承认,我设计的是一堆垃圾,我有罪,我浪费了时间和资源却做出来生硬的东西,真想把自己以前做出来的东西一个个全部砸掉!
我不知道经验老道的嵌入式开发者是怎么看待自己开发出来的东西的。
我想的是 无论做什么 既然做了就应该把它做好,设计出来的东西不应该只是为了实现功能,满足客户需求,满足公司需求那么简单,而应该是一款自己喜爱的艺术品。这点似乎可以向苹果学习下。
看到网络上有些做嵌入式的
一会说你还在用AVR吗这几年学cortex-m系列现在火的很赶紧学啊,
过了一段时间说A8才是大趋势ARM11过时了!!
竟然没上linux?你那叫嵌入式吗?
确实我也想学A8和linux,我也佩服那样的精力。无奈自己天资愚钝做什么事情都比较慢所以没精力再去学这些对我来说高深的东西,但是回头一想一直学新奇的东西这个方向对吗?这是个值得考虑的问题。
新的技术和产品层出不穷,它们也许有更高的性能,更快的速度,更便捷的开发方式和周期。
所以新的东西还是要学的,但是不能为了学技术而学技术,技术是为了满足需求。最好的不一定是最合适的。
最近对自己的工作也思考了很多,无论是嵌入式硬件还是软件,设计出来后就是一个产品。很多时候自己都是站在技术的角度看问题,而忽略了产品的整体的特性。
我想设计的是令人满意的产品,而不是破烂或开发板。我想这也是市场所需要的东西。
从今天起,告诉自己,从以下方面要求自己
1,统一设计风格,严格要求设计工艺。
2,系统性的设计
3,考虑功能性,稳定性,可靠性,可扩展性。
4,更专业,更实用,更节能。
5,认真走好研发流程的每一步。无论是一个接头的选型还是网络化的架构。
其他方面可参考:
工业产品设计十原则:
博朗的设计理念源于1955年,经过几十年的发展完善,这一特点鲜明、注重功能的设计风格被设计大师迪特·拉姆斯(DieterRams)概括总结为产品设计的十原则:
1、出色的设计是需要创新的。它既不重复大家熟悉的形式,但也不会为了新奇而刻意出新。
2、出色的设计创造有价值的产品。因此,设计的第一要务是让产品尽可能地实用。不论是产品的主要功能和辅助功能,都有一个特定及明确的用途。
3、出色的设计是具有美学价值的。产品的美感以及它营造的魅力体验是产品实用性不可分割的一部分。我们每天使用的产品都会影响着我们的个人环境,也关乎我们的幸福。
4、出色的设计让产品简单明了,让产品的功能一目了然。如果能让产品不言自明、一望而知,那就是优秀的设计作品。
5、出色的设计不是触目、突兀和炫耀的。产品不是装饰物,也不是艺术品。产品的设计应该是自然的、内敛的、为使用者提供自我表达的空间。
6、出色的设计是历久弥新的。设计不需要稍纵即逝的时髦。在人们习惯于喜新厌旧、习惯于抛弃的今天,优秀的设计要能在众多产品中脱颖而出,让人珍视。
7、出色的设计贯穿每个细节。决不心存侥幸、留下任何漏洞。设计过程中的精益求精体现了对使用者的尊重。
8、出色的设计应该兼顾环保,致力于维持稳定的环境,合理利用原材料。当然,设计不应仅仅局限于防止对环境的污染和破坏,也应注意不让人们的视觉产生任何不协调的感觉。
9、出色的设计越简单越好。
10、设计应当只专注于产品的关键部分,而不应使产品看起来纷乱无章。简单而纯粹的设计才是最优秀的!
最后,告诉自己我搞的是嵌入式,但我不能再制造垃圾了。
来自面包板社区的网友“dalin”评论:
第一:拼凑,从硬件的角度来看,的确是拼凑,看过很多产品,拆开后是个某芯片的核心板加拓展板。
从软件的角度讲,的确是一个一个拼接起来的代码。
BUT,从产品硬件的角度来看,现在的产品开始要求产品的美观度,体积(我大概指一些民用的),这就导致了不可能再用核心板拼接的方式来做的,这要配合外观模型去重新制作PCB,即使功能再简单,这也是一个定制的过程。
软件方面,使用成熟的代码段是各大XXX所推荐的,不是说我搞个嵌入式,我还要先自己写个linux。所以不要把锅甩给嵌入式。
然后你说的统一设计风格,严格要求设计工艺。
2,系统性的设计
3,考虑功能性,稳定性,可靠性,可扩展性。
4,更专业,更实用,更节能。
5,认真走好研发流程的每一步。无论是一个接头的选型还是网络化的架构。
这个和你说的拼接没有一毛钱冲突。你所说的这些要求,全都是拼接程序的优点。成熟的模块本来就具有稳定性、可靠性和可拓展性,还更专业实用。
看完本文有收获?请分享给更多人
关注「电子工程专辑」,做优秀工程师!
回复关键词有干货:电路设计丨电容丨三极管丨PCB丨接地‧‧‧‧‧‧
长按二维码识别关注
阅读原文可一键关注+历史信息