嵌入式系统软件和硬件的看法都是错误的?
创始人
2026-01-01 18:09:21
0次

嵌入式软件自学_嵌入式软件怎么学_嵌入式系统软件教程

【文本】

当有人问“什么是嵌入式系统”时,没有必要看我的文章。 有一句狡猾的说法,找不出任何错误——借用知乎上的一个著名问答,“如何快速假装/成为某个领域的专家”——你可以假装认真地说:

“嵌入式系统首先是计算机系统”,那么谈谈你对软件和硬件的看法...

为了让大家有机会在一个几乎没有人才的行业里展示自己的才华,我将教大家一个关于嵌入式系统软件和硬件的特殊观点,绝对可以让所有师姐、师弟甚至同行借鉴。 “一脸钦佩。” 当然,首先你得真正理解这句话。

为了吸引更多人的关注,让话题更有影响力,你应该非常坚定、神秘、愤慨地声明一个观点:

“你知道吗,嵌入式系统中几乎每个人对软件和硬件的认识都是错误的……我们都被教科书愚弄了!”

1.传统计算机系统中的“软件/硬件”概念

通常,当我们提到计算机硬件时,首先想到的就是PC主机。 当然,这个时候你要特别小心,因为你这个时候给出的例子很可能会暴露你的年龄或者天赋。 例如,以台式电脑还是笔记本电脑为例,会明显暴露你的年龄;以Windows笔记本电脑或Mac为例,会暴露你的实力。 当我们提到软件时,我们想到的几乎都是Windows上运行的各种软件。 当然,如果能以APP尤其是iOS APP为例,显然是非常值得尊敬的。

是的,如果你细心的话,你会发现传统的软件和硬件概念都是直接源自通用计算机的。 正如我们将在后面的讨论中看到的,通用计算机带来的这种心态是非常可怕的。

2.嵌入式系统中“软件/硬件”的概念

嵌入式系统中的软件和硬件并不像你想象的那么简单。 这其实很容易理解。 你可以在大学校园里拦住几个学生,要求我们进行采访,问他们的软件和硬件是什么:

屌丝A(计算机学院):你有病吗?硬件就是你的电脑主机、主板、CPU、内存硬盘、显卡等; 软件是Windows程序。

屌丝B(信息学院):硬件就是单片机,比如51、AVR、STM32等。对了,开发板也算吧?软件就是Firmware。 以前用汇编开发,现在用C。

屌丝C(信息学院):羊毛! 我还可以使用VHDL和Verilog来编写内核。 你能告诉我用VHDL和Verilog写的东西算不算软件吗? FPGA是硬件吗?

屌丝B:呃……我们该怎么办?

屌丝D(计算机学院):别忘了,开发板上运行的虚拟机也是硬件嵌入式系统软件教程,虚拟机上用Java编写的程序也是软件。

您可能已经注意到,在嵌入式系统中,软件和硬件并不是非常可靠的定义——当人们用普通话使用相同的声音并说相同的单词时,他们可能根本描述的不是同一件事。 那么,嵌入式系统中的软件和硬件应该如何理解呢?

选项1.要么,你可以假装你从未读过这篇文章,只与与你使用相同系统的人讨论问题,或者你可以“根据上下文”自动切换软件和硬件的含义。

方案2。或者,我们可以重新定义软件和硬件的概念,只要这个概念与原来的理解兼容即可。

真的有一个与旧概念兼容的新定义吗? 答案是肯定的。 我们先来看看不同层面的软件有什么共同点:每个人都用一种语言(Java、C、VHDL,甚至是原理图)来描述自己大脑中的逻辑(思维)。 让我们体验一下这个功能。 有这样的功能吗? 因此,我们郑重地重新定义软件:

软件:人们用某种语言来“尝试”自己已经固化的思维

相比之下,硬件的概念可以修改为:

硬件:固化的逻辑,能够稳定地提供一定的服务和功能

可见,软件的本质是思维,也就是设计者的思维。 因此,对于程序员来说最重要的是根据任务的需要弄清楚所有的逻辑,并使用某种语言作为工具来“固化”自己的思维。 这个思考过程称为“设计”,这个固化过程称为“编码”。 简单来说,写代码只是一个思维翻译的过程。 更重要的是嵌入式系统软件教程,写程序的人首先要思路清晰,思维清晰,然后使用准确的语言表达能力(不幸的是,很多人的语言表达能力非常有限)——也就是说,如果你不能写出你想用C语言实现的功能,就可以写出正确的代码。

思维设计的辅助工具有很多,比如大家熟知的流程图(Flow Chart)、UML图,以及较少使用的数据流图(Data Flow Chart)等,但具体的代码往往并不是很好的辅助工具。 进行思维设计的开发人员称为程序员。

将程序员的设计文档(各种图表)翻译成具体程序代码的人称为Coder。

残酷地说:程序员负责设计,负责思考; Coder翻译,辛苦了。 如果你不服气,我也没办法,哈哈哈哈……

硬件本质上是一个固化的逻辑。 这个逻辑的前身当然是思维,但它已经固化,可以“稳定”、可靠地提供“确定”的功能和服务。 例如,先进先出(FIFO)就是一个队列。 在一些软件系统中,这种逻辑确定的模块被称为“组件”,一种中性的描述,不强调它是软件还是硬件。 因为组件的本质是模块,是能够提供大家都知道的“某些”功能的模块。 它可以是硬件或软件。 谁在乎? 有些系统还会提供硬件抽象层,以进一步模糊此类模块的软硬属性——反正你就知道它是做什么的。 反正很靠谱,可以重复使用,就用吧。 不管是软的还是硬的,反正API都是一样的。

当我们想要凸显一个模块的逻辑性、确定性、稳定性,但又不能、不需要或者不关心它的软硬属性时,我们就干脆称它为组件。

重新定义软件和硬件的概念并不是文字游戏,而是业界心里按照惯例默默做的事情。 然而,今天显然已经被打破了。 虽然你感觉自己的三观发生了变化(也许还没有),但仔细想想,其实和你过去的理解并没有什么本质的区别?

是不是? 其实你已经明白了,对吧? 哈哈哈哈——我不是在重新发明软件或硬件,我只是一个诚实的搬运工。

(待续...)

如果你喜欢我的思考,欢迎订阅裸金属思考

相关内容

热门资讯

大浪淘金APP黑幕揭秘:内盘操...   大浪淘金APP平台最隐蔽的黑幕,在于其完全封闭的内盘交易系统。这个看似与国际市场接轨的交易平台,...
告别固定工资实现财富自由?一品...   普通投资者被广告宣传诱导,注册就送现金,充值返现金券等等这些宣传方式,都是在引流到平台开户,不怕...
哈易购APP打着现货交易幌子搞...   网络上各类白银、铂金等贵金属投资广告铺天盖地,不少平台以"现货交易"为名,暗中却从事着非法期货交...
5元起投!高额收益?中国白银、...   上海华通白银国际交易中心有限公司(以下简称“华通白银国际”)打着“白银、铂金现货订购”的旗号,实...
"九州订购APP、起...   近年来,贵金属投资热度持续攀升,但乱象也随之而来。一些不法分子趁机搭建虚假交易平台,打着"低门槛...
坚锅淘金APP投资者频繁爆仓亏...   坚锅淘金APP对外宣称是贵金属现货交易平台,日常出入金看似畅通无阻,给人一种合规运营的假象。但事...
斗金订购APP“5元订购现货”...   斗金订购APP“5元订购现货”骗局揭秘:充值易、回本难,越陷越深!  许多投资人在未核实平台合规...
贵金属APP乱象曝光:&quo...   当前市场上部分贵金属类APP未取得正规交易资质,涉嫌误导消费者参与白银、铂金等商品的非合规交易!...
华通白银、银宝街APP被指虚假...   警惕现货白银投资陷阱:上海华通白银背后的平台涉嫌非法期货交易  近年来,各类现货白银交易平台以“...
充值送300,月入过万?别被量...   如今,网络上充斥着大量未经批准的贵金属及其他产品订购交易平台。这些平台普遍缺乏合法经营资质,却将...
鑫汇智投APP贵金属非法期货、...   鑫汇智投APP贵金属非法期货、人为控盘,大量投资者遭恶意收割  鑫汇智投APP长期以“低门槛、高...
矅光智策APP非法贵金属交易骗...   不少投资人在矅光智策APP上进行贵金属交易后出现了严重亏损。许多人在下载该平台时,根本不清楚其是...
飞鸽订购APP非法期货交易骗局...   飞鸽订购APP非法期货交易骗局,很多投资者根本没搞懂规则就盲目充值,买涨买跌跟买cai票一样!平...
天龙白银APP被操控的非法期货...   中小投资者在网络平台参与商品现货订购交易,表面看似合规合法,实则暗藏诸多难以察觉的风险。商品现货...
下载送试玩金?千万别碰!带你揭...   当前,许多贵金属APP交易平台正采用欺诈性营销手段。它们通过抖音等短视频平台,以“5元起投”“充...
泡泡淘金APP骗局:打着&qu...   泡泡淘金APP骗局:打着"商品订购"幌子,实则非法期货收割投资者!投资需谨慎,切勿轻信“高额回报...
南商云购APP虚假电子盘背后的...   南商云购是虚假电子盘吗?它是否具备合规的交易资质?这个曾经的"现货电子盘"如今摇身一变,披上了"...
警惕"祥龙订购&qu...   祥龙订购APP、掌上银牛APP等平台背后的运营方——四川禄宏商品现货市场有限公司,仅具备现货交易...
中国白银、华银:虚假宣传、后台...   中国白银APP宣称是上市公司“中国白银集团”与“上海华通白银国际交易中心”旗下的现货交易平台,提...
起底“优品订购”APP非法期货...   “优品订购”APP根本不具备任何合法的交易资质。其背后的运营方仅凭随便注册一家公司、开发一款交易...